如何解决:“HAX无法运行,仿真器在仿真模式下运行”

问题描述 投票:140回答:17

问题是

我得到“HAX无法工作,仿真器在仿真模式下运行”,这是否与英特尔x86仿真器加速器(HAXM)安装相关,并且运行avd并将cpu设置为CPU Intel Atom(x86)?即使我在安装HAXM后感觉AVD运行速度更快,但是此消息表明AVD性能受到阻碍。应该修复,如果是,如何修复?

我在mac os x 10.9.1上运行。

通过android sdk manager列出我系统上安装的内容:

  • 工具 Android SDK工具Rev 22.3 Android SDK Platform-tools rev 19.0.1 Android SDK Build-tools Rev 19.0.1 Android SDK Build-tools Rev 19

==

  • Android 4.4.2(API 19) SDK平台 ARM EABI v7a系统映像 英特尔x86 Ato系统映像 Google API Android SDK的来源

==

  • 附加功能 英特尔x86仿真器加速器(HAXM)和我也运行dmg安装程序,并在我发现它之后安装了热修复程序。

AVD设置

  • 平台4.4.2
  • API等级19
  • CPU Intel Atom(x86)

进入运行部门后:

(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
android macos android-emulator
17个回答
198
投票

是的,应该修复,HAXM不起作用。在AVD配置中设置了多少RAM?

768M对它来说是一个很好的数字,但最重要的是这个数字必须低于或等于你在安装HAXM期间设置的内存使用量。您可以再次启动其安装以进行修改。


1
投票

在进行HAX安装时增加分配的ram大小,以便与要在“Intel x86 Emulator Accelerator(HAXM)”模式下启动的模拟器的ram大小完全匹配或更高一些空间,

成功完成后,您现在可以在控制台/日志中查看此内容


1
投票

在进行HAX安装时,您必须验证分配的大小与AVD仿真器配置中的大小相同。

你可以在这里看到法语:enter image description here


1
投票

geckob的解决方案非常有效。警告:您提供的HAXM用于所有正在运行的设备。因此,如果您同时在手机和平​​板电脑上进行测试,并且每个都需要1G。然后确保您的HAXM分配至少2G。


1
投票

从SDK Manager下载HAXM

从Android Studio打开SDK Manager,单击屏幕截图中显示的图标。

enter image description here

单击“默认设置”对话框中的“启动独立SDK管理器”。

enter image description here

检查节点“其他> Intel x86仿真器加速器(HAXM安装程序)”并继续HAXM下载。

enter image description here

安装或修改HAXM

您现在可以通过访问下载位置来安装(或修改现有的installtino)HAXM。在“运行”中输入此路径

%LOCALAPPDATA%\ Android的\ SDK \演员\英特尔\ Hardware_Accelerated_Execution_Manager

并双击文件“intelhaxm-android.exe”

您可以在修改现有HAXM安装时增加分配给HAXM的内存大小。我有一台32 GB RAM的机器,并希望同时启动多个AVD(用于自动化测试等),所以我已经为HAXM分配了8 GB。

警告

如果您运行一个1 GB的AVD并为HAXM分配2 GB,则无法运行另一个RAM超过1 GB的AVD。在修改或安装HAXM时,请确保Android设备监视器未运行(只是为了避免任何意外)。

Hax is enabled Hax ram_size 0x40000000 HAX is working and emulator runs in fast virt mode.

这些步骤在Windows平台上进行了测试,但通常也可以稍加修改地应用于其他平台。


1
投票

我的问题是我不能再运行一个有效的模拟器,因为我已经退出模拟器应用程序,但进程没有完全结束,所以我试图启动另一个模拟器,而前一个仍在运行。在Mac上,我不得不使用活动监视器来查看其他进程并将其终止。脚步:

  1. 打开活动监视器(在实用程序中或使用Command + Space)
  2. 找到进程名称,在我的例子中,qemu-system ...
  3. 选择流程。
  4. 使用左上角的“x”按钮强制退出进程。
  5. 我不必使用'Force Quit',只需要简单的'Quit',但你也可以使用。

1
投票

就我而言,当我将HAXM内存设置为等于AVD内存时,此错误已得到修复。 HAXM内存1024 MB = AVD内存1024 MB

screenshot of android studio

到目前为止,错误应该是固定的。

现在我列出了我的特定环境,以防它对使用OS X的人有所帮助。

OS X El Capitan 10.11.4

MacBook(13英寸),2 GHz Intel Core 2 Duo,4 GB Ram。

Android Studio 2.1

Marshmallow(23)x86没有通过闪烁的Android图标屏幕连续几个小时。

Lollipop(22)x86通过闪烁的android图标屏幕,然后显示

  • 启动Android(优化x应用程序中的x)
  • 启动Android(启动应用)
  • 启动Android(更新联系人数据库)
  • 启动Android(完成启动)并在这里停留数小时。

KitKat(19)x86成功运行,我可以在那里安装hello world。


0
投票

重新打开AVD设备配置。通过在AVD管理器中编辑设备。继续选择AVD Android版本。在右侧窗格中,将按照该建议显示建议,并且所有建议都将得到修复。


0
投票

分配给HAX的默认内存为1024MB。而模拟器显然有1536MB用于Nexus 5x api 25。

如果您使用的是Android Studio,

  • 只需去工具 - > AVD经理。
  • 然后选择模拟器并单击右侧的铅笔按钮进行编辑。
  • 转到新窗口中的高级设置,并将RAM值更改为1024

奇迹般有效。 :)

