Windows 10 上的 Android 虚拟设备 - 无休止的“VCPU 关闭请求” - 不会启动

jhd*_*jhd 4 windows x86 android android-virtual-device haxm

我的 x86 AVD 从不加载。我四处寻找解决方案,但没有看到对我有用的解决方案。

配置

  • 操作系统:Windows 10 家庭版
  • 内存:12GB
  • CPU:英特尔酷睿i5-7200
  • CPU 支持 HAXM 要求的 VT-x、EM64T 和 XD 位(根据 Intel 规范)
  • HAXM 版本:6.0.4
  • 安卓工作室版本:2.2
  • 生物:Insyde F.21
  • Bios 配置:启用虚拟化技术。

步骤
1. 在 Android Studio 中,启动 Android Virtual Device Manager。
2. 使用所有默认设置创建 Nexus 5 API 24 AVD。
3. 启动 AVD。

结果:
显示 AVD 窗口。
不会出现“Android”文本。
Android 运行屏幕最初显示看起来积极的日志条目,但随后会显示许多“VCPU 关闭请求”实例。
这会无限期地持续下去,如果我离开它会持续几个小时。
虚拟设备永远保持“黑色”。

开始几个日志条目:

C:\Users\username\AppData\Local\Android\Sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_5_API_24
Creating filesystem with parameters:
    Size: 69206016
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 4224
    Inode size: 256
    Journal blocks: 1024
    Label: 
    Blocks: 16896
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
Hax is enabled
Hax ram_size 0x60000000
HAX is working and emulator runs in fast virt mode.
emulator: Listening for console connections on port: 5554
emulator: Serial number of this emulator (for ADB): emulator-5554
VCPU shutdown request
EAX=00748cea EBX=5ffadb60 ECX=00000000 EDX=00000000
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00006d38
EIP=5ffb6921 EFL=00010082 [--S----] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
VCPU shutdown request
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
VCPU shutdown request
DS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
VCPU shutdown request
GS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
VCPU shutdown request
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
Run Code Online (Sandbox Code Playgroud)

我试过的东西:

  1. 听说安装了防病毒软件可能会阻止 HAXM 安装工作:暂时禁用 AV,重新安装 HAXM,并尝试在禁用 AV 的情况下运行 AVD - 没有奏效。
  2. 使用基于 ARM 的 AVD 可以工作,但我读到 x86 AVD 的工作速度会快得多,所以我正在尝试让 x86 工作。
  3. 尝试 x86 和 x86_64 AVD 无济于事。
  4. 尝试将 2GB RAM 的默认 HAXM 设置更改为 4GB 和 1GB。结果一样。
  5. 尝试使用具有较低 API 级别(例如 21)的 AVD。结果相同。
  6. Windows 事件查看器不显示任何错误。

有什么建议?

Jam*_*lis 7

Windows 上的第 7 代处理器似乎存在问题。仍在试图弄清楚这一点。

更新:确认是 Kaby Lake 上的 HAXM 问题,在我们从英特尔获得 HAXM 更新之前我们无能为力。要么使用 ARM 映像,要么将开关 -accel off -verbose 添加到 x86/x64 映像中……这两种方法都不是可取的,但在我们得到修复之前都会起作用。您也可以使用 android 设备,但这也可能令人沮丧。


aec*_*755 2

这确实是当前版本的 HAXM 中的一个错误。

新的 HAXM 6.0.5 修复了此问题: https://code.google.com/p/android/issues/detail ?id=226174#c51