如何使用 Android 模擬器(Hyper-V 和 AEHD)啟用硬體加速

使用 Visual Studio,您可以在模擬器中輕鬆地測試和偵錯適用於 Android 的 .NET MAUI 應用程式,以應對無法使用 Android 裝置的情況。 不過,如果硬體加速無法使用或啟用,模擬器將會執行非常緩慢。 您可以啟用硬體加速,以及使用適合您處理器架構的虛擬裝置映像檔,大幅增進模擬器的效能。 如需詳細資訊,請參閱在 developer.android.com 上 設定 Android 模擬器的硬體加速 。

該模擬器提供可用於不同目的的多功能網路功能,包括從 Windows 虛擬機器 (VM) 內部連接到 Mac 上運行的模擬器。 如需詳細資訊,請參閱 從 Windows 虛擬機器內部連線到 Mac 上的 Android 模擬器。

在 macOS 上,Android 模擬器使用內建的 Hypervisor.Framework。 如需詳細資訊,請參閱 developer.apple.com 上的 Hypervisor 。

在 Windows 上加速 Android 模擬器

下列虛擬化技術可用於加速 Windows 上的 Android 模擬器:

  • Windows Hypervisor 平台 (WHPX) 。 Hyper-V 是 Windows 的虛擬化功能,可以在實體主機上執行虛擬化電腦系統。
  • Android 模擬器 Hypervisor 驅動程式 (AEHD)。

備註

Intel 硬體加速執行管理程式(HAXM)從模擬器版本 33.x.x.x 開始不再支援,並已由 Intel 處理器上的 AEHD 替代。 如需在模擬器 32.x.x.x 和更低版本上使用 HAXM 的相關資訊,請參閱在 developer.android.com 上的 Windows 上使用 Intel HAXM 設定 VM 加速 。

為了在 Windows 上獲得最佳體驗,建議您使用 WHPX 來加速 Android 模擬器。 如果您的計算機上沒有 WHPX,則可以使用 AEHD。 如果符合下列條件,Android 模擬器會自動使用硬體加速:

  • 硬體加速可在您的開發電腦上使用並啟用。
  • 模擬器正在執行針對 x86-64 或 x86 型虛擬裝置建立的系統映像。

這很重要

虛擬機器 (VM) 加速模擬器可以在另一個 VM 內執行,包括 Microsoft Dev Box,前提是在 VM 中啟用巢狀虛擬化。

Windows ARM 裝置限制

Android 模擬器目前需要 x64 處理器架構,且 Windows ARM 裝置不支援。 此限制會影響裝置,例如:

  • Surface Pro X
  • Surface Pro 9(5G/ARM 變體)
  • 其他配備 ARM64 處理器的 Windows 裝置(Snapdragon 等)

如果您使用的是 Windows ARM 裝置,請考慮下列替代方案:

  • 使用實體 Android 裝置透過 USB 偵錯進行測試。 如需詳細資訊,請參閱 設定 Android 裝置以進行偵錯。
  • 使用基於雲端的測試服務或具有 x64 架構的遠端開發環境。
  • 如果可用,請考慮使用適用於 Android 的 Windows 子系統 (WSA),但與 Android 模擬器相比,這具有不同的限制和功能。

如要瞭解 Android 模擬器規定的最新資訊,請參閱 developer.android.com 上的 Android 模擬器規定 。

如需使用 Android 模擬器啟動和偵錯的相關資訊,請參閱 在 Android 模擬器上偵錯。

利用 Hyper-V 提升速度

在啟用 Hyper-V 之前,請閱讀以下部分以驗證您的計算機是否支持 Hyper-V。

驗證對 Hyper-V 的支援

Hyper-V 在 Windows Hypervisor 平台上執行。 若要搭配 Hyper-V 使用 Android 模擬器,您的電腦必須符合下列條件才能支援 Windows Hypervisor 平台:

  • 您的電腦硬體必須符合下列需求:

    • 支援虛擬化技術(VT-x)、擴展分頁表(EPT)和無限制客體(UG)功能的英特爾處理器。 必須在電腦的 BIOS 中啟用 VT-x。
    • AMD 處理器:推薦 AMD Ryzen 處理器。 必須在電腦的 BIOS 中啟用虛擬化或 SVM。
  • 您的電腦必須執行 Windows 11 或 Windows 10 1909 版或更新版本的企業版、專業版或教育版。

若要驗證您的電腦硬體和軟體是否與 Hyper-V 相容,請開啟命令提示字元並鍵入以下命令:

systeminfo

如果列出的所有 Hyper-V 需求值都為 [是],則您的電腦可以支援 Hyper-V。 例如:

檢查 .NET MAUI 的 Hyper-V 支援時的 systeminfo 輸出範例。

如果 Hyper-V 結果指出 Hypervisor 目前正在執行,則表示已啟用 Hyper-V。

這很重要

如果 Windows 在虛擬機器內執行,則必須在主機 Hypervisor 中啟用巢狀虛擬化。

在 Windows 中啟用 Hyper-V 加速

如果您的電腦符合上述條件,請使用以下步驟使用 Hyper-V 加速 Android 模擬器:

  1. 在 Windows 搜尋方塊中輸入 Windows 功能,然後在搜尋結果中選取 [開啟或關閉 Windows 功能]。 在 [Windows 功能 ] 對話方塊中,同時啟用 Hyper-V 和 Windows Hypervisor 平臺:

    啟用適用於 .NET MAUI 的 Hyper-V 和 Windows Hypervisor 平臺。

    進行這些更改後,重新啟動計算機。

    這很重要

    在 Windows 10 October 2018 Update (RS5) 及更高版本上,您只需啟用 Hyper-V,因為它會自動使用 Windows Hypervisor Platform (WHPX)。

  2. 請確定您在 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 模擬器:

  1. 在 Visual Studio 中,選取 [工具] [ > Android > Android SDK 管理員...] 功能表項目。

  2. 在 [Android SDK 和工具] 視窗中,選取 [工具] 索引標籤。

  3. 在 [工具] 索引標籤中,展開 [額外內容],勾選 [Android 模擬器 Hypervisor 驅動程式 (安裝程式)] 項目的核取方塊,然後選取 [套用變更 ] 按鈕:

    透過 Visual Studio 中的 Android SDK 管理員安裝 AEHD。

    備註

    或者,可以從 GitHub 下載並安裝 AEHD。 解壓縮驅動程式套件後,以管理員權限在命令列上執行 silent_install.bat 。

  4. 請確定您在 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,請在具有管理員權限的命令列中使用下列命令:

  • AEHD 2.1 及更高版本

    sc stop aehd
    sc delete aehd
    
  • AEHD 2.0 及更低版本

    sc stop gvm
    sc delete gvm
    

這很重要

在卸載 AEHD for AMD 之前,請關閉所有 x86 模擬器。

Troubleshoot

如需協助排解硬體加速問題,請參閱 Android 模擬器 疑難排解 指南。