glTexImage2D: 错误前:( 0x506 内部 0x1908 格式 0x1908 类型 0x1401
glTexImage2D: got err pre :( 0x506 internal 0x1908 format 0x1908 type 0x1401
当 运行 我的模拟器使用 Android Studio 时,我在模拟器屏幕上看不到任何东西(一切都是黑色的)。我收到以下事件日志:
Emulator:glTexImage2D: got err pre :( 0x506 internal 0x1908 format 0x1908 type 0x1401
我已经尝试清理项目并重建它,但没有任何反应。我认为这只是与模拟器有关。
有人知道这是怎么回事吗?
是的,都是关于模拟器的。
转到工具 > AVD 管理器 >(编辑特定虚拟设备)> Select 冷启动
然后 运行 再次使用该 AVD 进行您的项目。关闭会话并在启动选项中重新设置快速启动。
由于@SirQuickWay 的解决方案对我不起作用,我不得不更改 OpenGL ES 渲染器 和 OpenGL ES API 级别 在模拟器设置中分别为 SwiftShader 和 Renderer Maximum。您可以在此处找到这些设置:
模拟器栏 > ... > 设置 > 高级(选项卡),如下所示:
Android Emulator OpenGL settings
编辑:
应用设置后需要重启模拟器。
我的模拟器运行良好,然后崩溃并出现黑屏。之后它总是以黑屏开始。所以我转到工具 > AVD 管理器 > 虚拟设备配置并单击最后一个工作设备的向下箭头,对设备进行了 "duplicate" 并删除了原始设备。新的 "duplicate" 模拟器工作了。
我遇到了同样的问题。即使我在虚拟设备配置中没有启动选项选项。
我的 AVD 是带有 Android v26 的 Nexus 5X。然后我尝试将版本升级到 28(最新)但同样的错误。然后我删除了那个 AVD 并使用 Nexus 5 皮肤和 Android v28 创建了新的 AVD 并且它起作用了。
我的解决方案是更改 模拟器栏 > 设置 > 高级 > OpenGL ES 渲染
将其更改为 SwiftShader 然后在相同的 Window 中将 OpenGL API Level 更改为 Renderer Maximum 然后复制模拟器并再次启动它。
在我的例子中,事实证明错误是由于我尝试在 API 28 上运行的模拟器而应用程序的 compileSdkVersion 是 27。更改 API模拟器解决了。
- 启动 AVD 管理器
- 单击 编辑 图标(铅笔)
你的设备。这是在 Actions 列
- 单击 更改
API 和 select 与您的 compileSdkVersion 匹配的那个。如果您还没有它,它将下载。
- 重启你的模拟器,然后
享受!
从 Visual Studio / Xamarin 的角度来看同样的问题:
- 单击 Visual Studio 中的
Open Android Device Manager
按钮。
- Select 导致问题的模拟器并确保它已停止。
- 单击顶部的“编辑”按钮更改选项。
- 将
hw.gpu_mode
更改为 swiftshader
(下拉列表中的选项之一)
在我的机器上,它被设置为 guest
,旁边有一个警告三角形:
当 运行 我的模拟器使用 Android Studio 时,我在模拟器屏幕上看不到任何东西(一切都是黑色的)。我收到以下事件日志:
Emulator:glTexImage2D: got err pre :( 0x506 internal 0x1908 format 0x1908 type 0x1401
我已经尝试清理项目并重建它,但没有任何反应。我认为这只是与模拟器有关。
有人知道这是怎么回事吗?
是的,都是关于模拟器的。
转到工具 > AVD 管理器 >(编辑特定虚拟设备)> Select 冷启动
然后 运行 再次使用该 AVD 进行您的项目。关闭会话并在启动选项中重新设置快速启动。
由于@SirQuickWay 的解决方案对我不起作用,我不得不更改 OpenGL ES 渲染器 和 OpenGL ES API 级别 在模拟器设置中分别为 SwiftShader 和 Renderer Maximum。您可以在此处找到这些设置:
模拟器栏 > ... > 设置 > 高级(选项卡),如下所示: Android Emulator OpenGL settings
编辑: 应用设置后需要重启模拟器。
我的模拟器运行良好,然后崩溃并出现黑屏。之后它总是以黑屏开始。所以我转到工具 > AVD 管理器 > 虚拟设备配置并单击最后一个工作设备的向下箭头,对设备进行了 "duplicate" 并删除了原始设备。新的 "duplicate" 模拟器工作了。
我遇到了同样的问题。即使我在虚拟设备配置中没有启动选项选项。
我的 AVD 是带有 Android v26 的 Nexus 5X。然后我尝试将版本升级到 28(最新)但同样的错误。然后我删除了那个 AVD 并使用 Nexus 5 皮肤和 Android v28 创建了新的 AVD 并且它起作用了。
我的解决方案是更改 模拟器栏 > 设置 > 高级 > OpenGL ES 渲染 将其更改为 SwiftShader 然后在相同的 Window 中将 OpenGL API Level 更改为 Renderer Maximum 然后复制模拟器并再次启动它。
在我的例子中,事实证明错误是由于我尝试在 API 28 上运行的模拟器而应用程序的 compileSdkVersion 是 27。更改 API模拟器解决了。
- 启动 AVD 管理器
- 单击 编辑 图标(铅笔) 你的设备。这是在 Actions 列
- 单击 更改 API 和 select 与您的 compileSdkVersion 匹配的那个。如果您还没有它,它将下载。
- 重启你的模拟器,然后 享受!
从 Visual Studio / Xamarin 的角度来看同样的问题:
- 单击 Visual Studio 中的
Open Android Device Manager
按钮。 - Select 导致问题的模拟器并确保它已停止。
- 单击顶部的“编辑”按钮更改选项。
- 将
hw.gpu_mode
更改为swiftshader
(下拉列表中的选项之一)
在我的机器上,它被设置为 guest
,旁边有一个警告三角形: