Udostępnij za pośrednictwem


Rozwiązywanie problemów z emulatorem systemu Android

W tym artykule opisano najbardziej typowe komunikaty ostrzegawcze i problemy występujące podczas konfigurowania i uruchamiania emulatora systemu Android. Opisano również rozwiązania dotyczące rozwiązywania tych błędów i różnych wskazówek dotyczących rozwiązywania problemów, które ułatwiają diagnozowanie problemów z emulatorem. Aby uzyskać więcej informacji, zobacz Rozwiązywanie znanych problemów z emulatorem systemu Android w developer.android.com.

Problemy z wdrażaniem w systemie Windows

Niektóre komunikaty o błędach mogą być wyświetlane przez emulator podczas wdrażania aplikacji. Poniżej wyjaśniono najczęstsze błędy i rozwiązania.

Błędy wdrażania

Jeśli zostanie wyświetlony błąd dotyczący niepowodzenia instalacji pakietu APK w emulatorze lub niepowodzenia uruchomienia mostka debugowania systemu Android (adb), sprawdź, czy zestaw SDK systemu Android może nawiązać połączenie z emulatorem. Aby zweryfikować łączność emulatora, wykonaj następujące kroki:

  1. Uruchom emulator z Menedżer urządzeń systemu Android (wybierz urządzenie wirtualne i wybierz pozycję Uruchom).

  2. Otwórz wiersz polecenia i przejdź do folderu, w którym zainstalowano bazę danych adb . Jeśli zestaw SDK systemu Android jest zainstalowany w domyślnej lokalizacji, adb znajduje się w lokalizacji C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe; jeśli nie, zmodyfikuj tę ścieżkę dla lokalizacji zestawu SDK systemu Android na komputerze.

  3. Wpisz następujące polecenie:

    adb devices
    
  4. Jeśli emulator jest dostępny z zestawu Android SDK, emulator powinien zostać wyświetlony na liście dołączonych urządzeń. Na przykład:

    List of devices attached
    emulator-5554   device
    
  5. Jeśli emulator nie pojawi się na tej liście, uruchom Menedżera zestawu SDK systemu Android, zastosuj wszystkie aktualizacje, a następnie spróbuj ponownie uruchomić emulator.

Błąd dostępu MMIO

Jeśli zostanie wyświetlony komunikat Wystąpił błąd dostępu mmIO, uruchom ponownie emulator.

Brakujące usługi Google Play

Jeśli emulowane urządzenie z systemem Android nie ma zainstalowanych usług Google Play ani sklepu Google Play, prawdopodobnie utworzono urządzenie wirtualne, które wykluczyło te pakiety. Podczas tworzenia urządzenia wirtualnego należy wybrać jedną lub obie z następujących opcji:

  • Interfejsy API Google — obejmują usługi Google Play na urządzeniu wirtualnym.
  • Sklep Google Play obejmuje sklep Google Play na urządzeniu wirtualnym.

Na przykład to urządzenie wirtualne będzie zawierać usługi Google Play i Sklep Google Play:

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

Uwaga

Obrazy sklepu Google Play są dostępne tylko dla niektórych podstawowych typów urządzeń, takich jak Pixel, Pixel 2, Nexus 5 i Nexus 5X.

Problemy z wydajnością

Problemy z wydajnością są zwykle spowodowane jednym z następujących problemów:

  • Emulator działa bez przyspieszania sprzętowego.
  • Urządzenie wirtualne uruchomione w emulatorze przy użyciu obrazu opartego na usłudze Arm.

W poniższych sekcjach opisano te scenariusze bardziej szczegółowo.

Przyspieszanie sprzętowe nie jest włączone

Po uruchomieniu urządzenia wirtualnego i nie masz włączonego przyspieszania sprzętowego, Menedżer urządzeń wyświetla okno dialogowe błędu podobne do poniższego obrazu:

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

Aby rozwiązać ten błąd, wykonaj kroki rozwiązywania problemów w sekcji Problemy z przyspieszaniem sprzętowym.

Problemy z przyspieszaniem sprzętu

W przypadku korzystania z przyspieszania sprzętowego mogą wystąpić problemy z konfiguracją lub konflikty z innym oprogramowaniem na komputerze. Pierwszym krokiem rozwiązywania problemów jest sprawdzenie, czy przyspieszanie sprzętowe jest włączone. Aby sprawdzić to ustawienie, możesz użyć zestawu SDK systemu Android. Otwórz wiersz polecenia i wprowadź następujące polecenie:

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

