自从我将 Android Studio 安装升级到 Bumblebee 后,模拟器就变得无法使用。它要么在启动过程中崩溃,要么卡住,导致 UI 无响应,并且调试器无法安装或无法启动应用程序。它失败的方式有时会有所不同,没有我无法理解的原因。尽管不同的虚拟设备似乎表现不同。我尝试删除旧的虚拟设备并创建新的虚拟设备,但这没有帮助。
由于不同的问题,我无法在真实手机上调试我的代码,请参阅我最近的回答源代码与 Android 的 View.java 的字节码不匹配 https://stackoverflow.com/questions/63556563/source-code-does-not-match-the-bytecode-for-androids-view-java/71334049#71334049.
当它崩溃时,我向谷歌发送了一份崩溃报告,但他们似乎没有修复它。问题始于第一个官方 Bumblebee 版本 2021.1.1,该版本似乎有一个完整的新版本模拟器,而我现在使用的是最新的稳定版本 2021.1.1 Patch 2。
我的环境是 Dell Precision M4800,配备 16GB RAM 和 8 核 Intel 处理器,使用外部 4K 显示器和外部全尺寸键盘,运行 Linux openSUSE Leap 15.3,并安装了所有推荐的补丁。
除了扔掉我的整个 Android Studio 安装并恢复到 Arctic Fox 之外,有人有什么建议吗?还有其他人看到过类似的问题吗?
丁丁的回答对我不起作用:设备框架无论如何都没有启用,因为我注意到它之前已经引起了问题。
然而,令人惊讶的是,至少对我来说,以下序列确实解决了问题。
-
首先确保工具栏在模拟器窗口顶部可见:如果不可见,请单击模拟器窗口右上角的齿轮设置图标并启用“显示工具栏”。
-
启动模拟的虚拟设备,然后在它崩溃之前单击工具栏右侧的三个点:这将打开扩展控件窗口。
-
从扩展控件列表左侧的列表中选择“设置”。
-
将 OpenGL ES 渲染器设置为桌面本机 OpenGL,并将 OpenGL ES API 设置为兼容性 (OpenGL ES 1.1/2.0)。
-
关闭扩展控件窗口,然后关闭 Android 模拟器窗口。
-
检查是否有任何僵尸模拟器或 qemu 进程仍在运行。如果有,杀死它们:在 Linux 上你需要kill -9。
-
尝试冷启动模拟的虚拟设备:它可能会在正确启动之前崩溃。
-
关闭 Android 模拟器窗口并重复步骤 6
-
尝试再次冷启动模拟的虚拟设备,但在崩溃之前快速单击三个点。
-
当扩展控件列表出现时,从左侧列表中选择“设置”。
-
将 OpenGL ES 渲染器设置回 SwiftShader,并将 OpenGL ES API 设置回渲染器最大值(最高可达 OpenGL ES 3.1)。
-
重复步骤 5 和 6。
-
现在尝试再次启动模拟虚拟设备。它应该有效:至少对我有效。
-
如果它不适用于您的配置,请尝试 OpenGL ES 设置的所有可能组合:您可能会找到一个可行的组合。
从逻辑上讲,更改 OpenGL ES 设置然后再次更改回来不会产生任何影响,但确实如此。我的猜测是,也许安装程序没有完成一些 OpenGL 所需的初始化工作,但当您更改配置时它就会完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)