Share via


Android Emulator 疑難排解

本文描述設定及執行 Android Emulator 時所發生的最常見警告訊息和問題。 此外,它也會說明解決這些錯誤的解決方案,以及各種疑難解答秘訣,以協助您診斷模擬器問題。 如需詳細資訊,請參閱 針對 developer.android.com 上的Android模擬器 已知問題進行疑難解答。

Windows 上的部署問題

當您部署應用程式時,模擬器可能會顯示一些錯誤訊息。 以下說明最常見的錯誤及解決方式。

部署錯誤

如果您看到有關無法在模擬器上安裝 APK 或無法執行 Android Debug Bridge (adb) 的錯誤,請確認 Android SDK 可連線至您的模擬器。 若要確認模擬器連線,請使用下列步驟:

  1. Android 裝置管理員 啟動模擬器(選取您的虛擬設備,然後選取 [啟動]。

  2. 開啟命令提示字元,然後移至安裝 adb 的資料夾。 如果 Android SDK 安裝在其預設位置, adb 會位於 C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe;如果不是,請針對計算機上的 Android SDK 位置修改此路徑。

  3. 輸入以下命令:

    adb devices
    
  4. 如果可從 Android SDK 存取模擬器,模擬器應該會顯示在連接的裝置清單中。 例如:

    List of devices attached
    emulator-5554   device
    
  5. 如果模擬器未出現在此清單中,請啟動 Android SDK 管理員,套用所有更新,然後再次嘗試啟動模擬器。

MMIO 存取錯誤

若顯示 [發生 MMIO 存取錯誤] 訊息,請重新啟動模擬器。

遺漏 Google Play Services

如果仿真的 Android 裝置未安裝 Google Play 服務或 Google Play Store,您可能會建立排除這些套件的虛擬設備。 當您 建立虛擬設備時,請務必選取下列其中一個或兩個選項:

  • Google API— 在虛擬設備中包含Google Play服務。
  • Google Play 商店 – 在虛擬設備中包含 Google Play 商店。

例如,此虛擬裝置將會包含 Google Play Services 和 Google Play 商店:

Android Device Manager with Google Play Services and Play Store enabled for .NET MAUI.

注意

Google Play 商店影像僅適用於某些基底裝置類型,例如 Pixel、Pixel 2、Nexus 5 和 Nexus 5X。

效能問題

效能問題通常是由於下列其中一個問題所造成:

  • 模擬器正在執行但未使用硬體加速。
  • 使用 Arm 型映像在模擬器中執行的虛擬設備。

下列各節會更詳細地說明這些案例。

未啟用硬體加速

當您啟動虛擬裝置且未啟用硬體加速時,裝置管理員 會顯示類似下圖的錯誤對話框:

Android device manager warning about Hyper-V not enabled on .NET MAUI.

若要修正此錯誤,請遵循硬體加速問題一節中的疑難解答步驟。

硬體加速問題

使用硬體加速時,您可能會遇到設定問題,或與您電腦上的其他軟體發生衝突。 疑難解答的第一個步驟是確認硬體加速已啟用。 您可以使用 Android 的 SDK 來檢查此設定。 開啟命令提示字元並輸入下列命令:

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator-check.exe" accel

此命令假設 Android SDK 安裝在 C:\Program Files (x86)\Android\android-sdk 的預設位置 。 如果 Android SDK 安裝在其他地方,請將上述命令修改為正確的位置。

提示

請確定 Android 模擬器為最新狀態。 在 Visual Studio 中,按 [工具 > ][Android > ANDROID SDK 管理員]。 選取 [工具] 索引 標籤,並查看 Android 模擬器 專案是否有 可用的更新。

不正確的 BIOS 設定

如果 BIOS 尚未正確設定以支援硬體加速,當您執行 emulator-check.exe accel 命令時,會顯示類似下列範例的訊息:

VT feature disabled in BIOS/UEFI

若要修正此問題,請讓您的電腦重新開機進入 BIOS 並啟用下列選項:

  • 虛擬化技術 (視主機板製造商而定,可能會有不同的標籤)。
  • 硬體強制執行的資料執行防止。

如果仍然因為與 Hyper-V 相關的問題而發生問題,請參閱下一節。

Hyper-V 問題

在某些情況下,在 [開啟或關閉 Windows 功能] 對話方塊中同時啟用 Hyper-VWindows Hypervisor 平台可能會無法適當地啟用 Hyper-V。 若要確認是否已啟用 Hyper-V,請使用下列步驟:

  1. 在 Windows 搜尋方塊中輸入 PowerShell

  2. 以滑鼠右鍵按一下搜尋結果中的 Windows PowerShell,然後選取 [以系統管理員身分執行]

  3. 在 PowerShell 主控台中,輸入下列命令:

    Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
    

    如果未啟用 Hyper-V,將會顯示類似下列範例的訊息,指出 Hyper-V 的狀態為 Disabled

    FeatureName      : Microsoft-Hyper-V-All
    DisplayName      : Hyper-V
    Description      : Provides services and management tools for creating and running virtual machines and their resources.
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    
  4. 在 PowerShell 主控台中,輸入下列命令:

    Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
    

    如果未啟用 Hypervisor,則會顯示類似下列範例的訊息,指出 HypervisorPlatform 的狀態為 Disabled

    FeatureName      : HypervisorPlatform
    DisplayName      : Windows Hypervisor Platform
    Description      : Enables virtualization software to run on the Windows hypervisor
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    

如果未啟用 Hyper-V 或 HypervisorPlatform,請使用下列 PowerShell 命令加以啟用:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All

這些命令完成之後,請重新開機。

如需啟用 Hyper-V 的詳細資訊 (包括使用部署映像服務與管理工具啟用 Hyper-V 的技術),請參閱安裝 Hyper-V

更多疑難排解提示

下列建議在診斷 Android Emulator 問題方面通常很有幫助。

從命令列啟動模擬器

如果模擬器尚未執行,您可以從命令列啟動它,而不是從 Visual Studio 內開始檢視其輸出。 一般而言,Android 模擬器 AVD 映射會儲存在下列位置: %userprofile%\.android\avd

您可以傳入 AVD 的資料夾名稱來使用此位置的 AVD 映像啟動模擬器。 例如,此命令會啟動名為 Pixel_API_27 的 AVD:

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe" -partition-size 2000 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd pixel_5_-_api_30 -prop monodroid.avdname=pixel_5_-_api_30

此命令假設 Android SDK 安裝在 C:\Program Files (x86)\Android\android-sdk 的預設位置 。 如果 Android SDK 安裝在其他地方,請將上述命令修改為正確的位置。

檢視 Device Manager 記錄

通常,您可以檢視 Device Manager 記錄來診斷模擬器問題。 這些記錄會寫入下列位置: %userprofile%\AppData\Local\Xamarin\Logs\16.0

您可以使用文字編輯器來檢視每個 DeviceManager.log 檔案。