【问题标题】:HAXM and LollipopHAXM 和棒棒糖
【发布时间】:2014-12-15 08:20:44
【问题描述】:

SDK 升级到 Android 5 后,我无法使用英特尔硬件加速执行管理器:

$ android-sdk-macosx/tools/emulator -avd AVD_for_LowMemoryDevice_by_User -netspeed full -netdelay none -gpu on
HAX is working and emulator runs in fast virt mode    
emulator: VCPU shutdown request

EAX=80000001 EBX=019a0000 ECX=c0000080 EDX=00000000
ESI=00013c40 EDI=01d9d000 EBP=00100000 ESP=004f6104
EIP=001000f0 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
CS =0010 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
FS =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
GS =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
LDT=0000 00000000 00000000 00008200 DPL=0 LDT
TR =0020 00000000 00000fff 00008b00 DPL=0 TSS64-busy
GDT=     00000000004ea098 00000030
IDT=     0000000000000000 00000000
CR0=80000011 CR2=0000000000000000 CR3=0000000001d97000 CR4=00000020
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
DR6=00000000ffff0ff0 DR7=0000000000000400
emulator: VCPU shutdown request

关于如何解决它的任何想法? (平台:OS X 10.10,java版本“1.8.0_25”)

【问题讨论】:

  • 我遇到了类似的问题。也许这是 Yosemite 和 HAXM 的新问题?
  • 有人吗?我在使用适用于 Android L 的 Windows 8.1 64 位和英特尔 64 位映像时遇到了同样的问题。
  • @CarlYoungblood 确保在 SDK 管理器下载中获得 10.10 的 HAXM,它会在您的 android-sdk-dir/extras/intel/ 下放置一个 dmg
  • @Captnwalker1 我试过了,即使完全重启,问题也没有解决。
  • 你的 CPU 是否较旧,例如酷睿 2 双核?我遇到了同样的问题,看起来可能是 HAXM 1.1.1 无法在旧处理器上运行 64 位图像的问题:(

标签: android-5.0-lollipop haxm


【解决方案1】:

解决了! 显然,我使用的是 HAXM 1.0.8,这是英特尔网站上提供的最新版本。但是,Android SDK Manager 会在 HAXM 1.1.0 上下载一个预览版本,这是运行 64 位图像所必需的。

【讨论】:

  • HAXM 1.1.0 仍然存在完全相同的问题
【解决方案2】:

如果您使用的是 Android Studio 0.8.13 或更早版本,请将其升级到最新版本。此问题已在 0.8.14 版本中修复。

【讨论】:

  • 这根本没有解决问题。 @lbatteau 是对的,其他答案也不是解决方案。
  • Android Studio 今日发布,发行说明已包含此修复。
  • 我今天更新了,现实与当时的文档不符。
【解决方案3】:

解决了这个问题。你需要做这些事情:

  • 卸载旧的 HAXM: sudo /System/Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.sh
  • 禁用 kext 签名:显然 HAXM 1.1.0 未正确签名 sudo nvram boot-args="kext-dev-mode=1"。重启
  • 照常安装新的HAXM 1.1.0(注意如果你不禁用kext签名,haxm会拒绝安装,错误提示VT/NX被禁用)
  • $ANDROID_HOME/tools/lib 添加到您的$LD_LIBRARY_PATH

API 21 AVD 图像现在可以顺利运行。

来源:http://www.csell.net/2014/09/03/VTNX_Not_Enabled/

【讨论】:

  • 这个博客的问题与我所问的不同——我从一开始就有“HAX 正在工作”——问题只是运行时崩溃
【解决方案4】:

试用英特尔官方网站https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager-end-user-license-agreement-macosx 提供的最新HAXM,现在是1.1.1。来自sdk manager 的仍然是旧的1.1.0。 它对我有用。

【讨论】:

  • 它消除了崩溃,但模拟器只是黑屏挂起
  • 我有 Andrio Studio 1.5。它捆绑了 HAXM 最新的 6.0.1 版本。我的电脑是 Windows 7 32 位,CPU 内核为 i3,但当我使用 Nexus 5 x86_64 位 ADV 运行时,问题仍然存在。只有当我改为 x86 时,问题才消失。
【解决方案5】:

尝试减少 HAXM 使用的 内存限制

https://software.intel.com/sites/default/files/managed/86/82/ss-mac-3.png

这对我有用。

【讨论】:

  • 该死!我认为这对我有用,但实际上它只是减少了内存限制,以至于我选择的模拟器根本无法在 HAXM 下运行,所以它已经恢复为慢速软件模拟器。
【解决方案6】:

我在使用 x86_64 图像创建 Nexus 6 AVD 时遇到了同样的问题,而且 HAXM 似乎不支持旧的 Core 2 Duo(例如 2009 年末的 Mac Book Pro)。
这在$ANDROID_SDK_HOME/extras/intel/Hardware_Accelerated_Execution_Manager 中的发行说明已知问题中指定。

HAXM 驱动程序不支持在 Intel 上模拟 64 位系统映像 基于 Core 微架构(Core、Core2 Duo 等)的系统。全部 支持基于 Nehalem 及更高版本的系统。 (酷睿3、酷睿i5 和 Core i7 机器)。

【讨论】:

  • 我从一开始就在 Core i7 上试用它
  • 我正在尝试让 32 位 x86 图像正常工作并遇到同样的问题(在 Core 2 Duo 上):(
  • Core 2 Quad 有同样的问题
  • 我还收到以下警告:WARNING: Host CPU is missing the following feature(s) required for x86_64 emulation: SSE4.2 POPCNT
  • i5-3750K 发生在我身上
【解决方案7】:

将 SDK 组件升级到以下版本后,它可以与最新的 Android Studio 配合使用:

英特尔 x86 仿真器加速器(HAXM 安装程序),修订版 5.2

【讨论】:

    【解决方案8】:

    现在有一个新版本 HAXM 1.1.1,它为 Mac OS 10.9 提供了不同的版本。

    【讨论】:

      【解决方案9】:

      SDK 管理器似乎自动安装了 HAXM 1.0.8 而不是 1.1.0/1.1.1。要解决此问题,请导航至

      <android-sdk>/extras/intel/Hardware_Accelerated_Execution_Manager
      

      并通过执行重新安装HAXM

      $ chmod +x silent_install.sh
      $ sudo ./silent_install.sh -u
      $ sudo ./silent_install.sh
      

      模拟器现在应该可以正常启动了。

      【讨论】:

      • ./silent_install.sh -h 显示其他标志,-m 用于指定内存限制
      • 注意 -m 值。该值是您可以同时运行的所有实例的总值。如果您放置 512Mb 并尝试运行两次默认 VM(默认为 512mb),您将得到一个滞后的虚拟设备甚至失败,我没有尝试耗尽,因为我每次只运行一个 VM。
      【解决方案10】:

      1- 从您的 SDK 管理器将 HAXM 加速器更新到 5.2 版

      2-安装新更新的HAXM(无需卸载之前的)->(重启系统)

      3- 使用以下配置制作 Lollipop 的 AVD。

      希望对你有帮助

      【讨论】:

        【解决方案11】:

        从下载管理器更新 HAXM 对我有用。当您将系统升级到 android 5.x 时,它不会自动下载

        【讨论】:

          【解决方案12】:

          如果更新后它仍然不起作用,请在您的模拟器上擦除数据并且不要从快照中加载它,因为问题就在这里,它已损坏 它刚刚发生在我身上,我用这种方式解决了它

          【讨论】:

            【解决方案13】:

            当我开始我的第一个磨损模拟器时,它一直很好,直到今天重新启动我的 MacBook Pro 后,我经历了崩溃 VCPU shutdown request。 我使用的 HAXM 版本是 1.1.4。所以我尝试重新启动,重新创建模拟器图像......直到我使用 /extras/HAXM... 文件夹中的 .dmg 安装程序重新安装了 HAXM 驱动程序之前,没有任何效果。仅供参考

            【讨论】:

              【解决方案14】:

              我最近升级到 El-capitan os,我也遇到了同样的问题。

              首先,彻底卸载HAXM。

              sudo /Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.sh 
              sudo rm /System/Library/LaunchDaemons/com.intel.haxm.plist
              

              其次,重新安装最新版本的HAXM。 https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager

              这为我解决了问题。

              以下是我提到的链接HAXM on OS X keeps on disappearing

              【讨论】:

                【解决方案15】:

                我在同时启动 Vagrant VM 时遇到了类似的问题。然后它发送了一个 VCPU 关闭请求。当 Vagrant VM 运行时,Android 模拟器也不会启动。我希望这可以帮助任何人。

                emulator: VCPU shutdown request
                
                EAX=00000000 EBX=c085e000 ECX=01000000 EDX=00000000
                ESI=00000000 EDI=c0860000 EBP=c085ffbc ESP=c085ffb4
                EIP=c02065cf EFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
                ES =007b 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
                CS =0060 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
                SS =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
                DS =007b 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
                FS =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
                GS =0018 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
                LDT=0000 00000000 00000000 00008200 DPL=0 LDT
                TR =0020 00001000 00000067 00008900 DPL=0 TSS32-avl
                GDT=     0086a2c0 0000001f
                IDT=     00000000 00000000
                CR0=8005003b CR2=b6ec0004 CR3=3666b000 CR4=00000690
                DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000 
                DR6=ffff0ff0 DR7=00000400
                emulator: Failed to sync vcpu reg
                

                【讨论】:

                【解决方案16】:

                升级到最新的 HAXM 可能还不够(目前的版本是 6.0.1)。

                您仍然可以从 HAXM 更新开始,但如果您运行的是旧 CPU,例如 Core 2 Duo,您绝对应该选择 x86 版本的虚拟映像,不是 x86_64

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-08-12
                  • 2016-12-26
                  • 2015-05-22
                  • 2020-04-16
                  • 2015-02-21
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多