Android Studio AVB模拟器无法启动 报错 The emulator process for AVD Pixel_X_XXX_XX has terminated 问题排查

avatar

azurekiln

今天打开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
    修改后的 config.ini 如下图所示:
    修改后的 config.ini

  • 此时再次启动AVD模拟器,已经可以正常启动了。


扫描二维码,在手机上阅读
收藏
请先 登录 再评论
powered by emlog pro
服务器供应商 新区云数据

友情链接
白衣Ink


sitemap