如何解决:“HAX不工作,仿真器在仿真模式下运行”
问题是
我得到“HAX不工作,仿真器在仿真模式下运行”,这是与英特尔x86模拟器加速器(HAXM)安装和运行avd与cpu设置CPU英特尔凌动(x86)? 即使在我安装HAXM之后感觉AVD运行速度更快,这个消息是否表明AVD性能受到了阻碍。 如果是固定的,如果是的话,怎么样?
我在Mac OS X 10.9.1上运行。
通过android sdk manager列出我的系统上安装的内容:
- 工具
- Android SDK工具修订22.3
- Android SDK Platform-tools rev 19.0.1
- Android SDK构build工具修订19.0.1
- Android SDK构build工具修订19
==
- Android 4.4.2(API 19)
- SDK平台
- ARM EABI v7a系统映像
- Intel x86 Ato系统映像
- Google API
- Android SDK的来源
==
- 附加function
- 英特尔x86模拟器加速器(HAXM),我也运行dmg安装程序,并安装了热修复,后我发现了它。
AVD成立
- 平台4.4.2
- API级别19
- CPU Intel Atom(x86)
一旦我运行AVD:
(ruby-2.0.0-p353) .android $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0
我得到以下和模拟器最终加载
emulator: The memory needed by this VM exceeds the driver limit. HAX is not working and emulator runs in emulation mode
是的,它应该是固定的,HAXM不工作。 在AVDconfiguration中设置了多lessRAM?
768M是一个很好的数字,但最重要的是,这个数字必须低于或等于安装HAXM时设置的内存使用量。 您可以再次启动安装以进行修改。
如果你在Mac上,你可以使用自制软件安装haxm
,这是一个内置的扩展(2015年),允许安装非开源和桌面应用程序(例如chrome,firefox,eclipse等)。
brew cask install intel-haxm
我解决这个问题的方法是将AVD内存限制和HAXM内存大小设置为1 GB = 1024 MB。 AVD不能比HAXM有更高的内存限制。
1.将HAXM内存设置为1024 M
更改HAXM内存的唯一方法是再次安装。 我用terminal做了。 在您的机器中findHardware_Accelerated_Execution_Manager 。 然后更改该文件夹的目录以运行安装脚本。
cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager -OR- cd ~/Library/Developer/Xamarin/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager
可能需要更改权限:
sudo chmod 755 "HAXM installation"
然后:
./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 Studio
:
工具 > Android > AVDpipe理器 > 您的设备 > 铅笔图标 > 显示高级设置 > 内存和存储 > RAM >将RAM设置为您的首选尺寸。
在Control Panel
:
程序和function > 英特尔硬件加速执行pipe理器 > 更改 > 手动设置>将RAM设置为您的首选大小。
在这两个地方设置的RAM大小最好是相同的。
查看英特尔网站上的最新版本,然后安装。 让推荐大小的RAM“预设2048”,然后尝试运行该应用程序。 事情应该正常工作。
是的,它应该是固定的,HAXM不工作。
HAXM有时可以工作; 与HAXM的经验目前是跨平台的零星。
例如,我已经在2009年末,iMac运行了10.8.5和i7处理器@ 2.8Ghz,Android SDK 22.6,所有的东西都在今天上午更新(03/05/14)。 API17将在此iMac机器上构build具有HAXM加速function的仿真器,API19扼杀。
我也有2013年初MBP 15“视网膜运行10.8.5和i7处理器@ 2.7Ghz,Android SDK 22.6,今天上午更新所有的好东西(03/05/14)API17将build立模拟器HAXM加速,API19也很好。
同样为我的(个人)2013年底MBP Retina 13“与双核心i5和小牛。
旧CPU(甚至是i7)缺less芯片级别的虚拟化,新的API19 x86映像需要HAXM才能运行。 如果API19不起作用,请给API17甚至16尝试一下。
在你的mac上打开finder然后Ctr + Alt + G
键入this /Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager
你会find模拟器加速器的安装程序,所以运行它,并设置你需要的内存修改它,然后重试运行你的android应用程序
如果您正在运行英特尔处理器,请确保通过在SDK Manager中选中此选项,通过SDK Manager安装HAXM(英特尔®硬件加速执行pipe理器)安装程序。 然后通过下面的path运行HAXM安装程序分机
your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe
还要检查HAX安装时分配的RAM大小,以便它适合模拟器的RAM大小。
本video展示了可能帮助您解决问题的所有必要步骤。
安装HAXM后,如果您遇到问题,该video也将帮助您。
在进行HAX安装时,增加分配的RAM大小,以便与要在“Intel x86 Emulator Accelerator(HAXM)”模式下启动的模拟器的RAM大小相匹配或更高一些,
一旦你成功了,你现在可以在控制台/日志中查看
您必须validation在执行HAX安装时分配的大小是否与AVD仿真器configuration中的大小相同。
你可以在这里看到法语: http : //blerow.blogspot.fr/2015/01/android-studio.html
在我的情况下,当我设置HAXM内存等于AVD内存时,这个错误是固定的。 HAXM内存1024 MB = AVD内存1024 MB
Hax is enabled Hax ram_size 0x40000000 HAX is working and emulator runs in fast virt mode.
高兴这一点的错误应该是固定的。
现在我列出了我的特定环境,以便可以帮助某些使用OS X的人。
OS X EI Capitan 10.11.4
MacBook(13英寸),2 GHz Intel Core 2 Duo,4 GB内存。
Android Studio 2.1
棉花糖(23)x86 没有通过闪烁的Android图标屏幕甚至几个小时。
棒棒糖(22)x86通过闪烁的android图标屏幕,然后显示
- 启动Android(优化x应用程序)
- 启动Android(启动应用程序)
- 启动Android(更新联系人数据库)
- 开始Android(整理引导),并在这里呆了几个小时 。
KitKat(19)x86工作成功 ,我可以在那里安装hello world。
从SDK Manager下载HAXM
从Android Studio打开您的SDKpipe理器,单击屏幕截图中显示的图标。
点击“Default Settings”对话框中的“Launch Standalone SDK Manager”。
检查节点“Extras> Intel x86 Emulator Accelerator(HAXM安装程序)”并继续进行HAXM下载。
安装或修改HAXM
您现在可以通过访问下载位置来访问HAXM的安装(或修改现有的installtino)。 在“运行”中input此path
%LOCALAPPDATA%\ Android的\ SDK \演员\英特尔\ Hardware_Accelerated_Execution_Manager
并双击文件“intelhaxm-android.exe”
您可以在修改现有HAXM安装的同时增加分配给HAXM的内存大小。 我有一个32 GB的内存的机器,并希望同时启动多个AVD(用于自动化testing等),所以我已经为HAXM分配了8 GB的内存。
警告
如果您正在运行一个1 GB的AVD并将2 GB分配给HAXM,则无法运行另一个RAM超过1 GB的AVD。 当您修改或安装HAXM时,请确保Android设备监视器没有运行(只是为了避免任何意外)。
这些步骤在Windows平台上进行了testing,但通常也可以稍微修改应用于其他平台。
我的问题是,我不能再运行一个已经工作的模拟器,因为我已经退出了模拟器应用程序,但是这个过程并没有完全结束,所以我试图启动另一个模拟器,而前一个模拟器仍在运行。 在Mac上,我不得不使用活动监视器来查看其他进程并杀死它。 脚步:
- 打开Activity Monitor(在Utilities中或使用Command + Space)
- find进程名称,在我的情况下,qemu系统…
- select过程。
- 使用左上angular的“x”button强制进程退出。
- 我不必使用“强制退出”,只是简单的“退出”,但你也可以使用。
重新打开您的AVD设备configuration。 通过在AVDpipe理器中编辑设备。 继续selectAVD Android版本。 在右边的窗格中,按照该build议显示一个build议,所有的都将被修复。
盖克的解决scheme完美地工作。 小心:您提供的HAXM在所有正在运行的设备上使用。 所以如果你同时在手机和平板电脑上进行testing,每个都有1G的要求。 然后确保你的HAXM分配至less是2G。
分配给HAX的默认内存为1024MB。 Nexus 5x api 25的仿真器显然有1536MB。
如果您使用的是Android Studio,
- 只要去工具 – > AVD manager。
- 然后select模拟器,点击右边的铅笔button进行编辑。
- 在新窗口中转到高级设置并将RAM值更改为1024
奇迹般有效。 🙂