Behandlung von Problemen mit dem Android-Emulator

In diesem Artikel werden die gängigsten Warnmeldungen und Probleme beschrieben, die beim Konfigurieren und Ausführen des Android-Emulators auftreten können. Außerdem werden Lösungen zum Beheben dieser Fehler und verschiedene Tipps zur Problembehandlung beschrieben, die Ihnen bei der Diagnose von Emulatorproblemen helfen. Weitere Informationen finden Sie unter Problembehandlung bekannter Probleme mit dem Android-Emulator auf developer.android.com.

Probleme bei der Bereitstellung unter Windows

Bei der Bereitstellung Ihrer App werden möglicherweise einige Fehlermeldungen vom Emulator angezeigt. Die am häufigsten auftretenden Fehler und die entsprechenden Lösungen werden im Folgenden erläutert.

Bereitstellungsfehler

Wenn Sie eine Fehlermeldung erhalten, dass das APK nicht im Emulator installiert oder Android Debug Bridge (adb) nicht ausgeführt werden konnte, stellen Sie sicher, dass das Android SDK eine Verbindung mit Ihrem Emulator herstellen kann. Führen Sie die folgenden Schritte aus, um die Emulatorkonnektivität zu überprüfen:

  1. Starten Sie den Emulator aus dem Android-Geräte-Manager (wählen Sie Ihr virtuelles Gerät aus, und wählen Sie "Start" aus).

  2. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zum Ordner, in dem adb installiert ist. Wenn das Android SDK am Standardspeicherort installiert ist, befindet sich adb unter C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe; falls nicht, ändern Sie diesen Pfad für den Speicherort des Android SDK auf Ihrem Computer.

  3. Geben Sie folgenden Befehl ein:

    adb devices
    
  4. Wenn auf den Emulator vom Android SDK aus zugegriffen werden kann, sollte der Emulator in der Liste der angehängten Geräte aufgelistet sein. Beispiel:

    List of devices attached
    emulator-5554   device
    
  5. Wenn der Emulator nicht in dieser Liste angezeigt wird, starten Sie den Android SDK-Manager, wenden Sie alle Updates an, und starten Sie den Emulator erneut.

MMIO-Zugriffsfehler

Wenn die Meldung Ein MMIO-Zugriffsfehler ist aufgetreten. angezeigt wird, starten Sie den Emulator neu.

Fehlende Google Play Services

Wenn das emulierte Android-Gerät keine Google Play Services oder Google Play Store installiert hat, haben Sie wahrscheinlich ein virtuelles Gerät erstellt, das diese Pakete ausgeschlossen hat. Achten Sie beim Erstellen eines virtuellen Geräts darauf, eine oder beide der folgenden Optionen auszuwählen:

  • Google-APIs – umfasst Google Play Services auf dem virtuellen Gerät.
  • Google Play Store– umfasst den Google Play Store auf dem virtuellen Gerät.

Dieses virtuelle Gerät beinhaltet z.B. Google Play Services und den Google Play Store:

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

Hinweis

Google Play Store-Images sind nur für einige grundlegende Gerätetypen wie Pixel, Pixel 2, Nexus 5 und Nexus 5X verfügbar.

Leistungsprobleme

Leistungsprobleme werden in der Regel durch eines der folgenden Probleme verursacht:

  • Emulator wird ohne Hardwarebeschleunigung ausgeführt
  • Das virtuelle Gerät, das im Emulator mit einem armbasierten Image ausgeführt wird.

In den folgenden Abschnitten werden diese Szenarien ausführlicher erläutert.

Hardwarebeschleunigung ist nicht aktiviert

Wenn Sie ein virtuelles Gerät starten und die Hardwarebeschleunigung nicht aktiviert ist, zeigt die Geräte-Manager ein Fehlerdialogfeld ähnlich der folgenden Abbildung an:

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

Um diesen Fehler zu beheben, führen Sie die Schritte zur Problembehandlung im Abschnitt "Hardwarebeschleunigungsprobleme " aus.

Probleme bei der Hardwarebeschleunigung

Bei Verwendung der Hardwarebeschleunigung treten möglicherweise Konfigurationsprobleme auf oder konflikte mit anderer Software auf Ihrem Computer. Der erste Schritt bei der Problembehandlung besteht darin, zu überprüfen, ob die Hardwarebeschleunigung aktiviert ist. Sie können das Android-SDK verwenden, um diese Einstellung zu überprüfen. Öffnen Sie eine Eingabeaufforderung, und geben Sie den folgenden Befehl ein:

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

