运行新的安卓Intel模拟器

310
近期,Google和Intel发布了一种新的运行模拟器的方式,应该比以前仿真ARM CPU的版本表现更好。这里有一些相关链接:这个那个
然而,在按照指示安装新组件并创建新的仿真器配置后,我遇到了一个错误,也没看到任何改进。我尝试了API 10和API 15,并启用和禁用了GPU,但是这些配置都没有帮助。我还在两台不同的计算机上进行了测试,没有获得任何提升(也收到了相同的错误消息)。
据我所读的帖子中的情况,似乎没有人遇到过问题,所有人都报告仿真器速度大大提高。
它显示的错误信息是:
emulator: Failed to open the HAX device!
HAX is not working and emulator runs in emulation mode
emulator: Open HAX device failed
为什么会发生这种情况,有没有办法解决?还有其他人也会遇到这些错误吗?
顺便说一句,我有一个英特尔CPU,不知道是否有问题。
编辑:
这是我在BIOS中看到的内容,所以应该是可用的...:

enter image description here


68
注意:Android SDK 管理器并不会实际进行安装 - 在使用管理器下载后,您必须自行运行安装程序:<sdk>/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.exe - Richard Le Mesurier
1
Richard是正确的。我遇到了相同的问题,直到我按照他的评论去做。转到http://developer.android.com/tools/devices/emulator.html#accel-vm,并滚动到“在Windows上配置VM加速器”部分。对我很有用,无需重新安装或在ADK之外重新安装任何内容。 - Adrian Romanelli
7
在Mac OSX 10.9上,还需要手动安装来自英特尔网站的热补丁http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager。 - Zorb
VT-x支持等时性吗? - user8389458
16个回答

415

我曾遇到过同样的问题,但通过安装Intel硬件加速执行管理器解决了它。在SDK Manager中下载它,它在“Extras”中。之后,转到文件夹

[Android SDK Root]\extras\intel\Hardware_Accelerated_Execution_Manager

然后运行IntelHaxm.exe并安装。

这里是Intel硬件加速执行管理器的链接, IntelHaxm.exe 适用于Microsoft Windows,Mac OS X和Linux Ubuntu。

输入图片描述

如果您的BIOS未启用虚拟化,则会收到以下消息:

输入图片描述


1
尝试执行模拟器时仍然存在一些错误,模拟器要么显示黑屏(使用GPU时),要么像以前一样缓慢,特别是与真实设备相比。这是一个好的配置吗:http://tinypic.com/view.php?pic=efgv83&s=6? - android developer
1
我刚刚测试了使用默认硬件设置运行它,然后一切正常。这个x86模拟器还是比较新的,所以难免会有一两个bug。尝试创建一个新的AVD并使用默认的HW设置来运行它。 - rallrall
6
@Robert Karl,在Mac OS X 10.8.2上运行HAXM时,我遇到了一个已知问题,导致Kernel Panic。英特尔公司已经发布了一个修补程序来解决这个问题,你可以在此处下载:http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager然后打开修补过的dmg文件并按照说明进行操作即可。 - JosephL
1
我在BIOS中启用了虚拟化,并且我的英特尔处理器是这样的,但当我想安装HAXM时,出现以下错误:此计算机不支持英特尔虚拟化技术(VT-x)。无法安装HAXM。 请参阅Intel HAXM文档以获取更多信息。 - Rasool Ghafari
3
针对 Windows 8.1 用户的提示:您必须禁用 Hyper-V,否则安装程序会认为 VT-x 不可用。 - jM2.me
显示剩余23条评论

24

针对Windows 8用户的一个小提示,如果启用了Hyper-V功能,则Intel HAX将无法使用。 Hyper-V(像大多数虚拟化技术一样)会专门锁定VT扩展,这将阻止HAX正常工作。 如果您“需要”Hyper-V,一个解决方法可能是在需要使用HAX时手动停止Hyper-V服务(尚未测试过)。


1
有趣。有多个 Hyper-V 服务。我应该禁用哪一个? - android developer
4
停用服务还不够,您需要停用该功能。 - ofrommel
谢谢提供信息,这正是我遇到的问题。 - Hoang Huynh
1
我遵循了这个http://hyper-vandvmware.blogspot.de/2012/10/runing-both-hyper-v-and-vm-ware.html并且它工作得很好。需要重新启动但它允许两种技术在同一个安装上工作,但不幸的是不能一起使用。 - ScottN
1
那很有帮助。非常感谢。Windows真是个麻烦。 - plocks

21
如果其他方法都失败了,可以尝试手动下载、提取和安装Intel HAXM压缩包。 请检查这里 请记住,这仅适用于支持Intel虚拟化技术的Intel CPU。您必须在BIOS中启用虚拟化。
如果您问我,这对Android模拟器是一个相当不错且非常明显的改进。

