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:
Uruchom emulator z Menedżer urządzeń systemu Android (wybierz urządzenie wirtualne i wybierz pozycję Uruchom).
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.
Wpisz następujące polecenie:
adb devices
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
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:
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:
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:
Wprowadź ciąg PowerShell w polu wyszukiwania systemu Windows.
Kliknij prawym przyciskiem myszy program Windows PowerShell w wynikach wyszukiwania i wybierz polecenie Uruchom jako administrator.
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 :
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.