To polecenie zakłada, że zestaw SDK systemu Android jest zainstalowany w domyślnej lokalizacji C:\Program Files (x86)\Android\android-sdk. Jeśli zestaw SDK systemu Android jest zainstalowany w innym miejscu, zmodyfikuj poprzednie polecenie w odpowiedniej lokalizacji.

Napiwek

Upewnij się, że emulator systemu Android jest aktualny. W programie Visual Studio naciśnij pozycję Narzędzia>Android>SDK Manager. Wybierz kartę Narzędzia i sprawdź, czy wpis Emulator systemu Android ma dostępną aktualizację.

Nieprawidłowe ustawienia systemu BIOS

Jeśli system BIOS nie został prawidłowo skonfigurowany do obsługi przyspieszania sprzętowego, podczas uruchamiania polecenia emulator-check.exe zostanie wyświetlony komunikat podobny do poniższego przykładu:

VT feature disabled in BIOS/UEFI

Aby rozwiązać ten problem, uruchom ponownie system BIOS komputera i włącz następujące opcje:

  • Technologia wirtualizacji (może mieć inną etykietę w zależności od producenta płyty głównej).
  • Sprzęt wymuszane zapobieganie wykonywaniu danych.

Jeśli problemy nadal występują z powodu problemów związanych z funkcją Hyper-V, zobacz następującą sekcję.

Problemy z funkcją Hyper-V

W niektórych przypadkach włączenie zarówno funkcji Hyper-V , jak i platformy funkcji Hypervisor systemu Windows w oknie dialogowym Włączanie lub wyłączanie funkcji Windows może nie być poprawnie włączone funkcji Hyper-V. Aby sprawdzić, czy funkcja Hyper-V jest włączona, wykonaj następujące kroki:

  1. Wprowadź ciąg PowerShell w polu wyszukiwania systemu Windows.

  2. Kliknij prawym przyciskiem myszy program Windows PowerShell w wynikach wyszukiwania i wybierz polecenie Uruchom jako administrator.

  3. W konsoli programu PowerShell wprowadź następujące polecenie:

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

    Jeśli funkcja Hyper-V nie jest włączona, zostanie wyświetlony komunikat podobny do poniższego przykładu, aby wskazać, że stan funkcji Hyper-V jest wyłączony:

    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. W konsoli programu PowerShell wprowadź następujące polecenie:

    Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
    

    Jeśli funkcja Hypervisor nie jest włączona, zostanie wyświetlony komunikat podobny do poniższego przykładu, aby wskazać, że stan funkcji HypervisorPlatform jest wyłączony:

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

Jeśli funkcja Hyper-V lub hypervisorPlatform nie są włączone, użyj następujących poleceń programu PowerShell, aby je włączyć:

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

Po zakończeniu tych poleceń uruchom ponownie.

Aby uzyskać więcej informacji na temat włączania funkcji Hyper-V (w tym technik włączania funkcji Hyper-V przy użyciu narzędzia obsługi i zarządzania obrazami wdrażania), zobacz Instalowanie funkcji Hyper-V.

Więcej porad dotyczących rozwiązywania problemów

Poniższe sugestie są często przydatne podczas diagnozowania problemów z emulatorem systemu Android.

Uruchamianie emulatora z poziomu wiersza polecenia

Jeśli emulator nie jest jeszcze uruchomiony, możesz uruchomić go z poziomu wiersza polecenia (a nie z poziomu programu Visual Studio), aby wyświetlić jego dane wyjściowe. Zazwyczaj obrazy AVD emulatora systemu Android są przechowywane w następującej lokalizacji: %userprofile%\.android\avd.

Emulator można uruchomić przy użyciu obrazu AVD z tej lokalizacji, przekazując nazwę folderu avD. Na przykład to polecenie uruchamia usługę AVD o nazwie Pixel_API_27:

"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

To polecenie zakłada, że zestaw SDK systemu Android jest zainstalowany w domyślnej lokalizacji C:\Program Files (x86)\Android\android-sdk. Jeśli zestaw SDK systemu Android jest zainstalowany w innym miejscu, zmodyfikuj poprzednie polecenie w odpowiedniej lokalizacji.

Wyświetlanie dzienników Menedżer urządzeń

Często można zdiagnozować problemy z emulatorem, wyświetlając dzienniki Menedżer urządzeń. Te dzienniki są zapisywane w następującej lokalizacji: %userprofile%\AppData\Local\Xamarin\Logs\16.0.

Każdy plik DeviceManager.log można wyświetlić przy użyciu edytora tekstów.