首页 文章

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

提问于
浏览
139

Question is

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

我在mac os x 10.9.1上运行 .

Listing what is installed on my system via 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系统映像

  • Intel x86 Ato系统映像

  • Google API

  • Android SDK的来源

==

  • 额外

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

AVD set up

  • 平台4.4.2

  • API等级19

  • CPU Intel Atom(x86)

Once i run avd:

(ruby-2.0.0-p353) .android   $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0

i get following and emulator eventually loads

emulator: The memory needed by this VM exceeds the driver limit.

HAX is not working and emulator runs in emulation mode

17 回答

  • 1

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

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

  • 0

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

    brew cask install intel-haxm
    
  • 2

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

    1. Setting the HAXM memory to be 1024 M

    更改HAXM内存的唯一方法是再次安装 . 我是用终端做的 . 在您的计算机中找到Hardware_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. Setting the virtual device the same size with HAXM memory limit

    enter image description here

    这适合我 . 祝好运!

  • 64
  • 2

    对于Windows .

    Android Studio

    Tools > Android > AVD Manager > Your Device > Pencil Icon > Show Advanced Settings > Memory and Storage > RAM >将RAM设置为您的首选大小 .

    Control Panel

    Programs and Features > Intel Hardware Accelerated Execution Manager > Change > Set manually >将RAM设置为您的首选大小 .

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

  • 2

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

  • 198

    是的,应该修复,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 .

  • 20

    在你的mac上打开finder然后输入 Ctr + Alt + G /Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

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

  • 24

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

    your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe
    

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

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

    如果你遇到问题,这个video也会帮助你安装HAXM .

  • 1

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

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

    enter image description here

  • 1

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

    你可以在这里看到法语:http://blerow.blogspot.fr/2015/01/android-studio.html

  • 0

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

  • 48

    Download HAXM from SDK Manager

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

    enter image description here

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

    enter image description here

    检查节点“Extras> Intel x86 Emulator Accelerator(HAXM安装程序)”并继续HAXM下载 .

    enter image description here

    Installing or Modifying HAXM

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

    %localappdata%\ Android \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager

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

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

    Caveat

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

    enter image description here

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

  • 1

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

    • 打开活动监视器(在实用程序中或使用命令空间)

    • 找到进程名称,在我的例子中,qemu-system ...

    • 选择流程 .

    • 使用左上角的'x'按钮强制退出进程 .

    • 我没有't have to use '强制退出', just the plain '退出',但您可以使用其中之一 .

  • 4

    就我而言,当我将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 El Capitan 10.11.4

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

    Android Studio 2.1

    棉花糖(23)x86 didn't pass the flashing Android icon screen 连续几个小时 .

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

    • 启动Android(优化x应用程序中的x)

    • 启动Android(启动应用)

    • 启动Android(更新联系人数据库)

    • 启动Android(完成启动)和 remained stuck here for hours .

    KitKat (19) x86 worked successfully 我可以在那里安装你好的世界 .

  • 1

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

  • 1

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

    如果您使用的是Android Studio,

    • 只需去工具 - > AVD经理 .

    • 然后选择模拟器并单击右侧的铅笔按钮进行编辑 .

    • 转到新窗口中的高级设置,并将RAM值更改为1024

    奇迹般有效 . :)

    screenshot of android studio

相关问题