安装Hyper V后,Android SDK的Intel HAXM被禁用

And*_*tan 16 android xamarin.android windows-phone-8

我正在开发一套移动应用程序 - 特别是Windows Store/Mobile 8和Android.

安装了VS2012然后安装了Monodroid后,我就可以在模拟器中启动x86 Android映像,并利用英特尔HAXM加速(模拟器输出确认HAXM正常工作)来实现VM黄油流畅.

然后我安装了Windows Phone 8 SDK - 它启用了Hyper V角色 - 现在模拟器说它无法找到HAXM.我然后卸载并尝试重新安装HAXM,但现在它不会 - 说我的处理器不支持它.

在BIOS中仍然启用VT-x扩展 - 所以我认为Hyper-V阻止了英特尔HAXM的工作.

当然它不是杀手 - 但是非加速的Android图像比启用HAXM的图像要慢得多 - 其他人遇到过这个问题吗?谷歌搜索没有提出任何明显的...

更新(2012年11月30日)

根据@ alexw的建议,我尝试停止并禁用Hyper-V; 重启.它仍然无法正常工作.

我意识到下一步可能是Windows Phone SDK(并删除Hyper-V),然后再试一次 - 确认它确实存在 Hyper-V.目前这不太方便 - 但我会尽快做到并更新.

ofr*_*mel 16

让HAXM再次检测VT可以做的最好的事情就是关闭整个Hyper-V"功能".打开"控制面板 - >"程序" - >"打开或关闭Windows功能"(在"程序和功能"下),找到"Hyper-V",取消选中,重新启动.

看起来Hyper-V和HAXM是互斥的,这是一种麻烦,因为您甚至需要重启两次以启用或禁用任一功能.


Aja*_*dex 16

我在同样的情况下需要支持Hyper-V和Intel HAXM.禁用和启用该功能然后重新启动太过分了,所以我找到了另一种解决方案.

您可以创建2个引导条目,一个用于Windows,启用Hyper-V的常规配置,另一个禁用Hyper-V.我使用第二个登录(禁用了Hyper-V)并且我能够安装Intel HAXM.

要实现这一目标,您需要:

  1. 以管理员身份打开命令提示符
  2. 输入命令:bcdedit/copy {current}/d"Windows 8 - No Hyper-V"
  3. 这将输出一个ID为{GUID}的id ,您需要将其复制以在下一个命令中使用它.
  4. 输入命令:bcdedit/set {复制步骤3的GUID } hypervisorlaunchtype off

这篇文章中有更多细节.