【问题标题】:Running Android Emulator together with a VirtualBox machine与 VirtualBox 机器一起运行 Android 模拟器
【发布时间】:2024-01-20 00:34:01
【问题描述】:

我使用的是 Windows 10 1903,需要在使用 Android 模拟器时运行 Linux VM。我使用的是 AMD Ryzen 5 3600x CPU。

如果我禁用 Windows Hypervisor Platform,VM 可以工作,但模拟器不能(我相信除了 arm 映像,但我没有测试过这些,因为它们的性能并不理想)。

VirtualBox 最近似乎对此提供了一些支持,但最新的 Windows 更新根据this 线程破坏了它。

显然,使用 Genymotion 模拟器是一种选择,但不幸的是,它不是免费的。 切换到 Linux 也不是一种选择。

有没有办法在不依赖手臂图像的情况下做到这一点?任何想法都将不胜感激,因为我已经在这方面花费了太多时间。

对于更多上下文,vm 日志显示这些消息(感兴趣):

00:00:01.324766 ********************* End of CFGM dump **********************
00:00:01.324820 HM: HMR3Init: Attempting fall back to NEM: AMD-V is not available
00:00:01.353579 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...
00:00:01.353588 NEM: WHvCapabilityCodeExtendedVmExits      = 0x0000000000000007

最终:

00:00:01.354665 NEM: Adjusting APIC configuration from X2APIC to APIC max mode.  X2APIC is not supported by the WinHvPlatform API!
00:00:01.354667 NEM: Disable Hyper-V if you need X2APIC for your guests!

我假设这与 Hyper-V 占用了所有 AMD-V 使用功能有关,或者在本例中是 Windows Hypervisor 平台,因为这是唯一启用的 Windows 虚拟化功能。

【问题讨论】:

    标签: android android-emulator virtual-machine virtualbox virtualization


    【解决方案1】:

    解决方法是使用Hyper-V Quick Create,它也使用 Hyper-V。这样,我可以让模拟器和 VM 都与 Hyper-V 一起工作,而不会发生任何冲突或进一步的更改。

    如果有的话,我仍然想知道其他替代方案。此外,我希望在 VirtualBox 更新时再次使用它,因为此 Microsoft VM 连接套件的性能似乎无法与之媲美。

    不太清楚这种情况是否普遍,甚至对大多数人来说是否相关,但我会尽量让这个答案更新任何相关新闻。

    【讨论】:

      【解决方案2】:

      另一种方法是使用 Google 新发布的 AMD Hypervisor emulator

      我花了一段时间才找到它,但它使您不需要 Hyper-V 或 WHP,很好地解决了这个问题。性能似乎也与 HAXM 不相上下。

      【讨论】: