How to fix: “HAX is not working and emulator runs in emulation mode”
问题是
我得到"hax不工作,仿真器在仿真模式下运行",这与Intel x86 Emulator Accelerator(haxm)的安装和在CPU设置为CPU Intel Atom(x86)的情况下运行avd有关吗?即使在我安装了HAXM之后感觉AVD运行得更快,这个消息是否表明AVD性能受到了阻碍。是否应该修复?如果是,如何修复?
我正在运行Mac OS X 10.9.1。
列出通过Android SDK Manager在我的系统上安装的内容:
- 工具
- Android SDK工具版本22.3
- Android SDK平台工具版本19.0.1
- Android SDK构建工具版本19.0.1
- Android SDK构建工具版本19
=
- Android 4.4.2(API 19)
- SDK平台
- ARM EABI V7A系统映像
- Intel x86 ATO系统映像
- 谷歌API
- Android SDK源代码
=
- 额外的
- 我和IntelX86 Emulator Accelerator(HAXM)也运行DMG安装程序,并在我发现后安装了热修复程序。
AVD设置
- 4.4.2平台
- API 19级
- CPU Intel Atom(x86)
一旦我运行AVD:
1 | (ruby-2.0.0-p353) .android $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0 |
我得到跟踪,模拟器最终加载
1 2 3 | emulator: The memory needed by this VM exceeds the driver limit. HAX is not working and emulator runs in emulation mode |
是的,应该修好了,haxm坏了。在您的AVD配置中设置了多少RAM?
768M是一个很好的数字,但最重要的是,这个数字必须小于或等于您在安装haxm期间设置的内存使用量。您可以再次启动它的安装来修改它。
如果您在Mac上,则可以使用内置扩展名(截至2015年)的homebrew via cask安装
1 | brew cask install intel-haxm |
安卓工作室
如果您使用的是Android Studio,那么您可以从菜单tools中获得相同的结果?sdk managerakbd,然后在sdk工具选项卡上,选中Intel x86 Emulator Accelerator(haxm安装程序)的复选框,然后单击ok。
我解决这个问题的方法是将AVD内存限制和HAXM内存的大小设置为1 GB=1024 MB。AVD的内存限制不能高于HAXM。
1。将haxm内存设置为1024 m
更改haxm内存的唯一方法是重新安装它。我用终端做的。在您的机器中找到硬件加速执行管理器。然后更改该文件夹的目录以运行安装脚本。
1 2 3 4 5 | cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager -OR- cd ~/Library/Developer/Xamarin/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager |
可能需要更改权限:
1 | sudo chmod 755"HAXM installation" |
然后:
1 2 3 4 5 | ./HAXM\ installation -m 1024 -OR- sudo ./"HAXM installation" -m 1024 |
2。将虚拟设备设置为与HAXM内存限制相同的大小
这对我有用。祝你好运!
从intel安装最新的haxm:https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager
在这之后,它开始工作了
对于Windows。
在
工具>Android>AVD管理器>您的设备>铅笔图标>显示高级设置>内存和存储>RAM>将RAM设置为您的首选大小。
在
程序和功能>英特尔硬件加速执行管理器>更改>手动设置>将RAM设置为您的首选大小。
最好两个地方的RAM大小相同。
检查Intel网站上最新版本的HAS并安装它。让RAM的大小达到建议的"预设2048",然后尝试运行应用程序。一切都会好起来的。
是的,应该修好了,haxm坏了。
HAXM有时可以工作;HAXM的经验目前在各个平台上都是零星的。
例如,我在2009年末的iMac上运行了10.8.5和i7处理器@2.8GHz,Android SDK 22.6,今天早上(2014年5月3日)更新了所有产品。API17将在这个IMAC机器上构建具有haxm加速的模拟器,API19将被扼杀。
我也有2013年初MBP 15"视网膜运行10.8.5和i7处理器@2.7GHz,Android SDK 22.6与所有的好东西今天早上更新(03/05/14)。API17将使用HAXM加速构建仿真器,API19也工作得很好。
我的(个人)2013年晚期MBP视网膜13"双核心i5和小牛。
旧版CPU(甚至i7)的芯片级的虚拟化正在进行中,而新的API19 x86映像需要HAXM才能工作。如果API19不起作用,尝试一下API17甚至16。
如果您运行的是英特尔处理器,请确保haxm(英特尔?Hardware Accelerated Execution Manager)安装程序通过sdk Manager在sdk Manager中选中此选项进行安装。然后通过下面的路径运行haxm安装程序ext
1 | your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe |
还要检查在进行HAX安装时分配的RAM大小,以使其适合模拟器的RAM大小。
此视频显示了可能有助于解决问题的所有必要步骤。
如果安装HAXM后遇到问题,此视频也将帮助您。
在你的Mac电脑上打开查找器,然后打开
你将找到模拟器加速器的安装程序,运行它并设置你需要修改的内存,然后重试运行你的Android应用程序。
我的问题是,我不能再运行一个有效的模拟器,因为我退出了模拟器应用程序,但进程没有完全结束,所以我试图在上一个模拟器仍在运行时启动另一个模拟器。在Mac上,我必须使用活动监视器来查看另一个进程并将其杀死。步骤:
您必须验证在执行HAX安装时分配的大小是否与AVD仿真器配置中的大小相同。
你可以在这里看到法语:http://blerow.blogspot.fr/2015/01/android-studio.html
在执行HAX安装时增加分配的RAM大小,以完全适合或比要在"Intel x86 Emulator Accelerator(HAXM)"模式下启动的Emulator的RAM大小大一点,
一旦你成功了,你现在就可以在控制台/日志中查看这个了。
Geckob的解决方案非常有效。警告:您提供的HAXM用于所有正在运行的设备。所以,如果你同时在手机和平板电脑上测试,并且每个都有一个1g的要求,那么确保你的haxm分配量至少是2g。
在我的例子中,当我将haxm内存设置为avd内存时,这个错误被修复了。HAXM内存1024 MB=AVD内存1024 MB
1 2 3 | Hax is enabled Hax ram_size 0x40000000 HAX is working and emulator runs in fast virt mode. |
到目前为止,错误应该被修正。
现在我列出了我的特定环境,以防对使用OSX的人有所帮助。
OS X El Capitan 10.11.4版
MacBook(13英寸),2 GHz Intel Core 2 Duo,4 GB RAM。
安卓工作室2.1
软糖(23)x86甚至几个小时都没有通过Android图标屏幕的闪烁。
棒棒糖(22)x86通过了闪烁的Android图标屏幕,然后显示
- 启动Android(优化x/y应用程序)
- 启动Android(启动应用程序)
- 启动Android(更新联系人数据库)
- 启动android(完成引导)并在这里停留数小时。
Kitkat(19)x86工作成功,我可以在那里安装Hello World。
从SDK管理器下载haxm
从Android Studio打开您的SDK管理器,单击屏幕截图中显示的图标。
单击"默认设置"对话框中的"启动独立SDK管理器"。
检查节点"Extras>Intel x86 Emulator Accelerator(HAXM Installer)",然后继续进行HAXM下载。
安装或修改haxm
现在,您可以通过访问下载位置访问haxm的安装(或修改现有installtino)。在"运行"中输入此路径
%localappdata%\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager
双击文件"intelhaxm android.exe"
您可以在修改现有的haxm安装时增加分配给haxm的内存大小。我有一台32 GB RAM的机器,希望同时启动多个AVD(用于自动测试等),所以我为HAXM分配了8 GB。
告诫
如果运行一个1 GB的AVD,并将2 GB分配给HAXM,则不能运行另一个RAM超过1 GB的AVD。在修改或安装haxm时,请确保Android设备监视器没有运行(只是为了避免任何意外)。
这些步骤在Windows平台上进行了测试,但通常也可以应用于其他平台,只需稍作修改。
重新打开AVD设备配置。通过在AVD管理器中编辑设备。继续选择AVD Android版本。在右窗格中,将按照该建议显示一个建议,所有建议都将被修复。
分配给HAX的默认内存是1024MB。仿真器有1536MB,显然用于Nexus5xAPI 25。
如果你使用的是Android Studio,
- 只需转到工具->AVD管理器。
- 然后选择模拟器并单击在右边的铅笔按钮上编辑。
- 转到中的高级设置新窗口并将RAM值更改为1024
很有魅力。:)