Bei diesem Befehl wird davon ausgegangen, dass das Android SDK am Standardspeicherort von C:\Program Files (x86)\Android\android-sdk installiert ist. Wenn das Android SDK an anderer Stelle installiert ist, ändern Sie den vorherigen Befehl an den richtigen Speicherort.

Tipp

Stellen Sie sicher, dass der Android-Emulator auf dem neuesten Stand ist. Drücken Sie in Visual Studio tools>Android>SDK Manager. Wählen Sie die Registerkarte "Extras " aus, und überprüfen Sie, ob der Android-Emulatoreintrag über ein Update verfügt.

Falsche BIOS-Einstellungen

Wenn das BIOS nicht ordnungsgemäß für die Unterstützung der Hardwarebeschleunigung konfiguriert wurde, wird eine Meldung ähnlich dem folgenden Beispiel angezeigt, wenn Sie den Befehl emulator-check.exe accel ausführen:

VT feature disabled in BIOS/UEFI

Um dieses Problem zu beheben, starten Sie Ihren Computer im BIOS neu und aktivieren die folgenden Optionen:

  • Virtualisierungstechnologie (Bezeichnung kann je nach Hauptplatinenhersteller variieren)
  • Von Hardware erzwungene Datenausführungsverhinderung

Wenn weiterhin Probleme im Zusammenhang mit Hyper-V auftreten, lesen Sie den folgenden Abschnitt.

Probleme mit Hyper-V

In einigen Fällen wird Hyper-V möglicherweise nicht ordnungsgemäß aktiviert, wenn im Dialogfeld Windows-Features aktivieren oder deaktivierenHyper-V und Windows-Hypervisor-Plattform aktiviert werden. Um sicherzustellen, dass Hyper-V aktiviert wird, führen Sie die folgenden Schritte aus:

  1. Geben Sie PowerShell in das Windows-Suchfeld ein.

  2. Klicken Sie in den Suchergebnissen mit der rechten Maustaste auf Windows PowerShell, und klicken Sie auf Als Administrator ausführen.

  3. Geben Sie in der PowerShell-Konsole folgenden Befehl ein:

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

    Wenn Hyper-V nicht aktiviert ist, wird eine Meldung angezeigt, die dem folgenden Beispiel ähnelt, um anzugeben, dass der Status von Hyper-V deaktiviert ist:

    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. Geben Sie in der PowerShell-Konsole folgenden Befehl ein:

    Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
    

    Wenn der Hypervisor nicht aktiviert ist, wird eine Meldung angezeigt, die dem folgenden Beispiel ähnelt, um anzugeben, dass der Status von HypervisorPlatform deaktiviert ist:

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

Wenn Hyper-V oder HypervisorPlatform nicht aktiviert sind, verwenden Sie die folgenden PowerShell-Befehle, um sie zu aktivieren:

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

Starten Sie den Computer nach Ausführung dieser Befehle neu.

Weitere Informationen zum Aktivieren von Hyper-V (sowie den Methoden zum Aktivieren von Hyper-V mit dem DISM-Tool zur Imageverwaltung für die Bereitstellung) finden Sie unter Installieren von Hyper-V unter Windows 10.

Weitere Tipps zur Problembehandlung

Die folgenden Vorschläge sind oftmals hilfreich bei der Diagnose von Problemen mit dem Android-Emulator.

Starten des Emulators über die Befehlszeile

Wenn der Emulator noch nicht ausgeführt wird, können Sie ihn über die Befehlszeile (anstelle von Visual Studio) starten, um die Ausgabe anzuzeigen. Normalerweise werden AVD-Bilder des Android-Emulators am folgenden Speicherort gespeichert: %userprofile%\.android\avd.

Sie können den Emulator mit einem AVD-Image von diesem Speicherort starten, indem Sie den Ordnernamen des AVD übergeben. Dieser Befehl startet z.B. ein AVD mit dem Namen 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

Bei diesem Befehl wird davon ausgegangen, dass das Android SDK am Standardspeicherort von C:\Program Files (x86)\Android\android-sdk installiert ist. Wenn das Android SDK an anderer Stelle installiert ist, ändern Sie den vorherigen Befehl an den richtigen Speicherort.

Anzeigen von Device Manager-Protokollen

Häufig können Sie Probleme mit dem Emulator diagnostizieren, indem Sie die Device Manager-Protokolle anzeigen. Diese Protokolle werden an den folgenden Speicherort geschrieben: %userprofile%\AppData\Local\Xamarin\Logs\16.0.

Sie können jede DeviceManager.log-Datei mithilfe eines Text-Editors anzeigen.