如何使用 Android 仿真器启用硬件加速(Hyper-V 和 AEHD)

彩虹网

使用 Visual Studio,可以在没有 Android 设备时,通过模拟器轻松测试和调试适用于 Android 的 .NET MAUI 应用。 但是,如果硬件加速不可用或未启用,仿真器将运行非常缓慢。 可以通过启用硬件加速并使用适用于处理器体系结构的虚拟设备映像来显著提高模拟器的性能。 有关详细信息,请参阅在 developer.android.com 上 为 Android Emulator 配置硬件加速 。

该模拟器提供通用的网络功能,可用于不同的目的,包括从 Windows 虚拟机(VM)连接到 Mac 上运行的仿真器。 有关详细信息,请参阅 从 Windows 虚拟机内部连接到 Mac 上的 Android 模拟器。

在 macOS 上,Android 模拟器使用内置的虚拟机监控程序.Framework。 有关详细信息,请参阅 developer.apple.com 上的 虚拟机监控程序 。

在 Windows 上加速 Android 模拟器

以下虚拟化技术可用于加速 Windows 上的 Android 仿真器:

注释

Intel 硬件加速执行管理器(HAXM)已从仿真器 33.x.x.x 弃用,并且已由 Intel 处理器上的 AEHD 取代。 有关在模拟器 32.x.x.x 和更低版本上使用 HAXM 的信息,请参阅在 developer.android.com 。

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

重要

如果 VM 中启用了嵌套虚拟化,虚拟机(VM)加速模拟器可以在另一个 VM 中运行,包括Microsoft Dev Box。

Windows ARM 设备限制

Android 模拟器当前需要 x64 处理器体系结构,在 Windows ARM 设备上不受支持。 此限制会影响设备,例如:

如果使用 Windows ARM 设备,请考虑以下替代方法:

有关 Android 模拟器要求的最新信息,请参阅有关 developer.android.com 的 。

有关使用 Android 模拟器启动和调试的信息,请参阅 Android 模拟器上的调试。

使用 Hyper-V 加速

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

验证对 Hyper-V 的支持

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

计算机必须运行 Windows 11 或 Windows 10 版本 1909 或更高版本的企业版、专业版或教育版。

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

systeminfo

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

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

重要

如果 Windows 在虚拟机内部运行,则必须在主机虚拟机监控程序中启用嵌套虚拟化。

在 Windows 中启用 Hyper-V 加速

如果计算机满足上述条件,请使用以下步骤通过 Hyper-V 加速 Android 模拟器:

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

如何使用 Android 仿真器启用硬件加速(Hyper-V 和 AEHD)

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

重要

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

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

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

使用 AEHD 加速

如果计算机不支持 Hyper-V,则应使用 AEHD 来加速 Android 模拟器。 在安装和使用 AEHD 之前,请阅读以下部分,验证计算机是否支持 AEHD。

验证对 AEHD 的支持

计算机必须满足以下条件才能支持 AEHD:

注释

Windows 中的多个功能隐式启用 Hyper-V。 有关详细信息,请参阅在 developer.android.com 上 。

在 Windows 中启用 AEHD 加速

如果计算机满足上述条件,请使用以下步骤通过 AEHD 加速 Android 仿真器:

在 Visual Studio 中,选择“Android Android > SDK 管理器工具>...”菜单项。

在 “Android SDK 和工具” 窗口中,选择“ 工具 ”选项卡。

在 “工具”选项卡中,展开 “附加项”,勾选 Android 模拟器虚拟机监控程序驱动程序(安装程序) 项的复选框,然后选择“ 应用更改 ”按钮:

如何使用 Android 仿真器启用硬件加速(Hyper-V 和 AEHD)

注释

或者,可以从 GitHub 下载并安装 AEHD。 解压缩驱动程序包后,使用管理员权限在命令行中运行 silent_install.bat 。

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

AEHD 2.1 及更高版本

安装后,使用以下命令确认驱动程序正常运行:

sc query aehd

如果驱动程序正常运行,状态消息将包含以下信息:

SERVICE_NAME: aehd
       ...
       STATE              : 4  RUNNING
       ...

以下错误消息表示未在 BIOS 中启用虚拟化扩展,或者未禁用 Hyper-V:

SERVICE_NAME: aehd
       ...
       STATE              : 1  STOPPED
       WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
       ...

安装并运行 AEHD 后,你将能够运行加速的 Android 模拟器。

AEHD 2.0 和更低版本

安装后,使用以下命令确认驱动程序正常运行:

sc query gvm

如果驱动程序正常运行,状态消息将包含以下信息:

SERVICE_NAME: gvm
       ...
       STATE              : 4  RUNNING
       ...

以下错误消息表示未在 BIOS 中启用虚拟化扩展,或者未禁用 Hyper-V:

SERVICE_NAME: gvm
       ...
       STATE              : 1  STOPPED
       WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
       ...

安装并运行 AEHD 后,你将能够运行加速的 Android 模拟器。

卸载 AEHD

若要卸载 AEHD,请在具有管理员权限的命令行中使用以下命令:

重要

在卸载适用于 AMD 的 AEHD 之前关闭任何 x86 仿真器。

故障排除

有关排查硬件加速问题的帮助,请参阅 Android 模拟器 指南。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。