安装过了,但没成功。顺便说一下,在BIOS中启用了它,所以我仍然不明白为什么速度不如谷歌承诺的那样快。 - android developer
@androiddeveloper 真的很有效!!!当你安装HAXM时,你分配了多少RAM?我分配了512 MB,速度非常快! - GoodSp33d
@2-Stroker 在下载了新的驱动程序(最近更新)之后,我尝试安装它,但它显示我的计算机不支持英特尔虚拟化技术。看来我永远无法在当前的计算机上使用流畅的模拟器了。:(也许我会在办公室尝试一下。 - android developer

18

并非所有的处理器都支持虚拟化技术!

要查看您的芯片组支持情况,请访问http://ark.intel.com/,在搜索框中输入您的处理器名称,然后查看解决方案。

先进技术: ...

Intel® 虚拟化技术 (VT-x) = ???

如果出现“否”,则无法使用HAXM!


1
如果在VMWare中运行,请确保在处理器设置下启用VTX。 - David van Dugteren
我认为我的系统中没有HAXM并且出现了这个错误,你能给我建议解决吗? - CoronaPintu
1
这个链接更适合查找您的CPU是否支持英特尔®虚拟化技术:http://ark.intel.com/Products/VirtualizationTechnology - dbasch

9
以下是获取硬件加速执行(HAX)的步骤,需要注意的事项如下:
1-检查您的处理器是否支持Intel VT-x,请访问Intel网站查询: http://ark.intel.com/Products/VirtualizationTechnology 所有的Intel Core i处理器和部分其他选择的处理器都支持Intel VT-x。
2-检查您的BIOS是否启用了Intel VT-x,通常在BIOS中称为硬件虚拟化或Intel虚拟化。
3-检查是否使用与HAXM冲突的软件,常见的与HAXM冲突的软件包括但不限于:
Hyper-V
Windows phone SDK 8
Avast antivirus 8 

4-安装英特尔管理引擎接口(MEI)驱动程序,这个驱动程序通常没有预装,也不是零售Windows DVD的一部分,甚至连Windows 8都没有。 查看以下链接以了解如何安装: http://communities.intel.com/community/vproexpert/blog/2011/12/19/mei-driver-now-available-via-microsoft-windows-update 此驱动程序是必需的,而不是可选的,以激活硬件加速。 您也可以从Windows更新中安装它。

5-使用Android SDK管理器下载Extras -> Intel x86硬件加速执行管理器。

6-从以下位置运行HAXM安装程序: [Android SDK根目录]\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHaxm.exe

如果您已经完成了上述步骤,安装程序将顺利运行,否则将失败。

7-启动AVD并查看性能差异。动画更快, 系统UI和启动器在4.0.3中会崩溃,但对于4.2.2来说完全没问题。

请参阅英特尔的安装指南:


谢谢!我错误地认为SDK管理器会自动安装HAXM包,而不仅仅是下载它。第6步解决了我的问题。 - zim2411
谢谢提供信息,有没有其他方法可以启动Android项目而不使用以前的方式,因为我的英特尔处理器不支持VT-x @MuhammadAnnaqeeb - Loai
当然可以在没有HAX的情况下运行它。HAX仅用于加速x86模拟,而不是启用它,并且不会加速ARM模拟。另外,如果你有一个安卓设备,你可以通过将其连接到计算机来在设备本身上调试应用程序,比任何加速模拟器都要快! - Mohamed ElNakeep
@MuhammadAnnaqeeb 好的,就像你所说的HAX用于加速x86仿真!实际上,当我想通过VM运行我的项目时,它要求我安装HAX! - Loai
@Loai 它是如何询问您的?您能否发布一张截图?在取消启动之前,您等待模拟器启动多长时间?您是否无错误地启动了ARM模拟器? - Mohamed ElNakeep

7
使用SDK Manager下载Intel HAX未成功。从Intel网站下载并安装Intel HAX则成功了。 http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/ 顶级提示:在我的BIOS中进行更改以启用虚拟化,然后使用“重启”并不能使虚拟化生效。只有进行冷启动(即关闭电源再重新启动)才突然出现。
第一步(在Windows上)是确保Microsoft Hardware-Assisted Virtualization Tool报告“此计算机已配置硬件辅助虚拟化”。 http://www.microsoft.com/en-us/download/details.aspx?id=592

上一个链接应用告诉我它与当前操作系统(即Windows 8)不兼容。 - android developer
3
实际上,HAX的SDK管理器下载确实有效 - 它正在下载一个额外的安装文件,您必须手动执行! - Scott Evernden

5

您可能需要在BIOS中启用虚拟化功能,大多数制造商默认禁用它。Intel HAX需要启用CPU虚拟化。


根据此页面,应该可以正常工作:http://ark.intel.com/products/46473/Intel-Core-i3-540-Processor-(4M-Cache-3_06-GHz) - Patrick Tescher
哇,谢谢。我会很快尝试并给你一个“V”(好评)。现在先给你一个+1。 :) 你怎么在BIOS模式下启用它? - android developer
这取决于你的电脑,通常在启动时按F2或其他键。 - Patrick Tescher
不,我并没有问怎么进入BIOS设置。我是在问怎么在那里启用它。需要在哪里寻找相关选项?你试过了吗?你的电脑也能正常运行吗?我也不理解为什么它不默认启用。 - android developer
你是否安装了VMWare或VirtualBox?有时其他虚拟化软件可能会与Hax发生冲突。 - Patrick Tescher
显示剩余6条评论

3

我不用Mac电脑。但是,我想知道它是否有帮助?模拟器的运行速度是否如你所期望的那样快?至少会不会流畅?与没有安装驱动程序相比,安装驱动程序有什么帮助呢? - android developer

3
大约一周前,我也遇到了同样的问题,没有明显的原因(99%确定我没有升级任何东西);在能够运行模拟器一段时间后,它突然停止工作,没有明显的原因。
我尝试安装英特尔虚拟化技术,但安装程序报告说我的机器不支持英特尔虚拟机,尽管它配备了英特尔i3处理器,并且虚拟化已启用(也许XP太老了,无法支持,尽管在这台机器上安装并使用了MS VM、Oracle的Virtual Box和VMWare,都是相同的操作系统)。
我只是编辑了VD以模拟Arm处理器,一切又恢复正常了。
也许这不是最佳解决方案,但它可以工作!

2

如果您是Mac用户,想要检查您的处理器是否支持虚拟化,请使用 maccpuid 软件并查找 VMX。如果选中,则可以开始使用。

在这里下载

VMX checked is a sign that your processor support virtualisation asked


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接