qazxswpoi


65
投票

如果您使用的是Mac,可以使用haxm通过homebrew安装caskbrew cask install intel-haxm 是一个内置的扩展程序(截至2015年),允许安装非开源和桌面应用程序(例如chrome,firefox,eclipse等):

cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

-OR-

cd ~/Library/Developer/Xamarin/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager

Android Studio

如果您使用的是Android Studio,则可以从菜单Tools➞SDKManager获得相同的结果,然后在SDK Tools选项卡上,选中Intel x86 Emulator Accelerator(HAXM安装程序)的复选框,然后单击Ok。


49
投票

我解决它的方法是将AVD内存限制和HAXM内存设置为大小相等,即1 GB = 1024 MB。 AVD不能具有比HAXM更高的内存限制。

1.将HAXM内存设置为1024 M.

更改HAXM内存的唯一方法是再次安装。我是用终端做的。在您的计算机中找到Hardware_Accelerated_Execution_Manager。然后更改该文件夹的目录以运行安装脚本。

sudo chmod 755 "HAXM installation"

可能需要更改权限:

./HAXM\ installation -m 1024

-OR-

sudo ./"HAXM installation" -m 1024

然后:

https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager

2.使用HAXM内存限制将虚拟设备设置为相同大小

这适合我。祝好运!


24
投票

从intel:Android Studio安装最新的HAXM

在此之后它正在工作


20
投票

对于Windows。

Control Panel

工具> Android> AVD管理器>您的设备>铅笔图标>显示高级设置>内存和存储> RAM>将RAM设置为您的首选大小。

Ctr + Alt + G

程序和功能> Intel硬件加速执行管理器>更改>手动设置>将RAM设置为您的首选大小。

两个地方设置的RAM大小最好相同。


4
投票

在英特尔网站上查看最新版本的Has并进行安装。让ram推荐大小“预设2048”,然后尝试运行该应用程序。事情应该很好。


2
投票

是的,应该修复,HAXM不起作用。

HAXM有时会起作用; HAXM的经验目前在各个平台上都是零星的。

例如,我已经在2009年末推出运行10.8.5的iMac和i7处理器@ 2.8Ghz,Android SDK 22.6,所有的好东西今天早上更新(2014年5月3日)。 API17将在这台iMac机器上构建具有HAXM加速功能的仿真器,API19会消失。

我还有早期的2013 MBP 15“Retina运行10.8.5和i7处理器@ 2.7Ghz,Android SDK 22.6今天早上更新了所有的好东西(2014年5月3日).API17将构建具有HAXM加速的模拟器,API19也很棒。

我的(个人)2013年末MBP Retina 13“与双核i5和小牛队同上。

在旧的CPU(甚至i7)中,新的API19 x86映像需要HAXM才能工作,芯片级虚拟化正在发生变化。如果API19不起作用,请尝试API17甚至16。


2
投票

在你的mac上打开finder然后/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager键入这个your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

你要找到模拟器加速器的安装程序,然后运行它并设置你需要修改它的内存并重试运行你的android应用程序


2
投票

如果您运行的是英特尔处理器,请确保通过在SDK Manager中选中此选项,通过SDK Manager安装HAXM(英特尔®硬件加速执行管理器)安装程序。然后通过以下路径运行HAXM安装程序ext

video

还要检查在进行HAX安装时分配的ram大小,使其符合模拟器的ram大小。

这个video显示了可以帮助您解决问题的所有必需步骤。

如果您在安装HAXM后遇到问​​题,这个http://blerow.blogspot.fr/2015/01/android-studio.html也会帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.