android - 是否可以在使用 Hyper-V 托管的 guest 操作系统上使用 HAXM?

标签 android hyper-v haxm

我正在尝试在 Hyper-V 上托管的虚拟机中进行 Android 开发,但似乎无法找到在 guest 操作系统中使用 HAXM 的方法。我能找到的所有内容似乎都是关于在要托管 Android 模拟器的计算机上禁用 Hyper-V。

仅供引用,主机操作系统是 Windows 8.1, guest 操作系统是 Windows 10 预览版。我使用的是最新的 Android IDE 和 Java 7 SDK,以及它们附带的默认模拟器。

最佳答案

您不能同时使用 Intel 加速器 (HAXM) 和 Hyper-V。基本上,两者都是虚拟机管理程序,试图同时使用 CPU 的 Intel VT(虚拟化)扩展,但这是不可能的。

  • Hyper-V 是一种 1 类虚拟机管理程序(裸机上),它完全拥有处理器的 Intel VT 扩展。
  • 尝试使用 CPU VT 扩展的任何其他 2 类虚拟机管理程序(例如 HAXM 或 VirtualBox)都将失败或导致系统错误

如果没有父虚拟机管理程序的帮助,VM 中运行的操作系统无法访问 VT 扩展。如果 VM 中运行的 HAXM 在 Hyper-V 上运行,则它无法访问 VT 扩展。 Hyper-V 支持嵌套虚拟化,即在 Hyper-V 上运行的虚拟机中的 Hyper-V,但您可能需要特定版本的操作系统,并且需要一些时间来配置所有内容。 Windows 10 支持 Windows 容器,但我认为您不能使用该技术来运行模拟器。

可以使用官方Android emulator 。该模拟器可以利用 HyperV 来提高性能。您必须卸载(或避免运行)HAXM。您可以使用 IP 地址将开发虚拟机连接到 Android 虚拟机。

不久前,使用 HyperV 运行模拟器的唯一替代方案是 the Android Emulators for Visual Studio (您可以与 Eclipse 或 Android Studio 一起使用,无需安装 Visual Studio)。虽然这些模拟器现在可以使用,但微软建议开发者使用官方的 Android 模拟器。

最后,如果你想使用 HAXM,you can configure an additional boot entry在您的 Windows 中并使用 2 类虚拟机管理程序,例如 VirtualBox。您可以使用 BCEDIT 在启动时选择计算机是否必须使用 Hyper-V 启动。每次要启用/禁用 Hyper-V 时,都必须重新启动计算机。要创建额外的启动项,您可以检查 herehere

关于android - 是否可以在使用 Hyper-V 托管的 guest 操作系统上使用 HAXM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30905952/

相关文章:

android - 我无法安装英特尔 HAXM

azure - 我可以在使用 Azure VM 时针对 Windows Phone 8 进行开发吗?

android - ANDY 错误无法启动 VM 进程

android - 为什么 HAXM 配置内存太低 "969 MB"?它与需要 1 GB RAM 的 AVD API 级别 23 不兼容

android - 如何知道 Otto 订户已注册

java - 如何将 jaxb 注释移植到 simpleXml 库?

android - 将 textview 和 imageview 添加到在 android 中动态创建的线性布局

emulation - Windows Phone 8 模拟器的 Hyper V 安全权限错误

android - 模拟器 : WARNING: HAXM 6. 0.5 已安装。请安装 HAXM >= 6.2.1 以修复 Mac 上的兼容性问题

c# - MvvmCross - 使用 Activity (上下文)参数实例化 ViewModel