1 问题
- 曾经配置过并成功启动过安卓虚拟机,时隔若干年后无法启动,并总是自动杀死,除此之外没有任何有用信息:
The emulator process for AVD was killed.
2 原因排除:
- 首先是很多人都提到的中文路径名的原因:检查【系统高级设置-环境变量-系统变量】中的
ANDROID_SDK_HOME ,发现被我改成了 ANDROID_SDK_HOME_DELETE (也就是曾经被我“注释”掉了),改回。这个jdk home失效可以通过如下方式检查:打开AVD Manager,点击AVD设备那一行右侧的三角形,选择show on disk在文件资源管理器中打开。如果发现文件路径不在自己设置的sdk/.android/avd下,而且路径名中包含中文字符,说明可能是中文路径名导致失败。
但是killed的问题仍然存在,于是继续排查。
-
vt未开启的原因:重启,按F9(本人使用惠普),进入security-开启虚拟技术。其实之前安装过Linux虚拟机,突然某一天跑不了了,也报过这样的错,但是需要重启就一直懒得改,现在不得不重启改掉。开启后首先是Linux虚拟机可以跑起来了,其次检查如下选项也能发现是不是已启用: 好了,VT开启了,重启android studio,仍然killed。继续排查。 -
看到有人打开【启用或关闭windows功能】选项卡中的【HyperV】的配置成功了,吾从之,然机器没有【HyperV】这一选项。接着发现了其他可能有关的选项:【虚拟机平台】和【windows虚拟机监控程序平台】,两个都是未打开的状态,于是打开之。经过一段时间的加载,提示需要重启。于是又保存一堆页面,重启去了。
不过呢,发现没有HyperV选项卡时,我小小惊恐了一下,最后发现在cmd中输入systeminfo 会有HyperV的出现:
重启完成后,打开AS,仍然killed。
- Android studio中的HAXM问题:打开【setting】-【android SDK】,选项卡【SDK tools】,这个HAXM死活装不上:
报错为【不应存在…exe】,于是沿着路径找到这个setup.exe,点击运行,一路next,发现正常安装完成。回去Android Studio,这个选项仍然是不选中的,不死心再次安装,再次报同样的【不应存在…setup.exe】,再次回去找这个exe运行,提示”already installed“。。但是HAXM就是死活不显示。
debug到这里,似乎有【安装HXAM需要关掉HyperV】的说法,又有【启动安卓虚拟机需要开启HyperV】的说法,又有关闭HyperV需要一起把【windows虚拟监控程序平台一起关掉】的说法。 已经裂开了,这个启动失败仅一句【killed】,就已经kill掉我一下午+一晚上。
- 最后的最后,经过 https://www.cnblogs.com/infinite-space/p/10301683.html 的启发,先在sdk/emulater下,执行如下命令:(注意@后跟你自定义的avd名字)
emulator -list-avd
emulator -list-avd @device1
得到提示,于是在高级系统设置-环境变量-系统变量中,新增了 ANDROID_AVD_HOME ,值为 %ANDROID_SDK_HOME%\.android\avd/ ,然后使用如下命令,从cmd中启动安卓虚拟机:
emulator -avd device1 -netspeed full -netdelay none
按照这篇文章所写,会获得更详细具体的报错信息,但是我,的,虚拟机,直接,成功,启动,了。 然后回到Android studio,快速点击run,
额,然而如果不先在cmd里面用emulator先跑起来的话: 算是勉强解决了吧。
|