隐藏

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

发布:2024/10/29 17:54:01作者:管理员 来源:本站 浏览次数:279

在本文中

在 Windows 上加速 Android 模拟器

使用 Hyper-V 加速

借助 AEHD 加速

故障排除

使用 Visual Studio,您可以在 Android 设备不可用的情况下在模拟器中轻松测试和调试适用于 Android 的 .NET MAUI 应用程序。但是,如果硬件加速不可用或未启用,模拟器的运行速度将非常缓慢。您可以通过启用硬件加速并使用适合您的处理器架构的虚拟设备映像来显着提高模拟器的性能。有关更多信息,请参阅developer.android.com 上的为Android 模拟器配置硬件加速。


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


在 macOS 上,Android 模拟器使用内置的 Hypervisor.Framework。有关更多信息,请参阅developer.apple.com 上的虚拟机管理程序。


在 Windows 上加速 Android 模拟器

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


Windows 管理程序平台 (WHPX)。Hyper-V是 Windows 的一项虚拟化功能,可以在物理主机上运行虚拟化计算机系统。

Android 模拟器管理程序驱动程序 (AEHD)。

笔记


英特尔硬件加速执行管理器 (HAXM) 已从模拟器 33.xxx 中弃用,并已被英特尔处理器上的 AEHD 取代。有关在模拟器 32.xxx 及更低版本上使用 HAXM 的信息,请参阅developer.android.com 上的在 Windows 上使用 Intel HAXM 配置虚拟机加速。


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


您的开发计算机上可以使用并启用硬件加速。

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

重要的


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


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


使用 Hyper-V 加速

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


验证对 Hyper-V 的支持

Hyper-V 在 Windows Hypervisor 平台上运行。要将 Android 模拟器与 Hyper-V 结合使用,您的计算机必须满足以下条件才能支持 Windows Hypervisor 平台:


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


Intel 处理器支持虚拟化技术 (VT-x)、扩展页表 (EPT) 和无限制来宾 (UG) 功能。必须在计算机的 BIOS 中启用 VT-x。

AMD 处理器:推荐 AMD Ryzen 处理器。必须在计算机的 BIOS 中启用虚拟化或 SVM。

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


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


Windows 命令提示符


复制

systeminfo

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

检查 Hyper-V 对 .NET MAUI 的支持时的 systeminfo 输出示例。


如果 Hyper-V 结果表明虚拟机管理程序当前正在运行,则 Hyper-V 已启用。


重要的


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


在 Windows 中启用 Hyper-V 加速

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


在 Windows 搜索框中输入Windows 功能,然后在搜索结果中选择打开或关闭 Windows 功能。在Windows 功能对话框中,启用Hyper-V和Windows Hypervisor Platform:


为 .NET MAUI 启用 Hyper-V 和 Windows Hypervisor 平台。


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


重要的


在 Windows 10 October 2018 Update (RS5) 及更高版本上,您只需启用 Hyper-V,因为它将自动使用 Windows Hypervisor Platform (WHPX)。


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


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


借助 AEHD 加速

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


验证对 AEHD 的支持

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


具有虚拟化扩展功能的 Intel 或 AMD 处理器,必须在 BIOS 中启用。

64 位 Windows 11 或 Windows 10。

必须关闭 Hyper-V。

笔记


Windows 中的多项功能隐式启用 Hyper-V。有关更多信息,请参阅developer.android.com 上的禁用 Hyper-V 时的仔细检查。


在 Windows 中启用 AEHD 加速

如果您的计算机满足上述条件,请使用以下步骤使用 AEHD 加速 Android 模拟器:


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


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


在Tools 选项卡中,展开Extras ,勾选Android Emulator Hypervisor Driver (installer)项的复选框,然后选择Apply Changes按钮:


通过 Visual Studio 中的 Android SDK 管理器安装 AEHD。


笔记


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


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


AHD 2.1 及更高版本

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


Windows 命令提示符


复制

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 模拟器。


AEAHD 2.0 及更低

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


Windows 命令提示符


复制

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,请在具有管理员权限的命令行中使用以下命令:


AHD 2.1 及更高版本


Windows 命令提示符


复制

sc stop aehd

sc delete aehd

AEAHD 2.0 及更低


Windows 命令提示符


复制

sc stop gvm

sc delete gvm

重要的


卸载适用于 AMD 的 AEHD 之前,请关闭所有 x86 模拟器。


故障排除

如需解决硬件加速问题的帮助,请参阅 Android 模拟器故障排除指南。