如何修复: “ HAX 不工作,模拟器在模拟模式下运行”

问题是

我得到“ HAX 不工作,模拟器运行在模拟模式”,这是否与英特尔 x86模拟器加速器(HAXM)安装和运行 AVD 设置为 CPU 英特尔 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 平台-工具版本19.0.1
    • Android SDK Build-tools Rev 19.0.1
    • Android SDK Build-tools Rev 19

==

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

==

  • 临时演员
    • Intel x86仿真器加速器(HAXM)和我也运行 dmg 安装程序,并安装了热修复程序后,我发现了它。

启动 AVD

  • 4.4.2号站台
  • 空气污染指数级别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
247634 次浏览

是的,它应该是固定的,HAXM 没有工作。 在您的 AVD 配置中设置了多少内存供使用?

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

是的,它应该是固定的,HAXM 没有工作。

HAXM 有时可以工作; 目前对 HAXM 的使用经验在平台之间是零星的。

例如,2009年末的 iMac 运行10.8.5,i7处理器@2.8 Ghz,Android SDK 22.6,今天早上(03/05/14)更新了所有的好东西。API17将在这台 iMac 机器上构建具有 HAXM 加速功能的仿真器,但 API19无法运行。

我也有2013年初的 MBP 15“视网膜运行10.8.5和 i7处理器@2.7 Ghz,Android SDK 22.6与所有的好东西更新今天上午(03/05/14)。API17将构建具有 HAXM 加速的仿真器,API19也非常好用。

对于我的(个人)2013年底 MBP 视网膜13“双核 i5和小牛。

新的 API19 x86映像需要在芯片级进行虚拟化,而旧的 CPU (甚至是 i7)缺少这种虚拟化,因此 HAXM 无法正常工作。如果 API19不起作用,可以试试 API17甚至16。

查看英特尔网站上的最新版本并安装它。让内存在推荐的大小“预设2048”,然后尝试运行应用程序。一切都会好起来的。

如果你使用的是 Mac 电脑,你可以使用 自酿的通过 木桶安装 haxm木桶是一个内置的扩展(截至2015年) ,它允许安装非开源和桌面应用程序(如 chrome、 firefox、 eclipse 等) :

brew cask install intel-haxm

安卓工作室

如果你使用的是 Android Studio,那么你可以从菜单 Tools something SDK Manager得到相同的结果,然后在 SDK 工具选项卡上,选择 < em > Intel x86仿真器加速器(HAXM 安装程序) 的复选框,然后单击 Ok

要么增加分配的内存大小,而做 HAX 安装,以适应准确或更高的空间比内存大小的模拟器,你想启动在“英特尔 x86仿真器加速器(HAXM)”模式,

一旦您成功了,您现在就可以在控制台/日志中查看它了

enter image description here

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

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

在你的 Mac 上打开查找器,然后 command + Alt + G 在输入这个 /Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager之后

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

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

1. 将 HAXM 内存设置为1024M

更改 HAXM 内存的唯一方法是重新安装它。我用终端做的。在您的机器中定位 Hard _ Speed _ 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 内存限制相同的大小

enter image description here

这对我有用,祝你好运!

如果您正在运行英特尔处理器确保 HAXM (英特尔硬件加速执行管理器)安装通过 SDK 管理器通过检查此选项在 SDK 管理器。然后通过下面的路径运行 HAXM 安装程序 ext

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

还要检查在进行 HAX 安装时分配的内存大小,以便它适合模拟器的内存大小。

这个 视频显示了所有需要的步骤,可以帮助您解决问题。

如果您在安装 HAXM 后遇到问题,这个 视频也会帮助您。

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

壁虎的解决方案非常完美。 注意: 您提供的 HAXM 用于所有正在运行的设备。因此,如果你同时在手机和平板电脑上进行测试,而且两者都需要1G。然后确保你的 HAXM 分配至少2G。

适用于视窗。

Android Studio:

工具 > 仿生人 > AVD 经理 > 你的设备 > < em > 铅笔图标 > 显示高级设置 > 内存和存储 > RAM > 将 RAM 设置为您喜欢的大小。

Control Panel:

程序和特性 > 英特尔硬件加速执行管理器 > 改变 > 手动设置 > 将 RAM 设置为您喜欢的大小。

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

在我的情况下,这个错误是固定的,当我设置 HAXM 内存等于 AVD 内存。 HAXM 内存1024MB = AVD 内存1024MB

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英寸) ,2GHz Intel 酷睿2 Duo,4GB 内存。

Android Studio 2.1

棉花糖(23) x86 没有通过闪烁的 Android 图标屏幕偶数小时。

棒棒糖(22) x86通过闪烁的机器人图标屏幕,然后显示

  • 启动 Android (从 y 应用程序中优化 x)
  • 启动 Android (启动应用程序)
  • 启动 Android (更新联系人数据库)
  • 启动 Android (完成启动)和 被困在这里好几个小时

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

从 SDK Manager 下载 HAXM

从 Android Studio 打开 SDK 管理器,单击屏幕快照中显示的图标。

enter image description here

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

enter image description here

检查节点“ Extras > Intel x86仿真器加速器(HAXM 安装程序)”,然后继续下载 HAXM。

enter image description here

安装或修改 HAXM

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

% localappdata% Android sdk 附加的英特尔五金加速执行管理器

双击文件“ intelhaxm-android.exe”

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

注意

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

enter image description here

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

分配给 HAX 的默认内存为1024MB。 模拟器有1536MB,显然是针对 Nexus5xapi25的。

如果你在使用 Android Studio,

  • 只要进入工具-> AVD 管理器。
  • 然后选择模拟器并单击 在铅笔按钮上的权利进行编辑。
  • 中进行高级设置 并将 RAM 值更改为1024

非常有效

screenshot of android studio

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

  1. 打开活动监视器(在实用程序中或使用 Command + 空间)
  2. 找到进程名,在我的情况下,qemu 系统..。
  3. 选择进程。
  4. 使用左上角的“ x”按钮强制进程退出。
  5. 我没有使用“强制退出”,只是简单的“退出”,但你可以使用任何一个。