文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

解决 Android studio 出现“The emulator process for AVD xxx has terminated.”的错误

2023-09-10 09:20

关注

在CSDN、简书看了很多解答,并没有解决问题,浪费了宝贵的学习时间。

本着知其然,也要知其所以然的精神,研究了各位前辈们的方法,终于找到了问题所在,下面开始复盘。

一、问题发生

在加载虚拟机的时候显示下图
!问题

二、找出原因

android studio(以下简称ASS)的日志在

C:\Users*你自己的用户名称*\AppData\Local\Google\AndroidStudio2021.1\log\idea.log

点开后在最下方可以看见

2022-11-04 21:11:53,987 [  29076]  INFO - manager.EmulatorProcessHandler - Emulator: F:\android\sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_4_API_31 -qt-hide-window -grpc-use-token -idle-grpc-timeout 3002022-11-04 21:11:54,034 [  29123]  INFO - manager.EmulatorProcessHandler - Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT2022-11-04 21:11:54,034 [  29123]  INFO - manager.EmulatorProcessHandler - Emulator: INFO    | Android emulator version 31.2.9.0 (build_id 8316981) (CL:N/A)2022-11-04 21:11:54,034 [  29123]  INFO - manager.EmulatorProcessHandler - Emulator: Process finished with exit code 1 2022-11-04 21:11:54,034 [  29123]  WARN - manager.EmulatorProcessHandler - Emulator terminated with exit code 1

其中重点的一句在

2022-11-04 21:11:54,034 [ 29123] INFO - manager.EmulatorProcessHandler - Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

这说明了系统环境变量设置存在问题,导致了ASS在寻找ANDROID_SDK_ROOT这个变量定义的文件夹中未找到所需的东西。

这里我们需要在系统环境变量中设置ANDROID_HOME及ANDROID_SDK_HOME

因为ANDROID_HOME已经被设置了,所以我没有动他。

至于为什么是SDK_HOME而不是SDK_ROOT,

我找到了ASS虚拟机 F:\android\sdk\emulator\emulator.exe

在命令行中运行即可知道。

PS C:\Users\Jan> F:\android\sdk\emulator\emulator.exe -avd fooINFO    | Android emulator version 31.3.13.0 (build_id 9189900) (CL:N/A)ERROR  | Unknown AVD name [foo], use -list-avds to see valid list.ERROR  | ANDROID_SDK_HOME is defined but there is no file foo.ini in $ANDROID_SDK_HOME\avdERROR  | (Note: Directories are searched in the order $ANDROID_AVD_HOME, $ANDROID_SDK_HOME\avd and $HOME\.android\avd)

我用了-avd foo来看看虚拟机是怎么运行的,通过反馈可以看出emulator只能读取到$ANDROID_AVD_HOME,$ANDROID_SDK_HOME和$HOME三个变量。

其中并没有$ANDROID_SDK_ROOT,所以这里我设置了
$ANDROID_SDK_HOME。

设置环境变量
注意这个路径中不能有中文

设置好后,我们删除之前建立的虚拟机,重启ASS。

当然,再次建立虚拟机,又一次失败了,还是一样的弹窗。

于是我用了第二个方法-------更新emulator虚拟机。

在ASS上方依次点击Tools—SDK Manager—SDK Tools

取消选择emulator然后应用,确定,即可删除虚拟机。

相同的方法再次点击Tools—SDK Manager—SDK Tools

选择emulator然后应用,确定,即可安装最新版的虚拟机。

当然依然没有打开我的虚拟手机界面。

但是,在ASS的日志中,终于出现了新的信息。

2022-11-04 22:37:26,766 [ 428517] INFO - manager.EmulatorProcessHandler - Emulator: F:\android\sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_2_API_27 -qt-hide-window -grpc-use-token -idle-grpc-timeout 3002022-11-04 22:37:26,813 [ 428564]  INFO - manager.EmulatorProcessHandler - Emulator: INFO    | Android emulator version 31.3.13.0 (build_id 9189900) (CL:N/A)2022-11-04 22:37:26,813 [ 428564]  INFO - manager.EmulatorProcessHandler - Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT2022-11-04 22:37:26,813 [ 428564]  INFO - manager.EmulatorProcessHandler - Emulator: emulator: INFO: path_getAvdSystemPath: AVD Pixel_2_API_27 has path F:\AndroidSDK\.android\avd\Pixel_2_API_27.avd2022-11-04 22:37:26,813 [ 428564]  INFO - manager.EmulatorProcessHandler - Emulator: emulator: INFO: path_getAvdSystemPath: trying to check whether F:\android\sdk_tools is a valid sdk root2022-11-04 22:37:26,813 [ 428564]  INFO - manager.EmulatorProcessHandler - Emulator: emulator: WARN: path_getAvdSystemPath: F:\android\sdk_tools\system-images\android-27\google_apis_playstore\x86\ is not a valid directory.2022-11-04 22:37:26,813 [ 428564]  INFO - manager.EmulatorProcessHandler - Emulator: emulator: WARN: path_getAvdSystemPath: emulator has searched the above paths but found no valid sdk root directory.2022-11-04 22:37:26,813 [ 428564]  INFO - manager.EmulatorProcessHandler - Emulator: Process finished with exit code 12022-11-04 22:37:26,813 [ 428564]  WARN - manager.EmulatorProcessHandler - Emulator terminated with exit code 1

仔细分析一下

F:\android\sdk_tools\system-images\android-27\google_apis_playstore\x86\ is not a valid directory.

这句话前面的路径恰巧就是我ANDROID_HOME的路径,我迅速看了下这个文件夹,发现sdk_tools里面根本就没有下载的安卓SDK,我再次向ASS也确认了下。
ASS下载SDK的路径
果然ASS把SDK下载在了sdk文件夹,不是sdk_tools。

问题豁然开朗,我迅速将环境变量中的ANDROID_HOME改成了sdk文件夹的路径。
设置环境变量
重复删除虚拟机,重启ASS的步骤。

至此我终于看到了我最喜欢的Pixel手机的桌面。

三、完结撒花

pixel
大功告成。

希望每个学习的人都不会被这些琐事影响到兴趣。

来源地址:https://blog.csdn.net/weixin_39506799/article/details/127713961

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