英特尔HAXM - HAX版本太旧了

时间:2016-05-20 20:35:26

标签: android emulation haxm

我无法在运行Windows 7的笔记本电脑上启动任何x86 Android模拟器。

我尝试通过Android SDK中的extras文件夹安装HAXM,并直接从英特尔网站下载并安装版本6.0.1,但没有运气。

在Bios中开启了VT。

当我启动模拟器时,我收到错误

emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX version (2) is too old (need at least 3).

如果我运行haxm_check.exe,我会

VT support -- yes
NX support -- yes

运行sc查询intelhaxm给了我

SERVICE_NAME: intelhaxm
    TYPE               : 1  KERNEL_DRIVER
    STATE              : 4  RUNNING
                            (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
    WIN32_EXIT_CODE    : 0  (0x0)
    SERVICE_EXIT_CODE  : 0  (0x0)
    CHECKPOINT         : 0x0
    WAIT_HINT          : 0x0

我安装了VirtualBox,但VMVare没有运行。我甚至停止了所有VMWare服务。我不相信这是任何防病毒问题。

谷歌搜索HAX version (2) is too old (need at least 3)显示了此源代码https://github.com/ashishb/android_emulator/blob/master/android/emulation/CpuAccelerator.cpp,但无法收集任何内容。

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

原因是旧版本的HAX驱动程序(版本2 )和最新版本的HAXM驱动程序(文件版本6.0.3,HAX驱动程序版本3 )未成功安装,因为它在 intelhaxm.inf 文件中有一些不匹配的文件名(请参阅步骤5),即使它在计算机上运行安装程序文件后显示“安装成功”。

以下是我如何解决问题的步骤,第1步到第3步是删除旧驱动程序,第4步到第9步是修复新版本问题并安装它,下面的<android-sdk>应该是你的Android SDK 。目录

  1. 选择计算机和鼠标右键菜单,属性 - &gt; 驱动程序管理器
  2. 菜单查看 - &gt; 显示隐藏的设备,在树类非即插即用驱动程序中,找到{{1}如果找到它,请卸载驱动程序。
  3. 删除旧的intelhaxm驱动程序文件夹:IntelHaxm
  4. 转到C:\Windows\System32\DRVSTORE\intelhaxm_579C88F702D572C10DF6C9F1668B2077995F4354并使用 7-zip 将安装文件 intelhaxm-android.exe 解压缩到 intelhaxm-android 文件夹或其他一些档案计划
  5. 进入提取的文件夹 intelhaxm-android ,再次使用7-zip解压缩 hax64.msi 到文件夹 hax64
  6. 进入文件夹 hax64 并从操作系统的inf,sys和cat文件的文件名中删除所有 .win7_64 后缀(win7或vista) ),Windows 7 64bit的例子:

    • <android-sdk>\extras\intel\Hardware_Accelerated_Execution_Manager重命名 - &gt; intelhaxm.inf.win7_64
    • intelhaxm.inf重命名 - &gt; intelhaxm.sys.win7_64
    • intelhaxm.sys重命名 - &gt; intelhaxm_x86.cat.win7_64
  7. 关键步骤:将文件intelhaxm_x86.cat重命名为intelhaxm_x86.cat。 (因为 intelhaxm.inf 中的文件参考IntelHaxm_x64.cat实际上是 IntelHaxm_x64.cat 而不是 intelhaxm_x86.cat

    < / LI>
  8. 使用管理员权限打开命令窗口并运行CatalogFile.ntamd64=IntelHaxm_x64.cat,然后重新启动计算机
  9. Windows启动后,在该sfc /SCANNOW文件夹中打开一个具有管理员权限的命令窗口并运行此命令以安装驱动程序<android-sdk>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android\hax64,不应报告错误。

  10. 运行此命令以验证它是否正常工作HaxInst64.exe /i intelhaxm.inf 1,它应返回状态为4(正在运行)

  11. 尝试在sc query intelhaxm中运行 AVD manager.exe ,启动设备模拟器以检查是否有效。

  12. 就是这样。

    参考:FIX HAXM 1.1.1 on Windows 7 64bit

答案 1 :(得分:0)

Android SDK 24.0.0 rc3也存在同样的问题。原来它与HAXM无关,但SDK工具无法获得正确的版本。

然后我从https://developer.android.com/studio/index.html#downloads下载了SDK命令行工具24.4.1并将所有文件复制到我现有的SDK上(上周安装了Android Studio(android-studio-bundle-143.2915827-windows.exe) )。有趣的是,Android Studio没有在SDK Manager中列出此更新,并说24.0.0 rc3是最新的。

启动后,模拟器可以使用SDK默认的AVD Manager(位于SDK根目录中),但不能使用Android Studio。 Android Studio仍然说我的HAXM已经过时,显然无法识别正确的6.0.1版本。

请注意,我不是Android专家,还没有测试快速和脏的SDK更新的任何副作用。也许全新安装独立的Android Studio和Android SDK会更好。

希望它也可以解决你的问题。