Android Studio AVB模拟器无法启动 报错 The emulator process for AVD Pixel_X_XXX_XX has terminated 问题排查
azurekiln 发布于 阅读:65 Android Studio
今天打开Android Studio的AVB模拟器时弹出这么一个窗口。报错如图:
The emulator process for AVD Pixel_6_API_34 has terminated.
第一种:由于虚拟机实例过多导致虚拟机端口被占用
排查思路:打开idea日志文件查阅与emulator.exe相关的日志信息
-
首先我们需要知道Android Studio日志文件路径:
C:\Users\your_username\AppData\Local\Google\AndroidStudio20XX.X\log\idea.log
例如:
C:\Users\azurekiln\AppData\Local\Google\AndroidStudio2024.3\log\idea.log
-
用记事本打开如下图所示:
-
按 Ctrl + F 打开搜索,输入 emulator.exe 并搜索,找到与弹窗日期相近的一行。如下所示:
2025-03-16 00:37:07,463 [ 38928] INFO - Emulator: Pixel 6 API 34 - F:\ProgramData\Android_Studio_Data\Android_SDK\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_6_API_34 -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
-
我们从中获取到需要的命令是
F:\ProgramData\Android_Studio_Data\Android_SDK\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_6_API_34 -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
-
接下来打开终端/Powershell,将获取到的指令粘贴到终端/Powershell中并按下回车。如下图所示:
-
可以看到其中报错:
ERROR | It seems too many emulator instances are running on this machine. Aborting.
-
针对第一种问题的解决方法:
-
以管理员身份打开终端/Powershell,输入以下命令并执行。
net stop winnat netsh int ipv4 set dynamic tcp start=3000 num=9000 netsh int ipv6 set dynamic tcp start=3000 num=9000 net start winnat
-
运行结果如下图所示:
-
此时再次启动AVD模拟器,已经正常启动了。
第二种:移动虚拟机数据文件夹导致的启动报错。
以同样的方法找到命令,再复制命令粘贴到Powershell,按回车执行。
-
我们从中获取到需要的命令是:
PS C:\Users\azurekiln> D:\ProgramData\Android_Studio_Data\Android_SDK\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_6_API_34 -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
-
执行结果如下图所示:
PS C:\Users\azurekiln> D:\ProgramData\Android_Studio_Data\Android_SDK\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_6_API_34 -qt-hide-window -grpc-use-token -idle-grpc-timeout 300 INFO | Android emulator version 35.4.9.0 (build_id 13025442) (CL:N/A) INFO | Graphics backend: gfxstream INFO | Found systemPath D:\ProgramData\Android_Studio_Data\Android_SDK\system-images\android-34\google_apis\x86_64\ INFO | IPv4 server found: 192.168.110.1 INFO | Ignore IPv6 address: b03b:74cf:7002:0:9030:74cf:7002:0 INFO | Ignore IPv6 address: b03b:74cf:7002:0:9030:74cf:7002:0 INFO | Ignore IPv6 address: b03b:74cf:7002:0:9030:74cf:7002:0 INFO | Ignore IPv6 address: 9847:74cf:7002:0:9030:74cf:7002:0 INFO | Checking system compatibility: INFO | Checking: hasCompatibleHypervisor INFO | Ok: Hypervisor compatibility to run avd: `Pixel_6_API_34` are met INFO | Checking: hasSufficientSystem INFO | Ok: System requirements to run avd: `Pixel_6_API_34` are met INFO | Checking: hasSufficientHwGpu INFO | Ok: Hardware GPU requirements to run avd: `Pixel_6_API_34` are passed INFO | Checking: hasSufficientDiskSpace INFO | Ok: Disk space requirements to run avd: `Pixel_6_API_34` are met ERROR | unknown skin name 'pixel_6'
根据日志可以看到,其中 unknown skin name 是关键信息。这是由于我在迁移文件夹后,虚拟机的配置文件config.ini中的路径未自动修改,导致找不到虚拟机。
-
针对第二种问题的解决方法:
-
那么接下来我们找到并打开虚拟机所在文件路径,找到 config.ini 并打开,如下图所示:
-
我们在 config.ini 中 找到 skin.path,将其修改为迁移后的新路径即可。
修改前的 config.ini 如下图所示:
修改后的 config.ini 如下图所示:
-
此时再次启动AVD模拟器,已经可以正常启动了。
扫描二维码,在手机上阅读
收藏