【问题标题】:Intel HAXM - HAX version is too oldIntel HAXM - HAX 版本太旧
【发布时间】:2016-05-20 20:35:25
【问题描述】:

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

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

VT 已在 Bios 中开启。

当我启动模拟器时出现错误

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,但无法从中收集到任何信息。

有什么想法吗?

【问题讨论】:

    标签: android emulation haxm


    【解决方案1】:

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

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

    1. 选择计算机和鼠标右键菜单,属性->驱动管理器
    2. 菜单查看->显示隐藏的设备,在树类别非即插即用驱动程序中,找到IntelHaxm并卸载司机如果找到了。
    3. 删除旧的 intelhaxm 驱动文件夹:C:\Windows\System32\DRVSTORE\intelhaxm_579C88F702D572C10DF6C9F1668B2077995F4354
    4. 转到<android-sdk>\extras\intel\Hardware_Accelerated_Execution_Manager 并使用7-zip 或其他方法将安装文件intelhaxm-android.exe 解压缩到文件夹intelhaxm-android其他存档程序
    5. 进入解压后的文件夹 intelhaxm-android 并再次使用 7-zip 将 hax64.msi 解压到文件夹 hax64
    6. 进入文件夹 hax64 并从您的操作系统(win7 或 vista)的 inf、sys 和 cat 文件的文件名中删除所有 .win7_64 后缀,例如对于 Windows 7 64 位:

      • intelhaxm.inf.win7_64 重命名 -> intelhaxm.inf
      • intelhaxm.sys.win7_64 重命名 -> intelhaxm.sys
      • intelhaxm_x86.cat.win7_64 重命名 -> intelhaxm_x86.cat
    7. 关键步骤:将文件intelhaxm_x86.cat重命名为IntelHaxm_x64.cat。 (因为 intelhaxm.inf 中的文件引用 CatalogFile.ntamd64=IntelHaxm_x64.cat 实际上是 IntelHaxm_x64.cat 而不是 intelhaxm_x86.cat

    8. 以管理员权限打开命令窗口并运行sfc /SCANNOW,然后重新启动计算机
    9. windows启动后,在<android-sdk>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android\hax64文件夹中以管理员权限打开命令窗口,运行此命令安装驱动HaxInst64.exe /i intelhaxm.inf 1,应该不会报ERROR。

    10. 运行此命令以验证它是否正在工作sc query intelhaxm,它应该返回状态 4(正在运行)

    11. 尝试在<android-sdk> 中运行 AVD manager.exe 以启动您的设备模拟器以检查是否正常工作。

    就是这样。

    参考:FIX HAXM 1.1.1 on Windows 7 64bit

    【讨论】:

      【解决方案2】:

      我在使用 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 管理器中列出此更新,而是说 24.0.0 rc3 是最新的。

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

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

      希望它也能解决您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-10
        • 2015-05-01
        • 2016-12-13
        • 1970-01-01
        • 2015-02-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多