AndroidStudio 打开模拟器闪退

环境:macosx

最近没做什么操作,然后想用下AndroidStudio的模拟器测下东西,发现不管怎么打开都启动不了模拟器。AndroidStudio又没有报任何信息就突然闪退,然后开始排查。

  • 1.可能是模拟器坏了,换一个启动,发现还是老样子,看来必须要获取点错误日志信息。
  • 2.网上搜索到 emulator -avd “Nexus 4 API 22(我的模拟器avd显示的名字)” 命令可以打开模拟器,这样就可以在控制台看到具体信息了。发现报错
PANIC: Unknown AVD name [Nexus 4 API 22], use -list-avds to see valid list.
HOME is defined but could not find Nexus 4 API 22.ini file in $HOME/.android/avd
(Note: avd is searched in the order of $ANDROID_AVD_HOME,$ANDROID_SDK_HOME/.android/avd and $HOME/.android/avd)

通过进入$ANDROID_SDK_HOME/.android/avd目录发现原来显示的名字“Nexus 4 API 22”并不是真是名字而是”Nexus_4_API_22

admin-test:avd yfjin$ ls
3.2_QVGA_ADP2_API_19.avd Nexus_4_API_22.avd
3.2_QVGA_ADP2_API_19.ini Nexus_4_API_22.ini
  • 3.使用命令”emulator -avd Nexus_4_API_22“发现仍然报错
[140737055048640]:ERROR:./android/qt/qt_setup.cpp:28:Qt library not found at ../emulator/lib64/qt/lib
Could not launch '../emulator/qemu/darwin-x86_64/qemu-system-i386': No such file or directory

搜索得到命令行启动的话缺少一个环境变量配置,找到自己放android sdk的目录配置一下

export PATH="$PATH:~/Library/Android/android-sdk-macosx/emulator/"
  • 4.再次运行”emulator -avd Nexus_4_API_22“,总算发现真正无法启动的原因了
admin-test:emulator yfjin$ emulator -avd Nexus_4_API_22
emulator: WARNING: encryption is off
Hax is enabled
Hax ram_size 0x60000000
HAX is working and emulator runs in fast virt mode.
Failed to sync vcpu reg
Failed to sync vcpu reg
Failed to sync vcpu reg
Failed to sync HAX vcpu contextInternal error: Initial hax sync failed
  • 5.网上搜了下,发现说什么创建模拟器勾选GPU什么的,但是我没在mac模拟器创建的时候发现这个选项。然后再搜索,在https://cloud.tencent.com/developer/ask/29816/answer/37949发现一句话:“确保没有运行任何虚拟机。在我的例子中,运行了genyMotion,所以才会爆出这个错误”。

  • 6.想了想,最近在学习springboot和docker。前段时间装了docker,而且是开启自启动的,docker貌似启动的时候是和虚拟机有关的。于是立马把docker退了。再次启动模拟器…

成功!

成功!

成功!

  • 话说一步步摸索下来找原因还是蛮有意思的,比粗暴的什么选择GPU那类回答好多了(我也没找到,说不定找到了GPU什么的选项未必就会下一步探究真正的原因了),记录一下,哈哈。

猜你喜欢

转载自blog.csdn.net/jyfjyt/article/details/79037360
今日推荐