无法在Android Studio中更改AVD的模拟性能

149
我无法将图形更改为软件,因为我相信这是解决AVD无法启动的方法。该选项已灰显(请参见截图)。是否有人有类似经验?我找不到任何人遇到过相同的问题。 我在Ubuntu 17.04上运行最新版本的Android Studio。

Screenshot of the configuration of the AVD


嗯...我在Ubuntu 16.10上,这个下拉菜单对我是可用的,其中包括“硬件”、“软件”和“自动”选项。尝试创建一个低分辨率的模拟器(与您现在尝试的1080p相比)。 - CommonsWare
4
如果我安装 Nexus 4,就能更改图形设置。奇怪... - Michel Michels
@MichelMichels,你找到解决方案了吗?我必须使用地图,但Nexus 4不支持此功能。 - Rakesh Yadav
我没有找到 Nexus 5X 模拟器的解决方案,只有 Nexus 4... 很抱歉。 - Michel Michels
1
我找到了一个解决方法:我使用命令行带上 -gpu swiftshader_indirect 参数来启动模拟器。https://developer.android.com/studio/run/emulator-acceleration.html - Kirill
11个回答

126

实际上,这个问题似乎仅限于带有Play Store的设备,因此Nexus 5X和Nexus 5镜像将被强制使用自动图形,但所有其他设备都允许您选择自动、硬件或软件图形。


编辑: 我今天刚测试了一下,似乎不再是这种情况。至少在MacOS上使用Android Studio 3.3.2,我现在可以创建一个带有Play Store和硬件图形的Nexus 5X镜像。稍后我会在家里做更多的测试,测试Windows和Linux是否与操作系统或显卡驱动程序有关。 AVD screen showing a Nexus 5X device with hardware graphics


8
那么没有办法同时使用软件图形和Play商店吗?我简直不敢相信会这么糟糕! - Luan Nico
23
你可以编辑 config.ini 文件并将 gpu.mode=host 进行修改。这对我有用。 - Dielson Sales
6
在选择支持 Google Play 的模拟器配置文件时,我(在 Windows 上)仍然无法启用“模拟性能”选项。 - Ted Nyberg
2
看起来这个问题在Windows上仍然存在,截至今天。有人请随意纠正我。 - big friendly giant
3
@Atralb ~/.android/AVD/<你的模拟器名称>.avd/config.ini - Dielson Sales
显示剩余5条评论

76
我认为这与是否包含Playstore有关,但我无法解释原因。
Dielson Sales已经给出了适合我的答案 - 不幸的是,他只在答案的评论中提到了。我觉得把它变成一个“真正”的答案是值得的:
编辑AVD的config.ini文件。 在Linux下,它位于/home/<user>/.android/avd/<AVD-name>/config.ini(在我的情况下,<AVD-name>Nexus_5X_API_29.avd)。
在文本编辑器中更改以下行:
hw.gpu.enabled=no
hw.gpu.mode=auto

无论是

hw.gpu.enabled=no
hw.gpu.mode=off

或者到{{某个地方}}。
hw.gpu.enabled=yes
hw.gpu.mode=host

即使在Android Studio的虚拟设备管理器中打开,此设置仍然保持不变。但是在那里无法编辑。

我也尝试了在另一个AVD中找到的方法:

hw.gpu.enabled=yes
hw.gpu.mode=software

但是这个问题可以通过Android虚拟设备管理器更改为“no”/“off”。我目前还没有进一步的了解。对我来说,hw.gpu.mode=off有效。否则,我的整个Kubuntu会挂起(使用Nouveau驱动程序,而不是NVidia驱动程序)。

设置像hw.gpu.enabled=no和hw.gpu.mode=off这样的属性会使仿真器类似于旧的缓慢设备吗? - RamPrasadBismil
1
在MBP上使用Nouveau驱动程序。使用“hw.gpu.enabled=no”和“hw.gpu.mode=off”解决了“分段错误(核心已转储)”。 - Vinicius Tinti
1
我正在使用Manjaro,我的驱动程序卡的NVidia设置为hw.gpu.enabled=no hw.gpu.mode=off,它已经起作用了,谢谢兄弟。 - Emre KAS
2
hw.gpu.enabled=no; hw.gpu.mode=off。这个选项对我很有用。谢谢! - ritz
感谢您发布了详细的描述。真希望我可以多次点赞! - SWalters
对于像我这样由于某些原因无法通过终端打开 config.ini 的人,您可以按照此答案打开它:https://dev59.com/Ipbfa4cB1Zd3GeqPpSWt#37309441。FYI,“显示在磁盘上”在虚拟设备管理器的 下拉箭头 中。 - Lance Samaria

17

看起来问题出在所选择的虚拟机上。如果我选择 Nexus 4,它就可以正常运行。


3
目前 Nexus 4 配置文件不支持 Google Play,这可能解释了为什么它能够正常工作。 - Ted Nyberg

14

我有点晚才看到这个帖子,但以下是我的发现和解决方案。我使用的是Ubunut 18.04,并遇到了同样的问题。解决方法是编辑AVD,在模拟性能下更改图形为软件。问题在于,此选项对我而言是禁用的。我无法更改图形下拉菜单。

我进行了更多研究,发现如果在第一个屏幕上选择默认/现有设备定义来创建AVD,则无法编辑图形下拉菜单。

解决方法是在创建AVD时创建一个“新硬件配置文件”并使用您的新配置文件。现在,您将能够编辑“图形”下拉菜单。

希望这可以帮助....


3
我认为这是因为该个人资料缺乏 Google Play 支持。 - Ted Nyberg
2
这对我最有帮助。只要切换到一个不包含 Play Store 的设备模拟器,就可以在创建时设置其使用软件渲染图形。 - jorisw
这就是解决方案! - John T
好的提示,太棒了!在我的情况下,我只需克隆我想要的设备并启用选择即可解决问题。 - Armando Marques da S Sobrinho

8

似乎所有带有 Play Store 的模拟器都无法实现良好的性能。我正在使用 AS 4.0 版本。


1
同意将其用于 AS 4.1。 - jaredbaszler

6
在Android Studio中打开Android Virtual Device Manager,将VMHeap更改为512,将RAM更改为4096 MB。然后重新启动Android Studio。
请参考以下截图:enter image description here enter image description here

但我仍然遇到错误:模拟器:glClear:466 GL err 0x502,目前还无法修复。 - nobjta_9x_tq
它可能无法使用4096 MB RAM。在Android 7.1.1 64位模拟器中,我只能使用2048 MB RAM。 - Martin B
对我有用。谢谢。 - madz
1
无法更改那些东西 :-((( - Davide

3

我认为这只是一个Bug!

通过选择任何一个虚拟设备并启用该选项来解决问题,在安装完成后,只需单击“编辑”按钮并重新选择所需的设备,该选项仍然可用。

从这里单击“编辑”按钮。

enter image description here

然后更改为所需的设备。

enter image description here


1
对于那些仍在寻找如何使用包含Google Play商店图像的解决方案的人:安装/更新GPU驱动程序可以解决问题。在我的Ubuntu 20上,这是问题所在。

0
我知道这是一个旧的帖子,但我刚刚遇到了这个问题。解决方法似乎是选择一个x86_64的镜像,如果要利用主机的x86_64系统图形的话,这是有道理的。

0
我正在使用Mac OS,升级操作系统后我的模拟器停止工作了,其中一个解决方案是将图形设置从硬件更改为软件,但我无法这样做,所以来到这里 ---> 原来Android模拟器HAXM在macOS High Sierra中由于安全原因被忽略了。请参考此链接:https://developer.android.com/studio/known-issues#deploy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接