如何使用 Android 模拟器 (Hyper-V & HAXM) 启用硬件加速

本文介绍如何使用计算机的硬件加速功能最大化Android仿真器性能。

借助Visual Studio,可以在Android设备不可用的情况下轻松测试和调试 .NET MAUI 应用,以便Android。 但是,如果硬件加速不可用或已启用,则模拟器运行速度太慢。 可以通过启用硬件加速和使用 x86-64x86 虚拟设备映像来大幅提高模拟器的性能。

方案 HAXM WHPX Hypervisor.Framework
有 Intel 处理器 X X X
有 AMD 处理器 X
想支持 Hyper-V X
想支持嵌套虚拟化 有限
想使用 Docker 等技术 (使用 WSL2) X X

在 Windows 上加速 Android Emulator

以下虚拟化技术可用于加速 Android Emulator:

  1. Microsoft 的 Hyper-V 和 Windows 虚拟机监控程序平台 (WHPX)

    Hyper-V 是 Windows 的虚拟化功能,使虚拟的计算机系统可以在物理主计算机上运行。

  2. Intel 硬件加速执行管理器 (HAXM)

    HAXM 是运行 Intel CPU 的计算机所用的虚拟化引擎。

为了获得最佳Windows体验,建议使用 WHPX 加速Android模拟器。 如果计算机上的 WHPX 不可用,则可以使用 HAXM。 如果满足以下条件,Android模拟器会自动使用硬件加速:

  • 硬件加速在开发计算机上可用并已启用。

  • 模拟器运行为基于 x86-64x86 的虚拟设备创建的系统映像。

重要

不可在另一 VM(例如由 VirtualBox、VMware 或 Docker 托管的 VM)内运行经过 VM 加速的模拟器(除非使用 WSL2)。 必须直接在系统硬件上运行 Android Emulator 。

有关使用 Android Emulator 进行启动和调试的信息,请参阅 Android Emulator 调试

使用 HYPER-V 加速

在启用 Hyper-V 之前,请阅读以下部分以验证你的计算机是否支持 Hyper-V。

验证对 Hyper-V 的支持

Hyper-V 在 Windows 虚拟机监控程序平台上运行。 若要将 Android Emulator 与 Hyper-V 配合使用,计算机必须满足以下条件才能支持 Windows 虚拟机监控程序平台:

  • 计算机硬件必须满足以下要求:

    • 支持二级地址转换 (SLAT) 的 64 位 Intel 或 AMD Ryzen CPU。
    • CPU 支持 VM 监视器模式扩展(Intel CPU 的 VT-c 技术)。
    • 内存至少为 4 GB。
  • 在计算机的 BIOS 中,必须启用以下项:

    • 虚拟化技术(标签可能因母板制造商而不同)。
    • 硬件强制执行数据执行保护。
  • 计算机必须运行Windows 11或Windows 10版本 1909 或更高版本。

要验证计算机硬件和软件是否与 Hyper-V 兼容,请打开命令提示符并键入以下命令:

systeminfo

如果列出的所有 Hyper-V 要求的值均为“是”,则计算机可以支持 Hyper-V。 例如:

Example of systeminfo output when checking Hyper-V support for .NET MAUI.

如果 Hyper-V 结果指示虚拟机监控程序当前正在运行,则已启用 Hyper-V。

在Windows和模拟器中启用 Hyper-V 加速

若计算机符合上述条件,请执行以下步骤使用 Hyper-V 加速 Android Emulator:

  1. 在 Windows 搜索框中输入“Windows 功能”,然后在搜索结果中选择“打开或关闭 Windows 功能” 。 在“Windows 功能”对话框中,启用“Hyper-V”和“Windows 虚拟机监控程序平台” :

    Enabling Hyper-V and Windows Hypervisor Platform for .NET MAUI.

    进行这些更改后,重新启动计算机。

重要

在 Windows 10 2018 年 10 月更新(RS5) 及更高版本中,你只需启用 Hyper-V 即可,因为它将自动使用 Windows 虚拟机监控程序平台 (WHPX)。

  1. 请确保在Android 设备管理器中创建的虚拟设备是基于 x86-64基于 x86 的系统映像。 如果使用基于 Arm 的系统映像,则虚拟设备不会加速,并且会缓慢运行。

启用 Hyper-V 后,你将能够运行加速Android模拟器。

使用 HAXM 加速

重要

HAXM 仅在 Intel CPU 上受支持。

如果计算机不支持 Hyper-V,则可以使用 HAXM 来加速Android模拟器。 若要使用 HAXM, 请禁用 Device Guard

验证 HAXM 支持

要确定硬件是否支持 HAXM,请按照我的处理器是否支持 Intel 虚拟化技术?中的步骤操作。 若硬件支持 HAXM,可以使用以下步骤检查是否已安装 HAXM:

  1. 打开命令提示符窗口,然后输入以下命令:

    sc query intelhaxm
    
  2. 检查输出,查看 HAXM 进程是否正在运行。 如果是,应会看到将状态列为输出intelhaxmRUNNING。 例如:

    Output from sc query command when HAXM is available.

    如果未 STATE 设置为 RUNNING,则不会安装 HAXM。

如果计算机可以支持 HAXM 但未安装 HAXM,请使用下一部分中的步骤安装 HAXM。

安装 HAXM

可以从 Intel 硬件加速执行管理器 GitHub 发布页获取适用于 Windows 的 HAXM 安装包。 若要下载并安装 HAXM,请按照下列步骤操作:

  1. 从 Intel 网站下载适用于 Windows 的最新 HAXM 虚拟化引擎安装程序。 直接从 Intel 网站下载 HAXM 安装程序的优点是可以确保使用最新版本。

  2. 运行 intelhaxm android.exe,启动 HAXM 安装程序。 接受安装程序对话框中的默认值。

创建虚拟设备时,请务必选择基于x86_64基于 x86 的系统映像。 如果使用基于 Arm 的系统映像,则虚拟设备不会加速,并且运行缓慢。

疑难解答

有关解决硬件加速问题的帮助,请参阅 Android Emulator 疑难解答指南。