Versionshinweise zum Emulator

Der Android-Emulator ist in Android Studio enthalten.

Versionen des Emulators vor 25.3.0 wurden als Teil der Android SDK-Tools verteilt.

Um sicherzugehen, dass Sie die aktuelle Version verwenden, suchen Sie im SDK Manager nach Updates.

Wenn Sie frühere Versionen des Android-Emulators herunterladen möchten, sehen Sie sich das Emulator-Downloadarchiv an.

Versionshinweise für Emulator-Versionen vor 25.3.0 finden Sie in den Versionshinweisen zu Android SDK Tools.

Informationen dazu, welche Probleme in den neuesten Versionen des Android-Emulators behoben wurden, finden Sie unter Geschlossene Probleme.

Informationen zu bekannten Problemen und zur Fehlerbehebung finden Sie unter Fehlerbehebung für Emulatoren.

35.6.11 – Stable (24. Juni 2025)

  • Die Unterstützung für AMD- und Nvidia-GPUs wurde unter Windows und Linux für die XR-Emulation verbessert.

  • XR-AVD kann eingebettet in den Android Studio-Fenstern ausgeführt werden.

  • Verbesserung der Details von Absturzberichten unter Windows, um den vollständigen Dump des Emulators zu ermöglichen

  • Fehlerkorrektur: Der Android Emulator XR stürzt mit einem Vulkan-Fehler ab.

  • Fehlerkorrektur: libndk_translation.so wird abgebrochen und verursacht einen Absturz in Arm64AesEncode

35.5.10 Stable (6. Mai 2025)

  • Zusätzliche CPU-Kompatibilitätsprüfungen mit Fehlermeldungen hinzugefügt (z. B. bei nicht genügend Speicherplatz)

  • Fehler im Zusammenhang mit der Vulkan-Speicherverwaltung und ungültigen Anwendungsfällen wurden behoben.

  • Die Unterstützung von Vulkan-Snapshots wird geprüft und korrekt übersprungen, wenn die Ausführung über ein Terminal erfolgt.

  • Unterstützung für die Erweiterung „VK_KHR_multiview“ und das Texturformat „A1R5G5B5“ hinzugefügt

  • AVD für Pixel 9a hinzugefügt

35.4.9 Stable (25. Februar 2025)

  • In den erweiterten Steuerelementen für die GLES-Treiber-Einstellungen für Gastbetriebssysteme wurde ein Drop-down-Menü hinzugefügt.

  • [Fehlerkorrektur]Problem 389330750: Beim Senden von SMS an den Emulator mit dem Zeichen „Ñ“ wird die Nachricht aufgeteilt

  • [Fehlerkorrektur]Problem 382180488: Die Funktion „emuglConfig_get_vulkan_hardware_gpu_support_info“ stürzt ab, weil keine Vulkan-Geräte erkannt wurden.

  • Hinweis:Android XR-Emulatoren sind nur in Canary-Versionen von Studio verfügbar.

35.3.11 – Stable (9. Januar 2025)

  • [Fehlerkorrektur]Problem 368059211: Programmatischer Zugriff auf VHAL über die Car Service API in Android Auto OS funktioniert nicht

  • [Fehlerkorrektur]Problem 348598513: Der Emulator hat eine unnötige threadsichere öffentliche Methode in einer Multithread-Sperre.

  • [Fehlerbehebung]Problem 356896486: Vulkan-API-Aufrufe werden bei der Ausführung mit „-feature -Vulkan“ wirklich deaktiviert.

35.4.4 Canary (12. Dezember 2024)

Neuer Android XR-Emulator

Wir haben einen neuen, experimentellen Android XR-Emulator zum Entwickeln und Testen von Apps hinzugefügt, die mit dem Jetpack XR SDK für Headsets erstellt wurden. Informationen zum Installieren des Android XR-Emulators und zum Einrichten der Entwicklungsumgebung finden Sie unter Jetpack XR SDK einrichten.

Der Android XR-Emulator ist ein experimentelles Tool. Wir haben uns dennoch entschieden, die Informationen frühzeitig mit Ihnen zu teilen, damit Sie frühzeitig testen können. Es kann zu Problemen kommen, insbesondere bei einigen Windows-GPU- und Treiberkonfigurationen. Es können auch Probleme bei Kompatibilitätstests vorhandener 2D-Apps für Mobilgeräte auftreten. Ihr Feedback hilft uns, zukünftige Funktionen zu verbessern und zu priorisieren.

Bisher wurde der Android XR-Emulator auf den folgenden Hardwarekonfigurationen getestet:

  • Mac (ARM)
  • Windows 11
    • nVidia-GPU, 4 GB VRAM, Treiberversion 553.35 oder höher
  • 16 GB RAM oder mehr
  • Mindestens 8 Kerne

Bekannte Probleme

Emulator – Stabilität und Leistung:

  • Bei einigen Windows-Konfigurationen kann es zu kritischen Systemabstürzen während des Bootvorgangs oder bei der Ausführung von Anwendungen kommen. Achten Sie darauf, dass die Windows Hypervisor Platform (WHPX) aktiviert ist. Folgen Sie dazu der Anleitung für Entwickler in Android Studio zum Aktivieren von WHPX.
  • Probleme wie nicht reagierende AVD- oder UI-Elemente auf Laptops nach einem Suspend-Resume-Zyklus (z. B. Schließen und Öffnen eines Laptops).
  • Gelegentliche Abstürze beim Wechseln von Apps vom „Startbildschirmmodus“ in den „Vollbildmodus“
  • Gemini APIs sind noch nicht verfügbar. Die Gemini API-Startervorlagen-App stürzt ab.

Emulator – Eingabe und Ausgabe simulieren:

  • Die virtuelle Tastatur für Such- und Bearbeitungsfelder ist möglicherweise nur teilweise im Sichtfeld zu sehen.
  • Elemente können nicht mit Maus und Tastatur in Z-Richtung (in den Bildschirm hinein und aus dem Bildschirm heraus) verschoben werden

  • Instabilität bei der Audioeingabe des AVD-Mikrofons kann zu Neustarts und Abstürzen von AVD führen.

  • Der Ton ist manchmal statisch oder verzerrt.

  • Wenn die Kamera aus dem virtuellen Wohnzimmer entfernt wird, sind Rendering-Fehler sichtbar.

  • Windows-Konfigurationen werden mit dunkleren Farben als gewohnt angezeigt.

  • Audio funktioniert nicht mehr, nachdem der Emulator im Leerlauf war und der Bildschirm unter macOS gesperrt wurde. (Durch einen Neustart des Emulators wird er wiederhergestellt.)

  • Die Netzwerkverbindung wird unterbrochen, wenn auf dem Hostcomputer das WLAN gewechselt wird.

  • Wenn die Feststelltaste aktiviert ist, werden weiterhin Kleinbuchstaben eingegeben.

  • Das Scrollen mit dem Trackpad auf dem Mac ist nicht flüssig.

  • Das Scrollen per Klicken und Ziehen funktioniert bei einigen UI-Elementen möglicherweise nicht. Wenn nicht, verwenden Sie stattdessen das Mausrad.

  • Verschwommener Text, Benutzeroberfläche und andere Fehler in Chrome bei einigen Windows-Systemkonfigurationen. Wahrscheinliche Problemumgehung: WHP aktivieren.

Emulator – Flugzeuge und Anker simulieren:

  • Anker werden manchmal nicht in der Nähe des ursprünglichen Standorts neu generiert
  • Verschiebbare Scheiben können nicht an Wänden oder Decken verankert werden.
  • Simulierte Ebenen stimmen im Passthrough-Modus nicht mit dem physischen Layout des 3D-Raums überein
  • Insgesamt begrenzte Bereiche zum Verankern von Objekten im virtuellen Raum
  • Kleines sichtbares Artefakt in der Passthrough-Ansicht unter Windows
  • In einigen Fällen kann das Platzieren von Ankern zum Absturz der App führen.
  • Schwarze Linien können über Apps angezeigt werden, wenn Apps auf Windows in Bodennähe verschoben werden

Emulator – Andere:

  • Der Emulator wird nur im eigenständigen Modus gestartet. Der Modus „Eingebettet“ (eingebettete Benutzeroberfläche) wird noch nicht unterstützt.
  • Wenn Sie sich mit Konten im Emulator unter Windows anmelden, reagiert der Emulator möglicherweise nicht mehr.
  • UI-Inhalte von Fenstern verschwinden möglicherweise nach dem Ändern der Größe (Workaround: Drücken der Home-Schaltfläche)
  • In der JXRCore ActivityPanelTest App wird das sekundäre Panel anfangs nicht angezeigt.
  • Schnelleinstellungen können nach längerer Zeit aus den Systemeinstellungen verschwinden.
  • Die Emulator-Benutzeroberfläche wird möglicherweise anfangs außerhalb des Bildschirmbereichs angezeigt. Wenn ja, passen Sie die Größe des Emulatorfensters leicht an. Es sollte dann wieder an der richtigen Stelle einrasten.
  • Emulator startet möglicherweise nicht, wenn Chrome Remote Desktop unter Windows verwendet wird
  • OpenXR wird im Emulator bisher nicht unterstützt und OpenXR-Apps können den Emulator zum Absturz bringen.
  • Seltene Fehler beim Senden von Fehlerberichten über die erweiterten Android Studio-Einstellungen unter Windows
  • Das Symbol „Zurück“ wird in den Einstellungen auf dem Mac erst richtig angezeigt, wenn der Mauszeiger in der Nähe ist.
  • In einigen Fällen kann es beim Erstellen zu Fehlern kommen, wenn das Modul „Baseline Profile“ als Teil eines XR-Vorlagenprojekts verwendet wird.
  • Die Bedienungshilfe „XR Talkback“ ist bisher nur teilweise in den Emulator integriert.

Scene Viewer-App:

  • Wenn Sie Elemente in Scene Viewer verschieben, kann es zu einem Absturz kommen. Um dieses Problem zu umgehen, bewegen Sie die Kopfposition leicht von ihrer ursprünglichen Position weg (z.B. mit Schwenken, Dolly, WASD usw.), bevor Sie versuchen, das Element zu verschieben.
  • Die Funktion „1:1 – Originalgröße“ funktioniert nicht richtig, wenn die tatsächliche Größe des 3D-Modells unter oder über den Mindest- und Höchstgrenzen für die Skalierung liegt (derzeit 20 cm bzw. 70 m).
  • Das 3D-Modell könnte nach dem Laden im ersten Frame springen.

35.2.10 (1. Oktober 2024)

  • Neue Pixel-AVDs hinzugefügt, darunter Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL und Pixel 9 Pro Fold
  • Neues Tablet-Systemimage für Vanilla Ice Cream (API 35) hinzugefügt

35.1.20 (29. August 2024)

  • AVD für Pixel 8a hinzugefügt
  • Verschiedene Fehlerkorrekturen für Faltbare
  • Qt-Update und Korrekturen für Abstürze und Hänger im Zusammenhang mit Qt
  • [Fehlerbehebung] Abstürze und Einfrieren unter Windows bei Anwendungen, die Vulkan verwenden, behoben

34.2.16 (9. Juli 2024)

  • [Fehlerkorrektur] Einfrieren der Benutzeroberfläche auf dem Pixel Fold beim Ein- und Ausklappen
  • [Fehlerkorrektur] Falsche Anzeige der Android-Version als „Android Vanilla Ice Cream“ Vorschau anstelle von API 35 auf Mac M1.
  • [Fehlerkorrektur] Problem 296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE gibt im Pixel C-Tablet-Emulator „true“ zurück

34.2.15 (31. Mai 2024)

  • Verschiedene Fehlerbehebungen im Zusammenhang mit dem Swangle-Modus und der Bereinigung von Werbetreibenden

34.2.14 (20. Mai 2024)

Getestet mit Android Studio Jellyfish Stable Patch 1.

  • [Fehlerkorrektur] Snapshot bleibt manchmal im eingebetteten Emulator hängen
  • [Fehlerkorrektur] Die Schaltflächen „Nein“ und „Abbrechen“ funktionieren im Snapshot nicht richtig
  • [Fehlerkorrektur] Tasten des Steuerkreuzes funktionieren nicht
  • [Fehlerkorrektur] Das Problem unter Windows wurde behoben, das dazu führte, dass der Emulator unter bestimmten Bedingungen bei Verwendung von GPU-Modi mit ANGLE nicht gestartet wurde und die Fehlermeldung „Failed to initialize GL emulation“ (GL-Emulation konnte nicht initialisiert werden) im Log zurückgegeben wurde. Wenn Sie den Emulator über die Befehlszeile mit der Option -gpu swangle_indirect starten, kann dieser Fehler in dieser Version weiterhin auftreten. Wenn Sie den Emulator unter Windows mit Software-Grafikrendering mit dieser Version weiterhin über die Befehlszeile starten möchten, verwenden Sie -gpu swiftshader_indirect.
  • [Fehler behoben] Über die Tastenkombination für den Standort wird eine unbrauchbare Karte geladen
  • [Fehlerkorrektur] Beim Festlegen des Standorts fehlt das Dialogfeld „Route speichern“.

34.2.13 (30. April 2024)

Getestet mit der stabilen Version von Android Studio Jellyfish.

  • Aktualisierung auf Qt 6.5.3
  • Kompatibilität für die Google Maps API-Updates, die in den Standortfunktionen in den erweiterten Steuerelementen des Emulators verwendet werden. Diese Updates erfolgen Ende Mai.
  • Wichtige Fehlerkorrekturen für Abstürze
  • Verschiedene Fehler bei Pixel-AVDs wurden behoben
  • Grafikbibliothek für Software-Rendering aktualisieren
  • [Fehlerkorrektur]Problem 225541819: Beim Starten von Chrome stürzt der Emulator auf x86_64 ab
  • [Fehlerkorrektur]Problem 314614435: -http-proxy-Schalter wird falsch geparst

34.1.20 (1. April 2024)

Getestet mit Android Studio Iguana Stable.

  • [Fehlerkorrektur] Problem 314614435: Problem behoben, bei dem der Schalter -http-proxy falsch geparst wurde

34.1.19 (7. März 2024)

Getestet mit Android Studio Iguana Stable.

  • [Fehlerkorrektur] Problem 312677259: Das Einfrieren des Bildschirms im eingebetteten Emulator nach dem Anpassen der Fenstergröße wurde behoben.

34.1.18 (29. Februar 2024)

Getestet mit Android Studio Iguana Stable.

  • Dem Emulator wurden Geräte hinzugefügt, darunter:
    • Google Pixel Fold
    • Pixel Tablet
    • Pixel 8
    • Google Pixel 8 Pro
    • Google Pixel 7a
  • gRPC-Integrationstest: gRPC-Endpunkte sind jetzt für instrumentierte Tests verfügbar, die im Emulator ausgeführt werden. So können realistische Szenarien getestet werden. Mit dieser Funktion können Entwickler sicher mit dem vom Android-Emulator gehosteten gRPC-Endpunkt interagieren, und zwar über Android-Instrumentierungstests.
  • Diverse Fehlerkorrekturen
    • Fehlerkorrektur: Verbesserungen bei der Nutzung von faltbaren Geräten
    • Fehlerkorrektur: Position des Emulators nach der Drehung anpassen
    • Fehlerkorrekturen für Abstürze

33.1.24 (28. Dezember 2023)

Getestet mit Android Studio Hedgehog Stable und Iguana Beta 1.

  • Ein Problem mit der Emulator-Webcam wurde behoben, das die Bildschirmaufzeichnung im MP4-Format verhindert hat.
  • Behebung eines Emulator-Absturzes auf dem Pixel Fold-AVD, wenn das Gerät während einer Bildschirmaufzeichnung aufgeklappt wird.
  • Ein Problem wurde behoben, bei dem auf dem Pixel Fold ein anderes Smartphone-Design mit einer abgenommenen Tastatur angezeigt wurde und das Gerät nicht verwendet werden konnte (behoben unter Windows, Mac Intel und Linux).
  • Fehler bei der Darstellung virtueller Sensoren im Standalone-Modus behoben (Windows, Mac Intel und Linux)
  • Es wurden Fehlerkorrekturen für einige Abstürze bereitgestellt, insbesondere beim Schließen des Emulators.

33.1.23 (30. November 2023)

Getestet mit Android Studio Giraffe Patch 4 und Hedgehog Stable.

  • Neue Implementierung für faltbare Geräte zur besseren Emulation des Pixel Fold-Geräts, funktioniert mit der neuesten API 34
  • Upgrade des Grafik-Back-Ends: Wir haben das gfxstream-Protokoll für unser Grafik-Back-End implementiert. Diese Verbesserung steigert die allgemeine Grafikleistung und ‑stabilität Ihres Systems. Außerdem wird ab dem Systemimage mit API 34 die Unterstützung von Vulkan 1.3 eingeführt.
  • Funktionsanfrage: Option zum Deaktivieren der Pinch-to-Zoom-Geste oder zum Neuzuweisen des zugehörigen Hotkeys
  • [Fehlerbehebung] Problem 302562962: Absturz der Emulator-Webcam bei Verwendung von MacOS Sonoma behoben
  • [Fehlerkorrektur] Problem 293503871: Das Problem, dass die Einstellung „Mikrofon“ beim Neustart des Emulators nicht gespeichert wird, wurde behoben.
  • [Fehlerkorrektur] Problem 270386314: Animationsfehler behoben, bei dem die Seitenleiste geöffnet bleibt, wenn der AVD-Bildschirm minimiert wird
  • [Fehlerkorrektur] Problem 154896775: Fehlerbehebungstool korrigiert

32.1.15 (29. August 2023)

Getestet mit Android Studio Giraffe Patch 1 und Hedgehog Canary 16.

  • GAS-Hardwareanforderungen für Sensoren im AAE-Emulator einhalten
  • [Fehlerkorrektur] Problem 266201208: Hebräische SMS werden unter API 33 nicht gesendet
  • [Fehlerkorrektur] Problem 257097404: Der Emulator zeigt nach dem Aufwecken des Hosts unter API 29 und 30 nicht die richtige Uhrzeit an.
  • [Fehlerkorrektur] Problem 228201899: Google Maps ist in den erweiterten Steuerelementen des Android-Emulators nicht zu sehen

32.1.14 (27. Juni 2023)

Getestet mit Android Studio Hedgehog Canary 8, Giraffe Beta 5 und Flamingo Stable.

  • Kameraausrichtung und ‑verzerrungen im Emulator korrigieren
  • [Fehlerkorrektur] Problem 257097404: „Emulator shows incorrect time after the host is waken up“ (Emulator zeigt nach dem Aufwachen des Hosts die falsche Uhrzeit an). Dieser Fehler ist für API 29 und API 30 weiterhin reproduzierbar.
  • [Fehlerkorrektur] Problem 243456582: „Android-Releases nach API 30 werden im Emulator auf Mac M1-Computern möglicherweise nicht richtig gestartet.“

32.1.13 (22. Mai 2023)

Getestet mit Android Studio Hedgehog Canary 2, Giraffe Beta 1 und Flamingo Stable.

  • Unterstützung für Pixel Fold- und Pixel Tablet-AVDs hinzugefügt
  • Das Problem mit gLinux-Abstürzen wurde behoben.
  • [Fehlerkorrektur] Problem 215231636: „Emulator mit API über API 30 funktioniert nicht auf Intel-Prozessor der 12. Generation“.
  • [Fehlerkorrektur] Problem 275397905: Hohe Absturzrate im Android-Emulator M1, wenn der Cursorfokus wiederholt in den Emulator und aus dem Emulator bewegt wird.
  • Bekanntes Problem beim Starten von AVDs, wenn ein Absturzbericht eines neueren Emulators vorhanden ist. Weitere Informationen finden Sie unter Fehlerbehebung bei Emulatoren.

32.1.12 (21. März 2023)

Getestet mit Android Studio Giraffe Canary 10, Flamingo RC und Electric Eel Patch 2.

  • [Fehlerkorrektur] Problem 267647323: Netzwerk funktioniert nicht auf dem Emulator, der über Android Studio gestartet wurde
  • [Fehlerkorrektur] Problem 268498686: Der Emulatorbildschirm flackert
  • [Fehlerkorrektur] Problem 270034824: Die Emulatorleistung hat sich nach dem Update auf Version 33.1.1 verschlechtert.
  • [Fehlerkorrektur] Problem 225541819: Beim Starten von Chrome stürzt der Emulator auf x86_64 ab
  • [Fehlerkorrektur] Problem 257097404: Im Emulator wird nach dem Aufwecken des Hosts nicht die richtige Uhrzeit angezeigt
  • Absturzberichte für Apple M1-Geräte hinzufügen

32.1.11 (8. Februar 2023)

Getestet mit Android Studio Giraffe Canary 2, Flamingo Beta 1 und Electric Eel Patch 1.

  • Optimierung der Netzwerkgeschwindigkeit
  • Mausunterstützung im eingebetteten Emulator
  • Verbesserungen bei Virtio-snd
  • Verwendung von Symlinks beim Entpacken des Android-Emulators während der Installation deaktivieren
  • Absturz bei der Emulatorprüfung beheben

31.3.14 (13. Dezember 2022)

Getestet mit Android Studio Dolphin, Electric Eel RC1 und Flamingo Canary 9.

  • [Fehlerkorrektur] AVD-Abstürze beim Anmelden im Play Store behoben.

31.3.13 (27. Oktober 2022)

Getestet mit Android Studio Dolphin, Electric Eel Beta 2 und Flamingo Canary 5.

  • [Fehler behoben] Problem 249948338:Zeitzonenparameter funktioniert nicht
  • [Fehlerkorrektur] Problem 249366543:Die Emulatoroption „-dns-server“ funktioniert nach API 31 nicht mehr.

31.3.12 (10. Oktober 2022)

Getestet mit Android Studio Dolphin und Electric Eel Beta 1.

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • [Fehlerkorrektur] Problem 247843000:Fehler bei der Verarbeitung relativer AVD-Pfade
  • Laufwerkgröße für API 24 und höher erhöhen

31.3.11 (23. September 2022)

Getestet mit Android Studio Dolphin und Electric Eel Canary 10.

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • [Fehlerkorrektur] Absturz des eingebetteten Emulator-AVD im Fenster „Erweiterte Steuerelemente“
  • [Fehlerkorrektur] Problem 183139207:Audioprobleme im Zusammenhang mit der Mikrofonaktivierung durch den Emulator
  • [Fehlerkorrektur] Problem 229764024:Fehler bei der AVD-Touch-Funktion, der zu Problemen mit dem UI-Verhalten führt
  • [Fehlerkorrektur] Fehler beim Starten von API 33-AVD auf Mac M1.
  • [Fehlerkorrektur] Problem 243053479:Langsame Netzwerkgeschwindigkeit nach dem Aktualisieren des Emulators
  • [Fehlerkorrektur] Problem 244617627:Maps-Standort funktioniert unter Windows und Linux nicht
  • [Fehlerkorrektur] Problem 232971796:Die Schaltfläche „Gerät anrufen“ auf der Seite „Erweiterte Steuerung“ > „Smartphone“ funktioniert nicht.
  • Android Emulator auf minigbm aktualisieren
  • Migration von Build-Skripts zu Python 3

31.3.10 (18. August 2022)

Getestet mit Android Studio Dolphin Beta 5 und Electric Eel Canary 9.

Der Emulator ist jetzt als eigenständiger Download verfügbar. Wenn bei dieser aktuellen stabilen Version Probleme oder Abstürze auftreten, melden Sie einen Fehler und laden Sie eine zuvor funktionierende Version aus dem Emulator-Downloadarchiv herunter.

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Bessere Unterstützung von Unicode-Pfaden unter Windows
  • Der Emulator wird jetzt besser heruntergefahren, sodass ein neuer Start desselben AVD möglich ist.
  • Aktualisiertes faltbares AVD-Design und aktualisierte Standardeinstellungen
  • Aktualisierte Wear-Emulatortasten
  • Verbesserungen beim gRPC-Audiostreaming
  • Befehl für die anpassbare Emulator-Konsole hinzugefügt
  • Chrome-Korrektur für API 31
  • [Fehlerkorrektur] Google-Konto-Authentifizierung mit GmsCore v21.42.18 fehlgeschlagen

31.2.10 (20. April 2022)

Getestet mit Android Studio Dolphin Canary 8 und Chipmunk RC 1.

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Hilfsprogramm zum Laden von Vulkan-Funktionen mit Fallbacks hinzufügen
  • [Fehlerkorrektur] Fehler beim gcc8-Build behoben

31.2.9 (23. März 2022)

Getestet mit Android Studio Dolphin Canary 7.

Dieses Update enthält die folgende Korrektur:

  • [Fehlerkorrektur] Speicherbelastung beim Speichern von Snapshots auf M1 ignorieren

31.2.8 (7. Februar 2022)

Getestet mit Android Studio Bumblebee Patch 1 und Chipmunk Canary 6.

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • [Fehlerkorrektur] Anmeldung in den Apps nicht möglich
  • [Fehlerkorrektur] Problem 215368358: „adb reboot“ auf Intel-Plattform führt zum Absturz von AVD mit „vcpu shutdown request“

31.2.7 (1. Februar 2022)

Getestet mit Android Studio Bumblebee Patch 1 und Chipmunk Canary 6.

Dieses Update enthält die folgende Korrektur:

  • [Fehlerkorrektur] Fehler beim Aufhängen des Emulators auf M1-Computern.

31.2.6 (20. Januar 2022)

Getestet mit Android Studio Arctic Fox, Bumblebee Beta 4 und Chipmunk Canary 6.

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Dem Wear OS-Emulator wurden Schaltflächen für Wear hinzugefügt.
  • Alle Fahrzeugeigenschaften können jetzt auf dem VHAL-Tab bearbeitet werden.
  • [Fehlerkorrektur] Google-Kontoauthentifizierung mit GmsCore v21.42.18 fehlgeschlagen.
  • [Fehlerkorrektur] Netshaper hat nicht richtig mit VirtioWifi funktioniert.
  • [Fehlerkorrektur] Der Konsolenbefehl „event mouse“ hat nicht funktioniert.
  • KVM-Prüfung für die lokale AVD-Erstellung hinzugefügt.

31.1.3 (18. Januar 2022)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Konsolenports für Fuchsia aktiviert.
  • Beim Ändern der Größe eines Fensters auf mehreren Displays wird die Ausrichtung ignoriert.
  • WLAN: Es wurde Unterstützung für das Herausfiltern von Unicast-Paketen basierend auf der MAT-MAC-Adresse hinzugefügt.
  • WLAN: Ein Absturz bei Verwendung von „vmnet“ wurde behoben.

30.9.5 (15. Dezember 2021)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Die Größe des Fensters lässt sich jetzt ganz einfach an die Größe eines Desktop- oder Tablet-Bildschirms anpassen.
  • Unterstützung für Multi-Touch-Eingabe von kompatiblen Hostgeräten hinzugefügt.
  • VirtioWifi: Unterstützung für das TAP-Netzwerk hinzugefügt.
  • Die Dreheingabe wurde für Wear-System-Images aktiviert.
  • Das Problem mit der gRPC-Audiokonfiguration wurde behoben.
  • Die SensorReplay-Emulatorenwiedergabe wurde aktualisiert, um Standard-Android-Sensoren zu unterstützen.
  • Der Emulator wurde über USB mit Peripheriegeräten und Geräten verbunden.

30.4.5 (23. Februar 2021)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • macOS: Probleme mit Verzerrungen bei der Audioeingabe behoben.
  • Unterstützung für virtio-vsock im Userspace hinzugefügt.
  • Zukünftige System-Images verwenden „virtio-console“ für „logcat“- und Kernel-Meldungen.
  • Vulkan-Rendering beschleunigen
  • Unterstützung für das Snapshot-Debugging bei Testfehlern hinzugefügt.
  • virtio-gpu: Die Definitionen wurden aktualisiert, um die neuesten Blob-Ressourcen-Enums zu unterstützen.
  • Unterstützung für Snapshots für Grafiktransporte vom Typ „asg“ hinzugefügt.
  • macOS: Unterstützung für die Erstellung mit macOS SDK 11.1+ wurde hinzugefügt.
  • KVMclock ist auf neueren System-Images standardmäßig aktiviert.
  • Unterstützung für Herzfrequenzsensoren in Wear-Emulatoren hinzugefügt.
  • Das libportability-Vulkan-Backend wurde entfernt.
  • Unterstützung für weitere Funktionen im Modemsimulator hinzugefügt.

30.0.26 (16. August 2020)

Dieses Update enthält mehrere neue Funktionen, Verbesserungen an bestehenden Funktionen und Fehlerkorrekturen.

Unterstützung von Faltgeräten mit virtuellem Scharniersensor und 3D-Ansicht

  • Unterstützung für Scharniersensoren für faltbare Geräte hinzugefügt. Dazu sind ein zukünftiges Android 11-Systemimage und eine AVD-Konfiguration erforderlich. Die 3D-Ansicht für faltbare Geräte und die Parameter für das Scharnier sind jetzt in die vorhandenen Voreinstellungen für faltbare Geräte integriert. Das Folgende kann beispielsweise mit der config.ini-Datei des faltbaren AVD 7.3 verwendet werden:

    hw.sensor.hinge = yes
    hw.sensor.hinge.count = 1
    hw.sensor.hinge.type = 1
    hw.sensor.hinge.ranges = 180-360
    hw.sensor.hinge.defaults = 180
    hw.sensor.hinge.areas = 54.7-0
    hw.sensor.posture_list=4, 3
    hw.sensor.hinge_angles_posture_definitions=210-360, 180-210
    hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
    
  • Klappbare Geräte haben jetzt auch einen Untertypparameter. Die Property config.ini hw.sensor.hinge.sub_type = hinge/fold ist jetzt verfügbar. Weitere Informationen finden Sie im Blogpost „Developing for Android 11 with the Android Emulator“.

  • Der Scharniersensor ist jetzt standardmäßig aktiviert.

  • Wenn ein faltbares Gerät konfiguriert ist, sendet der Emulator jetzt Aktualisierungen der Scharnierwinkelsensoren und Änderungen der Gerätehaltung an das Gastbetriebssystem. Bei vorhandenen faltbaren Geräten werden jetzt der Scharniersensorwinkel und die Ausrichtung aktualisiert, wenn die Schaltflächen zum Ein- oder Ausklappen der Symbolleiste gedrückt werden.

Emulator für ARM64-Hosts

  • Der Quellcode des Linux-Emulators unterstützt jetzt die Cross-Compilation von x86_64- zu arm64-Hosts, sodass arm64-System-Images mit KVM-Virtualisierung ausgeführt werden können. Derzeit wird nur -gpu swiftshader_indirect (Swiftshader-arm64-Hostrendering) unterstützt. Ein kompatibler Satz von Host-GPU-libEGL-/libGLESv2-Bibliotheken kann jedoch auch verwendet werden, indem lib64/gles_swiftshader durch diese ersetzt und dann mit -gpu swiftshader_indirect neu gestartet wird. Möglicherweise funktionieren auch keine Snapshots. Fügen Sie dazu -no-snapshot in die Befehlszeile ein. Anleitung:

    mkdir emu
    cd emu
    repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1
    repo sync -qcj 12
    cd external/qemu
    pip install absl-py
    pip install urlfetch
    sudo apt-get install crossbuild-essential-arm64
    python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
    
  • Die Unterstützung für Apple Silicon ist in Arbeit.

Unterstützung von virtio-gpu

  • Auf der Hostseite wurde Unterstützung für bevorstehende kohärente virtio-gpu-Host-Blob-Ressourcen hinzugefügt.
  • Aufgrund der Funktionsweise des Emulator-Renderings verarbeiten wir die virtio-gpu-Virtqueue jetzt im VCPU-Thread, da das Rendern ohnehin auf andere Threads ausgelagert wird. Das virtio-gpu-Rendering wird in einem zukünftigen System-Image und einer zukünftigen Emulatorversion aktiviert.
  • In einem zukünftigen Systemimage kann der Emulator alle Grafiken mit einem virtio-gpu-basierten Stack ausführen.

Weitere neue Funktionen und Verbesserungen

  • USB-Passthrough ist jetzt unter Windows mit -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id> verfügbar. (Das sollte auch unter Linux und macOS bereits funktioniert haben.)
  • WebRTC-Bibliotheken wurden auf M83 aktualisiert.
  • Der Emulator unterstützt jetzt das Audiostreaming in Containern über WebRTC.
  • Der darwinn-Pipe-Endpunkt wurde entfernt.
  • Die CUDA VPx-Decodierung für Videos ist jetzt verfügbar, wenn die CUDA VPx-Decodierung in der Hardware über die Umgebungsvariable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 verfügbar ist.
  • Unter macOS sind SSE 4.1 und 4.2 jetzt im Android-Gast verfügbar.
  • Unter macOS ist INVTSC jetzt standardmäßig aktiviert. Dadurch kann die Genauigkeit der Zeitmessungen des Gastes verbessert werden.
  • Wir erfassen jetzt in Messwerten, welche erweiterte Steuerleiste vom Nutzer ausgewählt wurde.
  • Der Linux-Emulator verwendet jetzt die KVM-paravirtualisierte Uhr, wenn die Gastkernelversion >= 5.4 ist (R-System-Images oder höher).
  • Der Emulator verwendet jetzt LZ4 zum Dekomprimieren von Gast-Kerneln, wodurch er mit der modernen Kernel-Pipeline kompatibel ist.
  • Es wurden Konsolenbefehle hinzugefügt, um das AVD-Verzeichnis des Emulators, den Pfad zur Discovery-Datei im eingebetteten Studio-Anwendungsfall und den Pfad zu Snapshots abzurufen:

    adb emu avd path # Obtains path to AVD directory
    adb emu avd discoverypath # Obtains path to discovery file
    adb emu avd snapshotspath # Obtains path to snapshots folder
    adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
    
  • Um vertikalen Bildschirmplatz zu sparen, haben wir in Erweiterte Steuerelemente > Einstellungen eine Option zum Ausblenden des Geräte-Frames für das aktuelle AVD hinzugefügt. Wenn Sie Geräte-Frames für alle AVDs global ausblenden möchten, können Sie das Feature-Flag NoDeviceFrame verwenden. Aktivieren Sie es, indem Sie den Emulator über die Befehlszeile mit -feature NoDevice frame starten. Wenn Sie es dauerhaft aktivieren möchten, fügen Sie NoDeviceFrame = on zu ~/.android/advancedFeatures.ini hinzu (erstellen Sie diese Datei, falls sie noch nicht vorhanden ist).

  • Auf der Seite „Mobilfunk“ wurde ein Drop-down-Element hinzugefügt, mit dem die Unterstützung für die Abrechnung nach Verbrauch aktiviert und deaktiviert werden kann. Bei älteren System-Images, die den 5G-Schalter für die Abrechnung nach Verbrauch nicht unterstützen, hat dies keine Auswirkungen.

    • Außerdem wurde ein Konsolenbefehl für denselben Zweck hinzugefügt: gsm meter on|off
  • Die Toolchain / der Build wurde auf C++17 aktualisiert.

Korrekturen: Eingebetteter Emulator

  • Die Zwischenablage sollte jetzt funktionieren.
  • Ein Problem wurde behoben, durch das Großbuchstaben im Emulator als Kleinbuchstaben dargestellt wurden.
  • Das Laden von Konsolentokens aus einem Unicode-Pfad unter Windows wurde korrigiert.
  • Die Fehlermeldung SO_REUSEPORT unter Linux wurde behoben.
  • Ein Problem mit beschädigten Snapshots wurde behoben, das beim Senden von Snapshot-Befehlen über gRPC sowie beim Drücken der Schaltfläche zum Speichern von Snapshots im eingebetteten Emulator von Android Studio aufgetreten ist.
  • Bei Verwendung des in Studio eingebetteten Linux-Emulators haben wir festgestellt, dass bei der Verwendung von Chrome-Remotedesktop ein Fehler auftritt, bei dem XDG_RUNTIME_DIR nicht festgelegt ist. Dies kann dazu führen, dass der eingebettete Emulator nicht angezeigt wird, da sich die Emulator-Erkennungsdateien in XDG_RUNTIME_DIR befinden. Sie können den Status des entsprechenden Problems im Chrome-Issue-Tracker prüfen.

    Als Workaround greift der Emulator jetzt auf Discovery-Dateien in einem möglicherweise anderen Verzeichnis zurück, das auf der Nutzer-UID basiert: /run/user/&lt;uid>.

  • Eingebetteter Emulator: Bei Geräten mit abgerundeten Ecken oder Aussparungen wird das Layout jetzt richtig angepasst, um Platz für die Ecken und Aussparungen zu schaffen. Dazu ist ein Kaltstart dieser Emulatoren erforderlich.

  • Der gRPC-Endpunkt unterstützt jetzt das Senden von SMS-Nachrichten an das Gerät.

Allgemeine Korrekturen

  • Wir haben Kompatibilitätsprobleme beim Ausführen des Windows-Emulators mit aktivem Riot Vanguard festgestellt. Der Windows-Emulator erkennt jetzt Vanguard-Anti-Cheat und zeigt eine Warnmeldung an, wenn Vanguard erkannt wird.
  • Der Fehler FD_SETSIZE unter Windows wurde behoben. Wir verwenden jetzt WSAEventSelect() anstelle von select(), um nicht blockierende Verbindungen zu Loopback-Servern herzustellen.
  • Dem Linux-Emulator wurde die Unterstützung für das F16C-CPUID-Feature hinzugefügt. Dadurch werden Probleme beim Ausführen einiger ARM64-Anwendungen über die NDK-Übersetzung behoben. Die Unterstützung für macOS und Windows ist in Arbeit.
  • Die Wiedergabe von GPX-/KML-Routen folgt jetzt Zeitstempeln.
  • Das Symbol springt beim Start unter macOS nicht mehr.
  • Wenn hw.audioInput=no und hw.audioOutput=no in config.ini, ist der Emulator-Audio jetzt richtig deaktiviert.
  • Ein Problem wurde behoben, bei dem das Fenster mit den erweiterten Steuerelementen immer wieder angezeigt wurde, wenn das Emulatorfenster verkleinert wurde, während das Fenster mit den erweiterten Steuerelementen geöffnet, aber nicht aktiv war. Wir werden das Verhalten (bei aktivem Fenster mit erweiterten Steuerelementen) in einem zukünftigen Update vollständig entfernen.
  • Ein unzuverlässiger Fehler wurde behoben, durch den keine WLAN-Verbindung bestand, wenn der Emulator gestartet wurde.
  • Ein Problem wurde behoben, durch das das Beenden des Emulators nicht möglich war, wenn Shell-Befehle mit langen oder unbegrenzten Zeitüberschreitungen ausgegeben wurden.
  • Das PC-BIOS wurde aktualisiert und enthält jetzt Korrekturen, um große Bilder, die an -initrd übergeben werden, besser zu unterstützen. Das vorherige BIOS hat eine sehr ineffiziente Methode verwendet.
  • Ein Absturz beim Beenden wurde behoben, wenn die Option -wifi-server-port verwendet wurde.
  • Der Emulator gibt jetzt eine Warnung aus, wenn nicht unterstützte Optionen an -prop übergeben werden. Es werden nur qemu.*-Eigenschaften unterstützt.
  • Beim Erstellen des Emulators unter Windows sollte es weniger wahrscheinlich sein, dass es zu unzuverlässigen Fehlern beim Schreiben in Dateien kommt. Weitere Informationen finden Sie in der Anleitung für Windows-Builds.
  • Die Zoom-Schaltfläche für faltbare AVDs wurde deaktiviert, da sie Probleme verursacht hat.
  • Der Emulator meldet jetzt korrekt die Bootzeit nach einem Neustart des Geräts.
  • Linux: Wenn nicht genügend KVM-Berechtigungen vorhanden sind, gibt der Emulator jetzt schneller Debugging-Anleitungen aus.
  • Ein Problem wurde behoben, durch das der Emulator aktuelle System-Images ohne Beschleunigung nicht starten konnte.
  • Es wurde ein Fehler behoben, der zu einer Beschädigung des Arbeitsspeichers oder zu einem Absturz beim Start über einen „boot-completed“-Detektor führte.
  • Ein Speicher-Leak bei langen Bildschirmaufnahmen wurde behoben.
  • Die Emulatorsymbole wurden aktualisiert und entsprechen jetzt dem Branding von Studio 4.1.
  • Die Erkennung von Remotesitzungen unter Windows wurde verbessert.

Korrekturen: Grafik und Videodecodierung

  • Ein Problem wurde behoben, bei dem das neueste Asphalt 9-Spiel mit einem schwarzen Bildschirm gerendert wurde.
  • Spam zum Leeren des zugeordneten Puffers mit NULL wurde entfernt.
  • Eine Race-Bedingung wurde behoben, die beim Beenden einer Gast-Vulkan-App zum Abbau des Vulkan-Status geführt hat.
  • Vulkan-Emulations-Shader für ASTC/ETC2 sind jetzt in die libOpenglRender-Bibliothek eingebunden. Das ist zuverlässiger als das Lesen aus dem Dateisystem.
  • Ein Problem in Vulkan wurde behoben, bei dem vkGetImageMemoryRequirements2KHR das Feld pNext der zurückgegebenen VkMemoryRequirements2-Struktur fälschlicherweise löschte, wenn es mit einer Vulkan 1.0-Instanz auf dem Host ausgeführt wurde.
  • Ein Speicherleck im Vulkan-Renderer wurde behoben.
  • Ein kürzlich aufgetretener Fehler wurde behoben, bei dem GLSL ES 1.00-Shader mit Variablennamen wie isampler2D nicht kompiliert werden konnten.
  • Der ANGLE-Shader-Übersetzer wurde aktualisiert und enthält verschiedene Korrekturen, die das Kompilieren von Shadern unter Linux verhindern können.
  • Wenn der grundlegende Framebuffer-Blit-Shader nicht kompiliert werden kann, stürzt der Emulator jetzt ab, damit wir das Problem im Blick behalten.
  • Der ANGLE-Shader-Übersetzer wurde aktualisiert, um mit dem Upstream-ANGLE Schritt zu halten. Damit wurde ein Problem mit Speicherbeschädigung beim Übersetzen und Constant Folding von OpenGL ES-Shadern behoben, die nicht quadratische Matrizen verwendeten. Der Shader-Übersetzer ist jetzt eine separate freigegebene Bibliothek, libshadertranslator.dll.
  • Es wurde ein Problem bei der Vulkan-Initialisierung auf einigen GPU-Treibern behoben, bei dem bestimmte Gerätefunktionen der Version 1.1 nicht gefunden wurden.
  • Vulkan: Wir verwenden wieder den vorgefertigten Loader, da die Verwendung des System-Vulkan-Loaders in einigen Setups Probleme verursacht hat. Wir werden eine bessere Lösung finden.
  • Ein Problem bei der Verwendung von externem Vulkan-Arbeitsspeicher wurde behoben. Dabei konnten auf dem Host inkompatible Arbeitsspeichertyp-Indizes importiert werden.
  • Ein Problem bei der Emulation von GL_ALIASED_POINT_SIZE_RANGE wurde behoben, bei dem die Enumeration auf dem Host nicht unterstützt wurde.
  • Ein Problem wurde behoben, bei dem Skia-Shader auf einigen Host-GPUs aufgrund von Fehlern im Zusammenhang mit GL_EXT_shader_framebuffer_fetch nicht kompiliert werden konnten.
  • Da unsere Kopie des D3D9 ANGLE-Renderers vor einigen Versionen entfernt wurde, wechseln wir Nutzer, die diesen Renderer verwendet haben, jetzt automatisch zu d3d11 ANGLE, wenn er in den UI-Einstellungen ausgewählt war.
  • Der WGL-Initialisierung unter Windows wurden weitere Debugging-Informationen hinzugefügt, um Fehler nachvollziehen zu können.
  • Wenn hw.gltransport=virtio-gpu-pipe, wird die Leistung verbessert, da der Host bei Übertragungen vom Host zum Gast nicht blockiert wird.
  • Es wurde mehr Debugging-Logging hinzugefügt, wenn die OpenGLES-Emulation nicht initialisiert werden kann.
  • Ein Problem wurde behoben, bei dem YouTube-Videos flackerten oder beim Laden von Momentaufnahmen nicht angezeigt wurden.
  • Wir sind vorerst wieder zur Software-Decodierung für libvpx zurückgekehrt, da wir Probleme mit der CUDA-Hardware-Decodierung von libvpx festgestellt haben. Wenn Sie auf der Hostseite eine unterstützte CUDA-Hardware-Decodierungsimplementierung haben, kann die Hardware-Decodierung von libvpx über die Umgebungsvariable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 wieder aktiviert werden.

30.0.10 (30. April 2020)

Dieses Update umfasst die Unterstützung für die Ausführung des Emulators direkt in Android Studio und virtuelle Geräte, bei denen der Freiform-Fenstermodus standardmäßig aktiviert ist.

Emulator in Android Studio ausführen

Der Android-Emulator kann jetzt direkt in Android Studio ausgeführt werden. Mit dieser Funktion können Sie Platz auf dem Bildschirm sparen, schnell per Tastenkombination zwischen dem Emulator und dem Editorfenster wechseln und Ihren IDE- und Emulator-Workflow in einem einzigen Anwendungsfenster organisieren.

Modus „Freies Format“

Sie können jetzt ein AVD mit aktiviertem Freeform Window Mode erstellen, indem Sie beim Erstellen eines virtuellen Geräts in Android Studio das Hardwareprofil für 13,5‑Zoll-Tablets im Freeform-Modus auswählen. Für dieses Hardwareprofil ist ein System-Image mit Android 11 Developer Preview 3 oder höher erforderlich.

Bekannte Probleme

Die Größenanpassung von Freiform-Fenstern funktioniert derzeit nicht, da es Probleme beim Übertragen des Fokus auf den Fenstermanager gibt. Dieses Problem wird in einer zukünftigen Version des Android 11-Systemimages behoben.

30.0.0 (19. Februar 2020)

Dieses Update enthält System-Images für Android 11 (API-Level 30) und eine verbesserte Leistung beim Ausführen von ARM-Binärdateien.

Android 11-System-Images

Sie können jetzt ein AVD erstellen, auf dem Android 11 ausgeführt wird. Wählen Sie dazu eines der verfügbaren System-Images mit API-Level 30 aus:

  • x86: Enthält sowohl x86- als auch ARMv7-ABIs.
  • x86_64: Enthält die ABIs x86, x86_64, ARMv7 und ARM64.

Unterstützung für ARM-Binärdateien in Android 9- und Android 11-System-Images

Wenn Sie den Android-Emulator bisher nicht verwenden konnten, weil Ihre App von ARM-Binärdateien abhängig war, können Sie jetzt das Android 9-System-Image für x86 oder ein beliebiges Android 11-System-Image verwenden, um Ihre App auszuführen. Es ist nicht mehr erforderlich, ein bestimmtes System-Image herunterzuladen, um ARM-Binärdateien auszuführen. Diese Android 9- und Android 11-System-Images unterstützen ARM standardmäßig und bieten eine deutlich verbesserte Leistung im Vergleich zu Images mit vollständiger ARM-Emulation.

Bekannte Probleme

  • Einige ARMv7-Binärdateien können nicht auf Android 11-System-Images für x86 und x86_64 ausgeführt werden. Wenn Sie Android 11 als Zielplattform verwenden, sollten Sie die ARM64-Architektur in Betracht ziehen.

29.0.11 (29. Mai 2019)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Windows: Der Emulator verwendet jetzt die libgcc-DLL, die wir bereitstellen, anstatt statisch mit libgcc kompiliert zu werden.
  • Linux: Unterstützung von „logcat“ für die gRPC API hinzugefügt. Weitere Informationen zu gRPC finden Sie unter gRPC-Streaming-Emulator (Linux).
  • Der Emulator enthält jetzt einen Headless-Build für 32-Bit-x86-Gäste (qemu-system-i386). Mit dieser Funktion können x86-32-Bit-Images für API-Level 26 und niedriger mit dem Headless-Build ausgeführt werden. Bei 32-Bit-x86-Gastbetriebssystemen mit API 27 und höher verwendet der Emulator die 64-Bit-Engine (qemu-system-x86_64), da in diesen System-Images der Kernel 64-Bit ist, obwohl der Userspace 32-Bit ist. Android Studio verwendet den Kernel, um Emulations-Engines auszuwählen.
  • Sie können jetzt benutzerdefinierte Qt-Bibliothekspfade mit der Umgebungsvariable ANDROID_QT_LIB_PATH angeben.
  • Sie können den Emulator jetzt mit früheren Binärdateien ausführen, die QEMU1 verwenden, wenn sich die QEMU1-Ausführungsdateien (emulator[64]-[x86|arm|etc]) im Emulatorverzeichnis befinden.
  • Windows: Ein Problem wurde behoben, das manchmal dazu führen konnte, dass der Emulator nicht mit der Meldung „vCPU shutdown request“ (vCPU-Herunterfahrungsanfrage) gestartet wurde.
  • Ein Problem mit einer unnötigen Pipeline-Barriere bei emulierten komprimierten Texturen in Vulkan wurde behoben.
  • Ein Fehler wurde behoben, der bei HTTP-Proxyanfragen mit Chunked Transfer Encoding aufgetreten ist. Weitere Informationen finden Sie in den Commit-Details.

29.0.9 (7. Mai 2019)

Dieses Update enthält die folgende Korrektur:

  • Windows: Ein Problem wurde behoben, bei dem die Kamera für die virtuelle Szene und die Webcam im Emulator nicht funktionierten.

29.0.8 (6. Mai 2019)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Unterstützung für mehrere virtuelle Hardware-Displays wurde hinzugefügt, wenn ein Gastdienst zum Aufzählen und Festlegen der einzelnen Displays vorhanden ist. Mehrere virtuelle Hardware-Displays werden in einem zukünftigen Emulator-Systemimage-Update enthalten sein.
  • Neue Befehlszeilenoption hinzugefügt: -delay-adb. Mit dieser Option wird die Verarbeitung von ADB-Paketen unterdrückt, bis der Gast nach einem Kaltstart vollständig hochgefahren ist. Diese Option hilft, Probleme zu beheben, die auftreten können, wenn Sie den Emulator in einer CI-Umgebung verwenden, in der der Emulator neu gestartet wird und DDMS gleichzeitig verwendet wird.
  • Ein Fehler wurde behoben, der beim Laden von Snapshots auftrat, bei denen glIsRenderbuffer den falschen Wert zurückgab.
  • Es wurden einige Probleme mit dem alten Status behoben, wenn das Android-Gastbetriebssystem neu gestartet wird.
  • Windows: Es wurden Probleme behoben, die verhinderten, dass der Emulator gestartet wurde, wenn der Windows-Nutzername Zeichen enthielt, die nicht im ASCII-Zeichensatz enthalten sind, oder Leerzeichen.

Bekannte Probleme

  • Die Snapshot-Benutzeroberfläche ist für Automotive-System-Images deaktiviert, da Snapshots für diese System-Images derzeit nicht unterstützt werden.

29.0.6 (1. Mai 2019)

Dieses Update enthält mehrere neue Funktionen, Verbesserungen an bestehenden Funktionen und Fehlerkorrekturen.

Entfernung von QEMU1 und Unterstützung für 32-Bit-Windows

Um den Emulator besser warten zu können, stellen wir keine QEMU1- und 32-Bit-Windows-Binärdateien mehr bereit. Wenn Sie die 32-Bit-Version von Windows verwenden, können Sie kein Upgrade auf Version 29.0.6 durchführen.

Anforderungen an Android Q-System-Images

Wenn Sie ein AVD mit einem Android Q-System-Image ausführen möchten, müssen Sie jetzt Version 29.0.6 (diese Releaseversion) oder höher verwenden.

Project Marble-Verbesserungen

Dieses Update setzt unsere Arbeit an der Initiative Project Marble fort, die im November 2018 auf dem Android Developer Summit angekündigt wurde. Weitere Informationen zu anderen Project Marble-Verbesserungen in früheren Versionen finden Sie unter Android Emulator: Project Marble Improvements.

Bei diesem Update haben wir uns im Rahmen von Project Marble hauptsächlich darauf konzentriert, die Ressourcennutzung des Emulators zu reduzieren, z. B. die CPU-Auslastung des Emulators im Leerlauf. Außerdem haben wir Änderungen vorgenommen, die die Verwendung des Emulators in einer Vielzahl von Umgebungen erleichtern, und allgemeine Qualitätsprobleme behoben.

In den folgenden Abschnitten werden die Verbesserungen im Rahmen von Project Marble beschrieben, die in diesem Update enthalten sind:

Verbesserungen beim Audioverhalten von Hosts

Ab Version 28.0.3 blockiert der Emulator standardmäßig die Audioeingabe vom Host.

Wenn Sie die Audioeingabe des Hosts verwenden möchten, können Sie diese Option unter Erweiterte Steuerelemente > Mikrofon aktivieren, indem Sie Virtuelles Mikrofon verwendet Audioeingabe des Hosts aktivieren. Diese Option wird automatisch deaktiviert, wenn der Emulator neu gestartet wird.

Wenn Sie die Befehlszeile verwenden, können Sie auch mit der Option -allow-host-audio die Audioausgabe des Hosts aktivieren. Mit den folgenden ADB-Befehlen können Sie die Audioausgabe des Hosts aktivieren bzw. deaktivieren:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

Verbesserungen für Headless-Emulator-Builds

Ab Version 28.0.25 enthält der Emulator eine Option für Headless-Builds, die ohne die Benutzeroberfläche ausgeführt werden kann. Mit Headless-Builds können Sie den Emulator für Docker- und CI-Workflows (Continuous Integration) einrichten.

Mit diesem Update haben wir weitere Verbesserungen vorgenommen, damit der Emulator mit einer Mindestanzahl von Abhängigkeiten ausgeführt werden kann. Unter Linux enthalten Headless-Builds die Bibliotheken pulseaudio und libX11 nicht mehr. Die systemabhängigen freigegebenen Bibliotheken, die nicht mit dem Emulator gebündelt sind, wurden auf die folgende Liste reduziert:

  • Linux-vdso.so.1
  • Libutil.so.1
  • Libm.so.6
  • Libdl.so.2
  • Librt.so.1
  • Libpthread.so.0
  • Libgcc_s.so.1
  • Libc.so.6
  • ld-linux-x86-64.so.2

Qt-UI-Bibliotheken auf Version 5.12 LTS aktualisiert

Dieses Update enthält die folgenden Verbesserungen aus der Qt 5.12 LTS-Version:

  • Um Abstürze bei der libpng-Decodierung von Qt beim Starten bestimmter System-Images zu vermeiden, verwendet der Emulator jetzt eine eigene Kopie von libpng zum Decodieren von PNG-Bildern.
  • Um Probleme mit einigen Linux-Installationen zu beheben, die inkompatible Versionen einiger Qt-abhängiger Bibliotheken enthalten, werden libfreetype, libsoftokn, libsqlite3 und libxkbcommon jetzt mit dem Emulator ausgeliefert.
  • Der Emulator verwendet jetzt die nativen Fensterbibliotheken der Plattform, um die Monitordimensionen abzurufen, anstatt die Qt-Bibliotheken zu verwenden, die unzuverlässige Ergebnisse zurückgegeben haben.

Automatische CPU-Optimierungen nach Kaltstart

Um die CPU-Nutzung zu reduzieren, führt der Emulator nach einem Kaltstart die folgenden ADB-Befehle aus, nachdem er ein boot complete-Signal empfangen hat:

adb shell settings put screen_off_timeout 214783647
Mit diesem Befehl wird das Zeitlimit für das Ausschalten des Displays verlängert, sodass der Emulator im Akkubetrieb ohne Aufladen verwendet werden kann. Im Akkubetrieb wird die CPU-Nutzung im Hintergrund stark reduziert.
Im AC-Lademodus können GMSCore-Hintergrundvorgänge wie App-Updates alle CPU-Kerne des Geräts und damit auch des Nutzergeräts ohne Warnung in Anspruch nehmen.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
Mit diesem Befehl werden die Mikrofonberechtigungen für die Google Suche App widerrufen. Dadurch wird die CPU-Auslastung im Hintergrund auf dem Startbildschirm und im Launcher erheblich reduziert, wenn die Google Suche App aktiv ist.
Dieser Befehl wird zusätzlich zum Standardverhalten des Emulators ausgeführt, bei dem das Host-Audio für den Host deaktiviert wird. Außerdem wird dadurch automatisch die für die Hotword-Erkennung beschriebene CPU-Auslastungsreduzierung aus der Version 28.0.23 bereitgestellt.

Neue Umgebungsvariablen für die Leistungsüberwachung

Sie können jetzt zwei neue Umgebungsvariablen verwenden, um die Leistung und Ressourcennutzung des Emulators detailliert zu überwachen.

SHOW_PERF_STATS=1
Mit dieser Umgebungsvariable kann sowohl die CPU- als auch die RAM-Nutzung erfasst werden. Bei der Erfassung der RAM-Nutzung wird zwischen der Grafikleistung und dem gesamten residenten Arbeitsspeicher unterschieden.
ANDROID_EMU_TRACING=1
Mit dieser Umgebungsvariable wird jedes Mal ein Ausdruck ausgegeben, wenn ein Eingabe- oder Grafikvorgang lange dauert (länger als 1 ms).
Wir verwenden diese Umgebungsvariable auch, um Probleme zu diagnostizieren, die Windows-Nutzer mit mehr Ruckeln (verlorenen Frames) als Nutzer unter macOS oder Linux hatten.

Allgemeine Verbesserungen bei Project Marble

Dieses Update enthält auch die folgenden allgemeinen Verbesserungen, die Teil der Project Marble-Initiative sind:

  • Sie können jetzt alle vCPUs im Emulator über die folgenden Konsolenbefehle sofort pausieren:
    • adb emu avd pause
    • adb emu avd resume
  • Der Aufwand für das Zeichnen mit OpenGL wurde erheblich reduziert. Durch diese Verbesserung wird die CPU-Auslastung während der Wiedergabe von Animationen im Emulator reduziert.
  • Die Unterstützung für das virtuelle Netzwerkgerät e1000 von Mainline-QEMU wurde wiederhergestellt. Sie können dieses Gerät verwenden, um den Emulator in einer Bridged-Netzwerkumgebung einzurichten. In einer Bridged-Netzwerkumgebung wird der Emulator im Hostnetzwerk und das Hostnetzwerk im Emulator angezeigt.
  • Zum Starten des Emulators werden jetzt BIOS-Binärdateien verwendet, die für QEMU 2.12 geeignet sind.
  • ffmpeg-Version für die Video- und Audiocodierung und ‑decodierung auf 3.4.5 aktualisiert.
  • Der Mehraufwand von QEMU-Hauptschleifen-E/A unter macOS wurde erheblich reduziert, indem die auf select() basierende Hauptschleife durch eine auf kqueue basierende Hauptschleife ersetzt wurde.
  • Die Logcat-Puffergröße wurde auf 2 MB erhöht, um Probleme mit dem unzuverlässigen unerwarteten EOF beim Ausführen von Logcat mit dem Emulator zu beheben.
  • Der Emulator exportiert jetzt standardmäßig die Umgebungsvariable LC_ALL=C. Durch diese Änderung werden Abstürze und Inkompatibilitätsprobleme behoben, die beim Ausführen des Emulators in verschiedenen Gebietsschemas auftreten.
  • Sie können jetzt die CPU- und RAM-Nutzung des Emulators mithilfe von Leistungsstatistiken verfolgen, auf die Sie unter Erweiterte Steuerelemente > Einstellungen > Erweitert > Leistungsstatistiken zugreifen können. Anhand dieser Statistiken können Sie Probleme schnell diagnostizieren, wenn der Emulator zu viel CPU oder RAM zu verwenden scheint.
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE verwendet jetzt das Ergebnis der Host-GPU anstelle eines emulierten Ergebnisses. Durch diese Änderung werden Probleme behoben, bei denen Bilder und Assets aufgrund eines falschen Formats für den Readback nicht angezeigt werden.
  • Unterstützung für die OpenGL ES-Erweiterungen GL_EXT_texture_format_BGRA8888 und GL_APPLE_texture_format_BGRA8888 hinzugefügt, sofern diese Erweiterungen vom Host unterstützt werden.
  • Der Benutzeroberfläche für Fehlerberichte wurden weitere Diagnoseinformationen hinzugefügt. Außerdem können Sie über die folgenden Befehle in der Konsole auf Fehlerberichte zugreifen:
    • telnet localhost 5554
    • avd bugreport
  • In Android Q-Systemabbildern erhöht der Emulator die Mindest-RAM-Größe auf 2 GB.
  • Es wurden mehr Protokollierungs- und Druckfunktionen hinzugefügt, wenn OpenGL oder der Hypervisor nicht initialisiert werden kann.
  • Wenn der Emulator keine gleichzeitige -read-only-Instanz eines AVD starten kann, versucht er jetzt, den -read-only-AVD innerhalb von 3 Sekunden dreimal neu zu starten. Durch diese Änderung wird die Wahrscheinlichkeit erhöht, dass der Emulator gleichzeitig -read-only-Instanzen eines AVD starten kann, wenn andere beschreibbare Instanzen dieses AVD noch nicht mit dem Bereinigen alter Dateien fertig sind.
  • Für zukünftige System-Images unterstützt der Emulator jetzt Hardware Composer 2.0. Diese Änderung sollte den Treiber-Overhead bei den meisten Animationen verringern.
  • Der Emulator-Build basiert jetzt auf CMake/Ninja.
  • In der Benutzeroberfläche für die erweiterten Steuerelemente des Emulators wurden Trennlinien in der Tabelle mit Tastenkombinationen wiederhergestellt.
  • Nutzer können jetzt zustimmen, dass unser Team alle 10 Sekunden Messwerte zur CPU- und RAM-Nutzung erhält. Wir verwenden diese Messwerte, um unsere Daten zur Emulatorenressourcennutzung mit verschiedenen Anwendungsfällen unserer Nutzer anzureichern. So können wir den Emulator effizienter und reaktionsschneller machen.

Allgemeine Fehlerkorrekturen für Project Marble

Dieses Update enthält auch die folgenden allgemeinen Korrekturen, die Teil der Project Marble-Initiative sind:

  • Probleme mit Ruckeln und falschen Frames, die auf Systemen mit Intel-GPUs bei Verwendung von Android Q-System-Images angezeigt wurden, wurden behoben.
  • Es wurde ein Problem behoben, bei dem bei Verwendung von Android Q-System-Images mit Pixel 2 XL-Skins (oder einem beliebigen Skin mit Notch oder abgerundeten Ecken) ein schwarzer Bildschirm angezeigt wurde.
  • Ein Problem wurde behoben, bei dem mit der Befehlszeilenoption -partition-size die Größe der Datenpartition nicht festgelegt wurde.
  • Ein Problem wurde behoben, bei dem pulseaudio auf dem Linx-Emulator in einigen Situationen in einer Endlosschleife hing und einen gesamten CPU-Kern belegte.
  • Es wurden Probleme mit dem Zugriff auf Speicher außerhalb des zulässigen Bereichs bei der Verarbeitung komprimierter Texturen behoben.
  • Es wurden GL-Fehler behoben, die auf dem Host in glTexSubImage2D beim Aktualisieren bestimmter gralloc-Puffer (mit dem Format RGB 565, RGB10A2, RGB(A)16F) aufgetreten sind.
  • Es wurde ein Anzeigeproblem in Android Q-System-Images mit Snapshots behoben, bei dem die Geometrie der Benachrichtigungsleiste mit einer falschen Einstellung für den Instanzteiler gerendert wurde.
  • Einige schwer zu reproduzierende Absturz- und Einfrierprobleme beim Start wurden behoben, die auftraten, weil Qt Signale verloren hat oder beim Start instabile, inkonsistente Zustände hatte.
  • Es wurden zahlreiche Probleme mit der Parallelität behoben. Wir können den Linux-Emulator jetzt mit ThreadSanitizer (TSAN) erstellen. Damit lassen sich Fehler, die sonst schwer zu reproduzieren sind, ganz einfach aufdecken.
  • Für Linux-Nutzer: Wir haben festgestellt, dass der Android-Gastkernel auf bestimmten Host-Kerneln in KVM mit einem generischen Hardwarefehler beendet werden kann. Der Emulator wird jetzt abort(), wenn dies passiert, um die Debugging-Fähigkeit zu verbessern (zuvor ist der Emulator einfach hängen geblieben).
  • Für Linux-Nutzer: Für die Einrichtung von CI können Sie die neue Befehlszeilenoption -stdouterr-file <file-name> verwenden, um sowohl stdout als auch stderr in eine Datei umzuleiten.
  • Ein Problem wurde behoben, bei dem SO_REUSEADDR falsch verwendet wurde. Weitere Informationen finden Sie in den Commit-Details.
  • Ein langjähriges Problem mit dem Windows-Emulator wurde behoben. Unterprozesse wie ADB-Befehle konnten nicht gestartet werden, wenn der Nutzername Leerzeichen enthielt.
  • Ein Problem mit der fehlenden Initialisierung von RCU in HAXM-vCPU-Threads wurde behoben. Mit diesem Fix können möglicherweise einige Abstürze und Race-Bedingungen behoben werden.
  • Ein Absturz wurde behoben, der bei bestimmten Mustern zum Speichern und Laden von Snapshots über die Snapshot-Benutzeroberfläche mit aktuellen Android Q-System-Images aufgetreten ist.
  • Ein Problem wurde behoben, bei dem die Kamera der virtuellen Szene leer war, wenn der Emulator aus einer Momentaufnahme initialisiert wurde und ein AR-Makro abgespielt wurde, als diese Momentaufnahme gespeichert wurde.
  • Einige Nutzer mit Remote-Desktop-Einrichtung erhielten beim Starten des Emulators unter Linux einen schwarzen Bildschirm. Das Problem wurde behoben. Um dies zu vermeiden, konfiguriert der Emulator jetzt explizit MESA_RGB_VISUAL. Weitere Informationen finden Sie in den Commit-Details.
  • Ein Problem wurde behoben, bei dem die Schaltflächen zum Drehen auf TV-AVDs angezeigt wurden.
  • Ein Problem wurde behoben, bei dem das Fenster mit den erweiterten Steuerelementen jedes Mal angezeigt wurde, wenn der Emulator gedreht wurde, wenn der Emulator immer im Vordergrund angezeigt wurde.

Hardwareprofile für faltbare Geräte

Der Emulator enthält jetzt Hardwareprofile für faltbare Geräte. Wenn Sie diese neuen Hardwareprofile verwenden möchten, benötigen Sie Android Studio 3.5 Canary 10 oder höher.

Es gibt zwei faltbare Hardwareprofile, mit denen Sie ein AVD erstellen können:

  • 7,3 Zoll (faltbar): 1.536 × 2.152 Pixel (aufgeklappt), 4,6 Zoll: 840 × 1.960 Pixel (zugeklappt)
  • 8‑Zoll-Foldable: 2200 × 2480 Pixel aufgeklappt, 6,6 Zoll 1480 × 2480 Pixel zugeklappt

Wenn Sie den Emulator mit einem dieser Hardwareprofile ausführen, können Sie das Gerät mit den Aktionen zum Ein- und Ausklappen in der Emulator-Symbolleiste, Konsolenbefehlen oder den folgenden Tastenkombinationen ein- und ausklappen:

  • Einblenden: Ctrl + F (Command + F unter macOS)
  • Maximieren: Ctrl + U (Command + U unter macOS)

AR-Makros

Der Emulator enthält jetzt AR-Makros, mit denen Sie gängige AR-Aktionen testen können. Sie können beispielsweise ein Makro verwenden, um alle Sensoren des Geräts auf ihren Standardstatus zurückzusetzen.

Weitere Informationen finden Sie unter Häufige AR-Aktionen mit Makros testen.

Vulkan-Unterstützung (Windows, Linux)

Windows- und Linux-Nutzer können Vulkan-Apps jetzt mit dem Android-Emulator bis zu Vulkan 1.1 testen, wenn sie ein kompatibles System-Image (Android Q Beta 3 oder höher für Vulkan 1.1, Android Q Beta 2 für Vulkan 1.0) und eine kompatible Host-GPU verwenden. Dazu gehören die meisten Intel-, NVIDIA- und AMD-GPUs ab 2014.

Wenn Sie die Vulkan-Unterstützung aktivieren möchten, müssen Sie Ihrer ~/.android/advancedFeatures.ini-Datei die folgenden Feature-Flags hinzufügen (erstellen Sie die Datei, falls sie nicht vorhanden ist):

  • Vulkan = on
  • GLDirectMem = on

Erste Unterstützung für ROM-Entwickler

ROM-Entwickler, die die Ziele sdk_phone_x86 oder sdk_phone_x86_64 (userdebug, eng-Varianten) im AOSP-master-Branch erstellen, können jetzt einen Vulkan-fähigen Emulator ausführen.

Diese Unterstützung ist noch experimentell und richtet sich hauptsächlich an Entwickler, die an System-Images, Treibern und Spiele-Engines arbeiten. Viele Erweiterungen fehlen noch. HOST_COHERENT-Arbeitsspeicher wird jedoch unterstützt und Sie sollten jetzt die Vulkan API Tutorial Samples ausführen können.

Wenn Sie Linux verwenden, können Sie es mit den folgenden Befehlen versuchen:

mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem

Skia-Rendering mit Vulkan

NVIDIA- und AMD-GPUs, die Vulkan unterstützen, unterstützen auch Zero-Copy-Interop mit OpenGL über die Erweiterung GL_EXT_memory_objects. Der Emulator nutzt diese Funktion, um die Android-Benutzeroberfläche vollständig mit den Skia-Vulkan-APIs zu rendern.

Wenn Sie eine NVIDIA- oder AMD-GPU haben, die Vulkan unterstützt, können Sie mit den folgenden Befehlen das Skia-Rendering mit einem kompatiblen System-Image (Android Q Beta 3 und höher) testen:

adb shell
su
setprop debug.hwui.renderer skiavk
stop
start

macOS-Unterstützung für Vulkan

Die macOS-Unterstützung ist noch experimentell, aber der Emulator enthält bereits die APIs Swiftshader, MoltenVK und libportability (gfx-rs). Sie können diese APIs ausprobieren, indem Sie die folgenden Umgebungsvariablen festlegen:

  • Swiftshader: ANDROID_EMU_VK_ICD=swiftshader
  • MoltenVK: ANDROID_EMU_VK_ICD=moltenvk
  • libportability: ANDROID_EMU_VK_ICD=portability

Bekannte Probleme

HAXM kann manchmal kein zusammenhängendes Vulkan-Arbeitsspeicher für den Gast zuordnen und fährt den Emulator herunter. Dieses Problem wird in einem zukünftigen HAXM-Update behoben.

gRPC-Streaming-Emulator (Linux)

Wir versuchen immer, den Emulator so vielseitig wie möglich zu gestalten, indem wir das Rendern auf der Host-GPU und die Interaktivität in möglichst vielen Ausführungskontexten ermöglichen. Unsere CI- und Remote-Desktop-Nutzer haben die folgenden langjährigen Probleme:

  • Wenn Sie Eingabebefehle programmatisch an den Emulator senden, müssen Sie entweder adb-Shell-Befehle ausführen, die einen hohen Overhead verursachen können, oder die Telnet-Konsole verwenden, die schneller ist, aber möglicherweise nicht mit bestimmten Netzwerkkonfigurationen funktioniert.
  • CI-Nutzer führen Emulatoren oft ohne Benutzeroberfläche aus. Dadurch können Probleme, bei denen der Bildschirm sichtbar oder interaktiv sein muss, schwer zu erkennen sein.
  • Remote-Desktop-Nutzer können oft nicht mit dem Emulator interagieren, wenn das Rendern der Host-GPU verwendet wird, da das GPU-Rendern oft an die nicht virtuellen Displays des Hosts gebunden ist.

Um dieses Problem zu beheben, stellt der Emulator jetzt einen gRPC-Dienst bereit, wenn er auf einem Linux-Computer ausgeführt wird. gRPC ist ein allgemeines Framework für RPC, das über HTTP funktioniert.

Der gRPC-Dienst des Emulators ist standardmäßig deaktiviert. Sie können ihn jedoch mit der folgenden Befehlszeilenoption aktivieren, wobei <port> der Port ist, über den der Emulator gRPC-Anfragen verarbeiten soll (in der Regel 5556):

-grpc <port>

Sobald der Dienst gestartet wurde, können gRPC-Befehle von Clients ausgegeben werden. Mit den aktuellen Befehlen können sowohl Eingabeereignisse gesendet als auch Screenshots empfangen werden. Mit diesen Befehlen können Sie die folgenden Probleme beheben:

  • Eingabebefehle können mit geringem Aufwand über HTTP an den Emulator gesendet werden. HTTP ermöglicht auch das Senden von Befehlen in zusätzlichen Netzwerkkonfigurationen.
  • Befehle für Screenshots können gesendet werden, um den aktuellen Bildschirm abzufragen, auch wenn der Emulator ohne Benutzeroberfläche ausgeführt wird. Für die Interaktivität können Eingabeereignisse auch an den Emulator zurückgesendet werden.
  • Nutzer von Remote-Desktops können den Emulator ohne Benutzeroberfläche auf dem Hauptbildschirm mit GPU-beschleunigertem Rendering ausführen und gleichzeitig gRPC verwenden, um Screenshots zu erhalten und Eingabeereignisse zu senden, um mit dem Emulator zu interagieren.

Eine vollständige Liste der verfügbaren Befehle finden Sie in diesem Protobuf.

Um Ihnen den Einstieg in gRPC zu erleichtern, haben wir einige Beispielclients bereitgestellt, die Sie als Referenz verwenden können.

Derzeit sind folgende Beispiele verfügbar:

  • Ein Go-basierter Dienst, mit dem Emulatorstatus abgefragt werden kann.
  • Eine React-App, die die Remote-Interaktivität über Screenshot- und Eingabe-RPCs demonstriert. Für dieses Beispiel ist die Protobuf-Version 3.7.0 oder höher erforderlich.
  • Ein Python-Beispiel, das die VM-Konfiguration des Emulators abfragt und dann eine Reihe von Befehlen sendet.

28.0.25 (29. März 2019)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

Headless-Emulator-Build

Der Emulator war aufgrund der impliziten Erwartungen des Systems, Qt zusammen mit seinen Shared-Library-Abhängigkeiten zu unterstützen, schwierig mit Docker und anderen CI-Workflows (Continuous Integration) einzurichten.

Als ersten Schritt zur Behebung dieses Problems haben wir eine Variante des Emulator-Launchers mit QEMU-Ausführungsdateien eingeführt, die nicht von Qt abhängt. Unter Linux gibt es noch einen Link zu libX11, aber wir hoffen, diesen bald entfernen zu können.

Wenn Sie den Headless-Emulator verwenden möchten, führen Sie den Emulator wie gewohnt über die Befehlszeile aus, ersetzen Sie jedoch den Aufruf des Emulator-Binärprogramms durch emulator-headless. Weitere Informationen finden Sie im Release-Update für Canary 28.1.8.

  • Das Zucken und die falsche Frame-Anzeige auf Intel-GPUs bei der Ausführung von Android Q-System-Images wurden behoben.
  • Es wurde ein Problem behoben, bei dem bei Verwendung von Android Q-System-Images mit Pixel 2 XL-Skins ein schwarzer Bildschirm angezeigt wurde.
  • Zum Starten des Emulators werden jetzt die neuesten BIOS-Binärdateien verwendet. Diese Änderung kann dazu beitragen, Fehler vom Typ „vCPU shutdown request“ zu reduzieren, die manchmal beim Starten des Emulators unter Windows auftreten.
  • Ein Fix für das Problem mit der falschen Anzeige beim Fortsetzen von Android Q-System-Images aus einem Snapshot wurde backportiert.
  • Bei Nutzern traten Probleme mit nicht autorisierten Emulatoren aufgrund einer inkompatiblen Änderung in ADB in platform-tools 28.0.2 auf. Sie können ADB jetzt sicher über platform-tools 28.0.2 mit dem Emulator verwenden. Wenn Sie Probleme mit „nicht autorisierten“ Emulatoren haben, führen Sie die folgenden Schritte zur Fehlerbehebung aus:
    1. Beenden Sie alle Emulatoren.
    2. Löschen Sie sowohl die ~/.android/adbkey- als auch die ~/.android/adbkey.pub-Datei.
    3. Führen Sie dazu diesen Befehl aus: adb kill-server
    4. Führen Sie dazu diesen Befehl aus: adb devices
    5. Löschen Sie die AVD-Daten.
    6. Starten Sie den Emulator neu.

28.0.23 (29. Januar 2019)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

Audioeingabe des Organisators ist standardmäßig deaktiviert

In einem aktuellen Beitrag auf Reddit wurde beschrieben, wie das Gastbetriebssystem von Android immer die Audioausgabe des Mikrofons des Hostbetriebssystems verwendet und dadurch „Ok Google“ unerwartet funktioniert. Das tut uns leid. Wir werden mit dem Android-Team zusammenarbeiten, um sicherzustellen, dass die Hotword-Erkennung auch im System-Image deaktiviert ist.

Aus diesem Grund haben wir die folgenden Änderungen vorgenommen:

  • Die Audiodaten des Hosts werden jetzt standardmäßig unterdrückt. Wenn der Gast das Mikrofon verwendet, wird Stille anstelle des Audiosignals des Moderators übertragen.
  • Wenn Sie die Audio-Hostdaten verwenden möchten, können Sie diese Option jetzt aktivieren. Rufen Sie dazu Erweiterte Steuerelemente > Mikrofon auf und aktivieren Sie Virtuelles Mikrofon verwendet Audioeingabe des Hosts. Diese Option wird automatisch deaktiviert, wenn der Emulator neu gestartet wird.

Updates zu Untersuchungen der CPU-Nutzung

Bei unseren Untersuchungen im Rahmen von Project Marble haben wir festgestellt, dass eine hohe CPU-Auslastung im Emulator in der Regel in die folgenden drei Kategorien fällt:

Im Leerlauf: Automatische App-Updates in Play Store-Bildern

Wir haben festgestellt, dass alle installierten Apps in zufälligen Intervallen aktualisiert werden, auch wenn der Nutzer nicht angemeldet ist. Während des Vorgangs wird die CPU-Auslastung in GMSCore und dex2oat auf die Anzahl der Kerne × 100% (in der Regel etwa 400%) erhöht. Sie können dieses Problem beheben, indem Sie automatische App-Updates in der Play Store App deaktivieren.

Im Leerlauf: Hotword-Erkennung

Wenn Sie sich auf dem Startbildschirm befinden und keine App im Vordergrund ausgeführt wird, kann die CPU-Auslastung sehr hoch sein (ca. 25% mit Spitzenwerten von bis zu 50%). Das liegt an der Hotword-Erkennung, die den Host ständig anpingt. Sie können dieses Problem nicht beheben, indem Sie die Audioeingabe des Hosts deaktivieren, da die CPU-Auslastung hauptsächlich durch die Zeit verursacht wird, die für die Übertragung vom Host zum Gast benötigt wird. Sie können dieses Problem jedoch beheben, indem Sie die Mikrofonberechtigungen für die Google App widerrufen.

Während der aktiven Nutzung, manchmal im Leerlauf: Animationen

Die dritte Quelle für eine hohe CPU-Auslastung sind Animationen. Wir haben festgestellt, dass wir durch die Optimierung des Grafiktreiber-Stacks auch dann die CPU-Auslastung reduzieren können, wenn der Emulator nicht im Leerlauf ist. Im Rahmen von Project Marble werden wir nach und nach Optimierungen für Grafiktreiber einführen.

28.0.22 (21. Dezember 2018)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Ein langjähriges Problem wurde behoben, bei dem der Mac-Emulator in einigen Einstellungen beim Speichern von Quickboot neu gestartet wurde oder eine Kernel-Panic auftrat. (Problem 120951634)
  • Wenn eine zugeordnete Datei als RAM-Snapshot verwendet wird, wird die Dateizuordnung jetzt beim Beenden des Emulators explizit aufgehoben.

28.0.20 (11. Dezember 2018)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Ein Problem unter Windows wurde behoben, das dazu führte, dass der Emulator beim Laden von Snapshots mit bestimmten Modellen von Intel-GPUs einfriert.
  • Ein Problem wurde behoben, das bei Verwendung eines nicht standardmäßigen ANDROID_SDK_HOME-Standorts zu einem unauthorized-ADB-Gerätestatus geführt hat.
  • Ein Problem unter Windows wurde behoben, das dazu führte, dass der Emulator abstürzte, wenn System-Images ohne CPU-Beschleunigung gebootet wurden.
  • Das Problem mit der pixeligen Emulatordarstellung wurde behoben. Das Downsampling sollte jetzt funktionieren.
  • Es wurde ein Problem unter macOS 10.14 und höher behoben, bei dem die Maussteuerung der virtuellen Szenenkamera aufgrund einer Interaktion mit neuen Sicherheits- und Barrierefreiheitseinstellungen zu empfindlich werden konnte.
  • Ein Fehler bei der Zeitzonenberechnung wurde behoben, der dazu führen konnte, dass sich die Emulatoruhr sporadisch geändert hat.
  • Es wurden Rendering-Fehler in verschiedenen Apps mit den Engines cocos2d und Unreal behoben.
  • Unterstützung für WLAN-Peer-to-Peer im Emulator hinzugefügt. Zwei Emulatoren können jetzt direkt über WLAN miteinander kommunizieren, wenn das aktuelle Pie Play Store-Image verwendet wird. Wenn Sie WLAN-Peer-to-Peer verwenden möchten, starten Sie zwei AVDs mit denselben Argumenten -wifi-server-port und -wifi-client-port:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Unterstützung für weitere Webcams unter Windows hinzugefügt, indem inkompatible Bildgrößen dynamisch an die Kameraeinstellung im Android-Gastbetriebssystem angepasst werden.

28.0.16 (November 2018)

Dieses Update enthält mehrere neue Funktionen, Verbesserungen an bestehenden Funktionen und Fehlerkorrekturen.

Ressourcennutzung

Der Emulator benötigt jetzt insgesamt weniger RAM, insbesondere bei Verwendung von System-Images mit API-Level 28 oder höher. Diese System-Images enthalten eine verbesserte Arbeitsspeichernutzung für Grafiktreiber auf Gastseite.

Außerdem haben wir die Ressourcennutzung in den folgenden Bereichen verbessert:

  • Die Arbeitsspeichernutzung des Emulators bei lang andauernden Tests wurde reduziert. Wenn weiterhin Probleme mit der Speichernutzung bei lang andauernden Tests auftreten, erstellen Sie bitte ein Problem, in dem Sie Ihren Anwendungsfall in der Problemverfolgung beschreiben.
  • Geringere CPU-Auslastung bei der Ausführung von Apps mit Animationen.
  • Ein Problem wurde behoben, bei dem der QEMU-AIO-Kontext unter Windows verloren gehen konnte.

Mehrere Instanzen eines einzelnen AVD gleichzeitig ausführen

Sie können jetzt mehrere Instanzen desselben AVD starten und gleichzeitig ausführen. Instanzen, die Sie nach der ersten Instanz starten, sind schreibgeschützt. Änderungen an der virtuellen Gastfestplatte werden beim Beenden verworfen.

Wenn Sie mehrere Instanzen desselben AVD gleichzeitig ausführen möchten, starten Sie alle Instanzen nach der ersten Instanz über die Befehlszeile mit dem Flag -read-only.

Diese Funktion wird durch das Kopieren der QCOW2-Dateien ermöglicht, die den beschreibbaren Teilen des Android-Images zugeordnet sind. Um Ihnen die Verwaltung des Speicherplatzes zu erleichtern, haben wir auch das qemu-img-Befehlszeilentool gebündelt, mit dem Sie QCOW2-Dateien vor dem Start mehrerer Instanzen vorab committen können.

Wenn sie zusammen mit der Funktion File-backed guest RAM snapshots verwendet werden, teilen sich mehrere AVD-Instanzen den primären AVD-Quickboot-Snapshot als gemeinsame Quelle für Copy-on-Write-Gast-RAM. Das bedeutet, dass die Instanzen einen Großteil ihres RAM gemeinsam nutzen. Mit dieser Funktion können Sie Tests ausführen, für die mehrere Geräte parallel erforderlich sind.

Wir freuen uns über Ihr Feedback zu möglichen Anwendungsfällen, die Teil Ihres normalen interaktiven oder CI-Workflows sind. Bitte erstellen oder bewerten Sie Probleme in der Problemverfolgung.

Dateibasierte Gast-RAM-Snapshots

Durch die Vorabzuweisung und Zuordnung des Gast-RAM als Datei kann der Emulator jetzt Quickboot-Snapshots während der Laufzeit speichern, anstatt alle Vorgänge beim Beenden auszuführen. Wenn Sie derzeit lange Speicherzeiten beim Schließen Ihrer Emulatoren haben, aktivieren Sie diese Funktion, um die Quickboot-Leistung zu verbessern. Standardmäßig wird beim Beenden ein Quickboot-Snapshot gespeichert und jedes Mal wieder geladen, ähnlich wie beim Ruhezustand und Aufwachen eines echten Geräts.

Da der RAM des Android-Gastbetriebssystems jetzt standardmäßig automatisch gespeichert wird, müssen Sie dem Emulator mitteilen, dass Änderungen nach jeder Sitzung verworfen werden sollen, wenn Sie einen Gerätestatus definieren und wiederholt aus diesem Status laden möchten. Dazu haben Sie folgende Möglichkeiten:

  • Verwenden Sie die Flags -no-snapshot-save oder -read-only, wenn Sie den Emulator über die Befehlszeile starten.
  • Gehe zu Erweiterte Steuerelemente > Momentaufnahmen > Einstellungen und stelle Aktuellen Status automatisch für Schnellstart speichern? auf Nein.
  • Nachdem Sie diese Option ausgewählt haben, müssen Sie den Emulator neu starten. Wenn der Emulator auf automatisches Speichern eingestellt ist, können Sie mit dem folgenden Befehl einen Prüfpunkt festlegen:
    adb emu avd snapshot remap 0
    
    Nachdem Sie diesen Befehl ausgeführt haben, bleibt der Quickboot-Snapshot des Emulators an diesem Prüfpunkt. Führen Sie denselben Befehl noch einmal aus, um den Emulator aus Ihrem Prüfpunkt zu laden.

Snapshots, die über die Snapshot-Benutzeroberfläche aufgenommen und geladen werden, funktionieren wie bisher ohne Dateizuordnung.

Da dies eine große Änderung der Funktionsweise von Quickboot ist, würden wir uns sehr über Ihr Feedback dazu freuen, ob sich die Leistung von Quickboot dadurch verbessert und welche Probleme bei der Verwendung auftreten. Wenn Probleme auftreten, können Sie diese Funktion deaktivieren, indem Sie der Datei ~/.android/advancedFeatures.ini die folgende Zeile hinzufügen:

QuickbootFileBacked = off

Wenn Sie den Emulator über einen Snapshot starten (entweder über die Befehlszeilenoption -snapshot oder über den AVD Manager), werden sowohl das automatische Speichern von Quickboot-Snapshots als auch das Speichern von Quickboot-Snapshots beim Beenden deaktiviert. Dadurch wird die Wahrscheinlichkeit verringert, dass der Quickboot-Snapshot unbeabsichtigt überschrieben wird, und es werden langsame Fallback-Pfade vermieden, die keine dateibasierten Quickboot-Snapshots verwenden.

QEMU 2.12

Wir haben unsere Variante von QEMU von QEMU 2.9 auf QEMU 2.12 umgestellt. Dieses Update enthält die folgenden QEMU-Änderungen:

Hier sind einige wichtige Änderungen, die sich auf den Android-Emulator auswirken:

  • x86: gdbstub bietet jetzt Zugriff auf SSE-Register.
  • Festplattenimages: Die Image-Sperrung wurde hinzugefügt und ist standardmäßig aktiviert. Mehrere QEMU-Prozesse können nicht in dasselbe Image schreiben, solange der Host OFD- oder POSIX-Sperren unterstützt, es sei denn, es werden andere Optionen angegeben.
  • qemu-img: qemu-img resize unterstützt die Vorabzuweisung der neuen Bildteile.
  • Das Verkleinern von QCOW2-Dateien wird jetzt in qemu und qemu-img unterstützt.

Bedienungshilfen

  • Wir haben Probleme mit Screenreadern behoben und die Unterstützung für diese Tools in der Benutzeroberfläche für die Bildschirmaufzeichnung und die Momentaufnahme verbessert.
  • Die Benachrichtigungssymbole für den Schnellstart sind jetzt auch für Nutzer mit Farbenblindheit besser zugänglich.

Grafik

  • Ein Problem mit dem Speicherzugriff außerhalb des gültigen Bereichs wurde behoben, das bei OpenGL ES-Vertex-Array-Zeigern auftreten konnte.
  • Einige ältere GPUs haben OpenGL 2.1 oder höher (erforderlich) nicht unterstützt oder hatten andere Zuverlässigkeitsprobleme. Diese Probleme können dazu führen, dass der Emulator beim Start abstürzt, einfriert oder mit der Standard-GPU-Einstellung nicht verwendet werden kann. Der Emulator wechselt jetzt automatisch zum Swiftshader-Renderer, wenn er erkennt, dass diese GPUs verwendet werden.
  • Ein Problem wurde behoben, das dazu führte, dass der Emulator den richtigen Framebuffer nicht bereitstellte, wenn FBO != 0 zum Zeitpunkt von eglSwapBuffers gebunden war.
  • Es wurde ein Problem behoben, durch das das virtuelle Android-Display nur in der oberen linken Ecke angezeigt wurde. Wir gehen davon aus, dass dies auf falsch konfigurierte Qt-Umgebungsvariablen zurückzuführen ist. Der Emulator überschreibt jetzt alle Umgebungsvariablen, die mit der Qt-Skalierung zusammenhängen.
  • Ein Problem wurde behoben, bei dem der Emulator in bestimmten Situationen beim Laden von GLES1-Apps aus einem Snapshot abstürzte.
  • Es wurden Probleme mit der Parallelität in OpenGL und beim Starten von Rendering-Threads behoben, die zu doppelten Freigaben oder beschädigten Daten führen konnten.
  • Der Android-Emulator unterstützt jetzt ASTC LDR-komprimierte Texturen (GL_KHR_texture_compression_astc_ldr) für System-Images mit API-Level 28 oder höher.
  • Auf den meisten modernen GPUs sollte der Emulator jetzt standardmäßig mit aktiviertem OpenGL ES 3.x gestartet werden können, ohne dass das Feature-Flag GLESDynamicVersion verwendet werden muss.
  • -gpu guest (Software-Rendering im Gast) wird nicht mehr unterstützt. Systemimages für API-Ebene 28 oder höher verwenden jetzt automatisch Swiftshader (-gpu swiftshader_indirect).
  • Wenn der Emulator über die Befehlszeile mit dem Flag -no-window gestartet wird, ist der Standard-Renderer jetzt Swiftshader.

Standort

  • Der Emulator kann jetzt den Kurs zusammen mit der Breiten- und Längengradposition aktualisieren. Der virtuelle Magnetometersensor passt sich dynamisch an den magnetischen Norden an, indem er Bewegungen beim Abspielen einer GPX- oder KML-Datei ableitet.
  • Die Gerätegröße kann jetzt auf der Seite „Standort“ festgelegt werden.
  • Bei der Wiedergabe einer GPX- oder KML-Datei wird die Geschwindigkeit automatisch festgelegt und auf null gesetzt, wenn die Wiedergabe endet.
  • Die Höhe ist nicht mehr auf einen Bereich zwischen -1.000 und +10.000 Metern beschränkt.
  • Ein Problem wurde behoben, bei dem der virtuelle GPS-Standort nicht regelmäßig aktualisiert wurde, wenn das Fenster „Erweiterte Steuerelemente“ nicht mindestens einmal geöffnet wurde.

Kamera

Unter Windows werden jetzt mehr Webcams unterstützt, da der Emulator die von der Webcam gelieferten Kamerabilder dynamisch anpasst. Außerdem wird dadurch verhindert, dass der Emulator aufgrund von Fehlern bei der Frame-Auslieferung hängen bleibt.

Play Store

Um Probleme mit dem Speicherplatz auf Play Store-Images zu beheben, wird die userdata-Partition im Emulator jetzt automatisch auf 6 GB vergrößert, wenn er mit einem neuen Play Store-AVD ausgeführt wird.

Allgemeine Qualitätsverbesserungen und Fehlerkorrekturen

  • Einige Nutzer haben berichtet, dass der Emulator langsam läuft. Wir haben eine mögliche Ursache dafür gefunden, dass sich im temporären Verzeichnis des Emulators zu viele alte Dateien befinden. Als Workaround speichert der Emulator keine ADB-Liveness-Check-Dateien mehr in diesem Verzeichnis. Es kann jedoch auch helfen, den Inhalt dieses Ordners zu löschen. Der Ordner befindet sich je nach Betriebssystem an einem der folgenden Speicherorte:
    • Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS oder Linux: /tmp/android-<username>/*
  • Wenn der Emulator aufgrund von zu wenig kostenlosem RAM nicht gestartet werden kann, wird jetzt eine Fehlermeldung angezeigt. Wenn Sie Windows verwenden und feststellen, dass RAM kostenlos ist, Sie den Emulator aber trotzdem nicht starten können, wurde möglicherweise die Commit-Gebühr überschritten. Hilfe bei diesem Problem finden Sie auf der Seite zur Fehlerbehebung bei Emulatoren.
  • Die Befehlszeilenoption -sysdir überschreibt jetzt das abgeleitete Systembildverzeichnis korrekt.
  • Das virtuelle Modem unterstützt jetzt die Abfrage +MAI für Modellaktivitätsinformationen.
  • Es wurden verschiedene Probleme mit Speicherlecks, Speicherschäden und CPU-Auslastung behoben. Wenn es zu Abstürzen, Speicherlecks oder einer anderen hohen Ressourcennutzung kommt, erstellen Sie bitte ein Problem in der Problemverfolgung.
  • Ein Problem, das unter macOS 10.14 wieder aufgetreten ist und bei dem die Verwendung von Bluetooth-Headsets mit dem Emulator die Audioqualität beeinträchtigt hat, wurde behoben. Um dies zu verhindern, wird Bluetooth-Audio im Emulator unter macOS nicht mehr verwendet. (Problem 37070892)
  • Ein Problem unter Windows wurde behoben, bei dem die Emulatoruhr nicht in der richtigen Zeitzone angezeigt wurde.
  • Das Problem, dass der Emulator auf Linux-Systemen mit rotierenden Festplatten (HDDs) langsam war und hängen blieb, wurde behoben.
  • Einige Kompilierungswarnungen, die unter macOS zu einem Stack-Fehler führen konnten, wurden behoben.
  • Es wurden Probleme behoben, die zu irreführenden Berichten über Hänger führen konnten.
  • Das Problem beim Beenden von Threadpools wurde behoben. Es konnte zu einem Absturz kommen, wenn einer der Threads nicht erfolgreich erstellt wurde.
  • Ein Problem auf macOS wurde behoben, bei dem Timer unzuverlässig wurden, was zu Hängern und anderem seltsamen Verhalten führte. Wenn der Emulator unter macOS hängen bleibt, erstellen Sie ein Problem im Issue Tracker.
  • Ein Problem wurde behoben, bei dem das Schließen des Emulators die Benutzeroberfläche deaktivierte, den Emulator aber nicht tatsächlich schloss.
  • Es wurden Probleme mit sporadischen Abstürzen behoben, einschließlich eines Abbruchs aufgrund des Öffnens zu vieler Instanzen von /dev/urandom.
  • Ein Problem wurde behoben, durch das der Emulator nach dem ersten Start nicht gestartet werden konnte, wenn ADB gewaltsam beendet wurde.
  • Der MIPS-Build wurde entfernt. Wenn Sie weiterhin MIPS benötigen, erstellen Sie bitte ein Problem im Issue Tracker.
  • Ein Problem wurde behoben, bei dem ADB-Verbindungen beim Laden von Snapshots beschädigt werden konnten.
  • Es wurde ein Problem behoben, bei dem das Emulatorfenster ein Nachbild hatte oder vom Bildschirm verschwand, wenn ein Snapshot fortgesetzt wurde, bei dem die Geräteausrichtung von der Standardausrichtung des AVD abwich.
  • Probleme mit Abstürzen beim Speichern von Momentaufnahmen wurden behoben.
  • Unter Linux können btrfs-Dateisysteme zu extremen Verlangsamungen führen, da der Emulator automatisch Snapshots speichert und Copy-on-Write für seine virtuellen Festplatten verwendet. Wir empfehlen, das Verzeichnis ~/.android/avd zu leeren und den folgenden Befehl im leeren Verzeichnis ~/.android/avd auszuführen:
    chattr +C
    
    Dadurch werden neue Snapshots in einem Ordner erstellt, in dem „Copy-on-Write“ deaktiviert ist.

HAXM 7.3.2

Wir möchten noch einmal auf HAXM 7.3.2 hinweisen, da es installiert sein muss, damit aktuelle System-Images ordnungsgemäß auf dem Emulator ausgeführt werden können. HAXM 7.3.2 sollte bereits im stabilen Channel verfügbar sein und kann auch manuell über https://github.com/intel/haxm/releases installiert werden.

Hier sind einige der Probleme, die in dieser Version von HAXM behoben wurden:

  • Es wurden zufällige Abstürze von Gastbetriebssystemen behoben, die einen aktuellen Linux-Kernel (>= 4.6) verwenden. Beispiel: Ubuntu 18.04 (#39, #74).
  • Ein Fehler im x86-Befehlsemulator wurde behoben, der zu einem Hostabsturz führen konnte (#93).

32-Bit-Windows-Systeme werden nicht mehr unterstützt

Aufgrund der geringen Nutzung und der hohen Wartungskosten planen wir, die 32-Bit-Version des Android-Emulators unter Windows einzustellen. Wir werden vor der Entfernung und dem Ende des Produktlebenszyklus der 32-Bit-Version des Android-Emulators einen Übergangsplan einführen. Wir freuen uns jedoch über Feedback oder Bedenken zu dieser zukünftigen Änderung.

Bitte teilen Sie uns im Issue Tracker mit, ob Sie derzeit auf die 32‑Bit-Version des Android-Emulators unter Windows angewiesen sind, und wie wir in Zukunft am besten mit Ihnen zusammenarbeiten können.

27.3.10 (August 2018)

Dieses Update enthält die folgende Fehlerkorrektur:

Korrektur der RAM-Größenkonfiguration

Einige Nutzer haben berichtet, dass der Emulator langsam läuft. Wir haben eine mögliche Ursache gefunden, bei der die AVD-RAM-Größe in der config.ini-Datei des AVD falsch festgelegt wurde.

Um dieses Problem zu beheben, erhöht der Emulator den Mindest-RAM-Level für Bilder, die API-Level 26 oder höher verwenden, auf den Android Studio-Standardwert von 1.536 MB. Wenn in der config.ini-Datei Ihres AVD hw.ramSize nicht in Megabyte angegeben ist, erstellen Sie ein Problem in der Problemverfolgung. Sie finden die Datei config.ini am folgenden Speicherort:

~/.android/avd/<avdname>.avd/config.ini

27.3.9 (Juli 2018)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

Verbesserte Fehlermeldungen für die Windows-Hypervisor-Plattform

Einige Nutzer hatten Schwierigkeiten, die Ursache dafür zu ermitteln, warum die Windows Hypervisor Platform (WHPX) nicht initialisiert werden konnte, als sie einen WHPX-Emulator aktivierten. Damit Sie diese Probleme besser diagnostizieren können, haben wir aussagekräftigere Fehlermeldungen hinzugefügt. Sie können diese Fehlermeldungen aktivieren, indem Sie den Emulator über die Befehlszeile mit dem Flag -verbose ausführen.

Allgemeine Korrekturen

  • OpenGL-Fehler, die beim Laden eines Schnappschusses in der Kamera App auftreten, wurden behoben.

27.3.8 (Juli 2018)

Dieses Update enthält mehrere neue Funktionen, Verbesserungen an bestehenden Funktionen und Fehlerkorrekturen.

Snapshots

Sie können jetzt mehrere AVD-Snapshots für eine bestimmte Gerätekonfiguration speichern und auswählen, welcher der gespeicherten Snapshots beim Starten des Emulators geladen werden soll.

Ab Android Studio 3.2 Canary 13 enthält jede Gerätekonfiguration ein Steuerelement in den erweiterten Einstellungen im Dialogfeld „Virtual Device Configuration“ (Konfiguration des virtuellen Geräts), mit dem Sie festlegen können, welcher AVD-Snapshot beim Starten des AVD geladen werden soll.

Um diese Erweiterung der Snapshot-Funktionen zu berücksichtigen, haben wir dem Dialogfeld Erweiterte Einstellungen die Kategorie Snapshots hinzugefügt. Dieser neue Bereich enthält Steuerelemente zum Speichern und Laden von AVD-Snapshots, einschließlich der Steuerelemente zum Speichern und Laden des Quick-Boot-Snapshots, die sich zuvor im Bereich Einstellungen befanden.

Sie können den Namen und die Beschreibung jedes gespeicherten Snapshots bearbeiten.

Weitere Informationen finden Sie unter Snapshots.

HAXM 7.2.0

HAXM 7.2.0 ist jetzt in allen Channels verfügbar.

Dieses Update enthält Fehlerkorrekturen und eine verbesserte Unterstützung für große Mengen an RAM. Außerdem werden mit diesem HAXM-Update und Emulator 27.3 und höher die Inhalte von Snapshots bei Bedarf in den RAM geladen, anstatt den gesamten Snapshot beim Start des virtuellen Geräts zu laden. Diese Änderung sollte die zum Laden eines Snapshots benötigte Zeit erheblich verkürzen.

Weitere Informationen finden Sie unter VM-Beschleunigung konfigurieren.

27.2.9 (Mai 2018)

Dieses Update enthält mehrere neue Funktionen, Verbesserungen an bestehenden Funktionen und Fehlerkorrekturen.

Bildschirmaufzeichnung

Sie können jetzt Video und Audio aus dem Android-Emulator aufzeichnen und die Aufnahme in einer WebM- oder animierten GIF-Datei speichern.

Die Steuerelemente für die Bildschirmaufzeichnung befinden sich im Fenster Erweiterte Steuerelemente auf dem Tab Bildschirm aufzeichnen.

Tipp:Sie können die Steuerelemente für die Bildschirmaufzeichnung auch öffnen, indem Sie Strg + Umschalttaste + R (Befehlstaste + Umschalttaste + R auf dem Mac) drücken.

Klicken Sie auf dem Tab Bildschirmaufnahme auf die Schaltfläche Aufnahme starten, um mit der Bildschirmaufnahme zu beginnen. Wenn Sie die Aufzeichnung beenden möchten, klicken Sie auf Aufzeichnung beenden.

Die Steuerelemente zum Abspielen und Speichern des aufgezeichneten Videos befinden sich unten auf dem Tab Bildschirmaufnahme. Wenn Sie das Video speichern möchten, wählen Sie im Menü unten auf dem Tab WebM oder GIF aus und klicken Sie auf Speichern.

Sie können auch eine Bildschirmaufzeichnung vom Emulator aufzeichnen und speichern. Verwenden Sie dazu den folgenden Befehl in der Befehlszeile:

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

Screenshots

Sie können Screenshots über die Befehlszeile mit einem der folgenden Befehle erstellen:

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

Screenshots werden im PNG-Format gespeichert.

Kamera für virtuelle Szenen und ARCore

Die Entwicklung und das Testen von Augmented-Reality-Apps (AR) mit ARCore ist jetzt noch einfacher. Mit der neuen virtuellen Szenenkamera können Sie Ihre AR-Erlebnisse in einer virtuellen Umgebung testen.

Informationen zur Verwendung der Kamera für virtuelle Szenen im Emulator finden Sie unter AR-Apps im Android-Emulator ausführen.

Bilder des Google Play Store auf Pixel-Geräten

Der Google Play Store ist jetzt für Geräte-Images für Pixel und Pixel 2 aktiviert. In Android Studio 3.2 und höher wird dies im AVD Manager durch das Google Play-Logo in der Spalte Play Store angezeigt. AVDs, für die der Google Play Store aktiviert ist, haben im Dialogfeld Erweiterte Steuerelemente den Tab Google Play. Dort finden Sie eine praktische Schaltfläche zum Aktualisieren der Google Play-Dienste auf dem Gerät.

Snapshots

Sie können jetzt einen Quick Boot-Snapshot laden, ohne den Emulator neu starten zu müssen. Wenn Sie einen Snapshot laden möchten, öffnen Sie das Fenster Erweiterte Einstellungen auf der Seite Einstellungen und klicken Sie auf die Schaltfläche Jetzt laden.

Wir haben viele Verbesserungen beim Laden und Speichern von Snapshots vorgenommen, um die Ressourcennutzung zu optimieren und die Dauer der einzelnen Vorgänge zu minimieren. Wenn das Speichern weiterhin ungewöhnlich lange dauert, melden Sie das Problem bitte und geben Sie Details zu Ihrer CPU, Ihrem RAM und den Einstellungen aller Antiviren-, Firewall- und Sicherheitssoftware an, die ausgeführt wird.

Rendering mit Skia

Wenn Sie Bilder für API 27 oder höher verwenden, kann der Emulator die Android-Benutzeroberfläche mit Skia rendern, was zu einer flüssigeren und effizienteren Darstellung führen kann.

Derzeit müssen Sie Skia explizit aktivieren, um es verwenden zu können.

Verwenden Sie die folgenden Befehle in der ADB-Shell, um das Skia-Rendering zu aktivieren:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

Kamera

Unter Windows verwendet der Android-Emulator jetzt Media Foundation als Webcam-Back-End. Dadurch werden Leistung und Framerate für die Webcam-Aufnahme (bis zu 720p bei 30 fps) erheblich verbessert.

Auf einem Mac können Sie jetzt „webcam0“ und „webcam1“ zusammen verwenden.

Sonstiges

Die Befehlszeilenoption -phone-number-prefix wurde in -phone-number [number] geändert. Damit kann die vollständige Telefonnummer festgelegt werden.

Sie können jetzt alphanumerische SMS-Adressen verwenden.

Fehlerkorrekturen

  • Die Linux-Version des Android-Emulators wird jetzt mit einer modernen Clang C++-Toolchain erstellt. Mit dieser Änderung wird das Problem behoben, dass der Emulator aufgrund von libGL- und libstdc++-Fehlern nicht gestartet werden konnte.
  • Es wurden mehrere Ursachen für Abstürze und Hänger behoben.
  • Um Abstürze und Hänger aufgrund von zu wenig freiem Speicherplatz zu vermeiden, prüft der Emulator jetzt beim Start, ob genügend freier Speicherplatz vorhanden ist. Er wird nur gestartet, wenn mindestens 2 GB kostenlos sind.
  • Ein Problem wurde behoben, durch das einige Unity-Spiele nicht gerendert wurden.
  • Ein DNS-Problem wurde behoben, das dazu führte, dass der Emulator keine Verbindung zum Netzwerk herstellen konnte.
  • Ein Problem wurde behoben, das dazu führte, dass Änderungen am internen Speicher, der einem AVD über das Dialogfeld „Virtual Device Configuration“ (Konfiguration des virtuellen Geräts) zugewiesen wurde, nicht funktionierten.
  • Es wurde ein Problem behoben, bei dem viele ADB-Prozesse erstellt und nicht ordnungsgemäß beendet wurden.
  • Ein Problem wurde behoben, durch das die Schaltflächen zum Drehen und andere Teile der Benutzeroberfläche nicht mehr reagierten, wenn das Fenster „Erweiterte Steuerelemente“ nicht geöffnet war.
  • Ein Problem wurde behoben, bei dem das Kopieren und Einfügen vom Host aus nur funktionierte, wenn das Dialogfeld „Erweiterte Steuerelemente“ mindestens einmal geöffnet wurde.
  • Das Rechteck zum Anpassen der Größe des rahmenlosen Emulators wurde aktualisiert, damit es besser zum visuellen Design des Emulators passt.
  • Telefonie und SMS werden jetzt korrekt deaktiviert, wenn der Flugmodus aktiviert ist.
  • Es wurde ein Problem behoben, durch das SMS- und Mobilfunkfunktionen nach dem Laden eines Snapshots deaktiviert wurden.
  • Sie erhalten keine falschen Warnmeldungen mehr, in denen steht: “Unable to open... \pstore.bin. Permission denied.”
  • Ein Problem wurde behoben, das das Neupositionieren des AVD auf einigen Mac-Bildschirmen verhinderte.
  • Probleme mit flackernden und leeren Displays auf neueren MacBook Pro-Computern bei der Ausführung von AVDs mit Pixel 2 XL-Skins wurden behoben.
  • Probleme mit leeren Bildschirmen beim Wechsel in den Zoommodus, wenn ein rahmenloser Emulator aktiv war, wurden behoben.
  • Ein Problem wurde behoben, das dazu geführt hat, dass das Geräteskin und die Inhalte des Emulators beim Zoomen nicht mehr synchron gescrollt wurden.

Wenn weiterhin Hänger oder andere Instabilitäten auftreten, melden Sie das Problem bitte.

27.1.12 (März 2018)

Dieses Update enthält Korrekturen für die folgenden Probleme:

  • Die Bluetooth-Audioqualität hat sich nach dem Starten des Emulators verschlechtert. (Problem 37095756)
  • Standorte, die an einen Emulator gesendet wurden, wurden an alle Emulatoren gesendet. (Problem 73450633)
  • Der über die Konsole festgelegte GPS-Standort wurde durch Werte überschrieben, die über Erweiterte Steuerelemente > Standort in der grafischen Benutzeroberfläche festgelegt wurden. (Problem 73471760)

Wenn weiterhin Hänger oder andere Instabilitäten auftreten, melden Sie das Problem bitte.

Mit diesem Update, einem aktuellen System-Image und einer Vorabversion von Android Studio können Sie mit dem Android-Emulator Augmented Reality-Anwendungen ausführen, die mit ARCore erstellt wurden. Ausführliche Anforderungen und eine Anleitung finden Sie im Hilfeartikel AR-Apps im Android-Emulator ausführen.

27.1.10 (Februar 2018)

  • Auflösung der Kameraaufnahme

    Es können jetzt 720p-Bilder von einer angeschlossenen Webcam aufgenommen werden.

    Für die Verwendung mit System-Images für Android 8.1 (API-Level 27) und höher muss jede angeschlossene Webcam 720p-Bilder aufnehmen können.

  • Fehlerkorrekturen

    • Es wurde ein Problem behoben, durch das bei der Webcam-Aufnahme manchmal ein verzerrtes oder vollständig grünes Bild ausgegeben wurde.
    • Ein Problem wurde behoben, durch das die folgende Meldung angezeigt wurde, obwohl kein tatsächlicher Hänger vorlag: „emulator: ERROR: detected a hanging thread 'Qt event loop'. Keine Antwort innerhalb von 15.000 ms.“

Wenn weiterhin Hänger oder andere Instabilitäten auftreten, melden Sie das Problem bitte.

27.1.7 (Februar 2018)

  • Rahmenloses Emulatorfenster:

    Standardmäßig werden Emulatoren mit Geräte-Skin-Dateien jetzt ohne umgebenden Fensterrahmen angezeigt. Wenn Sie den umgebenden Fensterrahmen sehen möchten, aktivieren Sie im Bereich „Einstellungen“ des Fensters Erweiterte Steuerelemente die Option Fensterrahmen um Gerät anzeigen.

  • Verbesserungen bei Quick Boot, um die Arbeit mit AVD-Snapshots effizienter zu gestalten:

    • Sie können jederzeit einen AVD-Snapshot speichern. Klicken Sie dazu im Dialogfeld Erweiterte Einstellungen im Bereich „Einstellungen“ auf die Schaltfläche Jetzt speichern.
    • Der Emulator verkürzt die Zeit, die zum Speichern eines Snapshots benötigt wird, in vielen Fällen, indem nur die Differenz zwischen dem aktuellen Status und dem zuvor gespeicherten Snapshot gespeichert wird.

    Weitere Informationen finden Sie in der Dokumentation zu Quick Boot.

  • Der Emulator wurde aktualisiert und verwendet jetzt QEMU 2.9.

    Einige wichtige Verbesserungen:

    • Optimierte E/A und detailliertere Sperrung von E/A-Threads für eine höhere Leistung.
    • Seit QEMU 2.8 (26.1.4) wurden Fehler behoben.
    • Neue Implementierung des HAXM-Back-Ends.

    Eine vollständige Liste der Änderungen finden Sie im QEMU 2.9-Änderungsprotokoll.

  • Swiftshader-Implementierung, die OpenGL ES 3.0 entspricht:

    Der Swiftshader-Renderer des Emulators entspricht jetzt vollständig OpenGL ES 3.0. Weitere Informationen zum Swiftshader-Renderer finden Sie im Abschnitt Einstellungen > Erweitert der erweiterten Steuerelemente.

  • Fehlerkorrekturen

    • Ein Problem wurde behoben, durch das die Zwischenablagefreigabe nur funktionierte, wenn die Option Zwischenablagefreigabe aktivieren deaktiviert und wieder aktiviert wurde.
    • Ein Hängen bei der Verwendung des Swiftshader-Rendering-Back-Ends mit AVDs mit niedriger Auflösung wurde behoben.

27.0.5 (Januar 2018)

  • ANGLE für das Rendern unter Windows ist jetzt standardmäßig deaktiviert.

    Wenn ANGLE für Sie besser funktioniert, können Sie es mit dem Befehlszeilenflag -gpu angle_indirect wieder aktivieren. Alternativ können Sie das Fenster „Erweiterte Steuerelemente“ öffnen, zu Einstellungen > Erweitert gehen und ANGLE D3D11 für die OpenGL ES-Renderer-Einstellung auswählen.

  • Ein Problem wurde behoben, bei dem mit Umschalttaste + B kein großes B eingegeben wurde.

27.0.2 (Dezember 2017)

  • Die neue Funktion „Schnellstart“ ermöglicht kürzere Emulator-Startzeiten, da sie auf einem Snapshot Ihrer AVD-Instanz basiert.

    Der Schnellstart ist standardmäßig für alle AVDs aktiviert. Wenn Sie ein AVD zum ersten Mal starten, muss ein Kaltstart durchgeführt werden (wie beim Einschalten eines Geräts). Alle nachfolgenden Starts sind jedoch schnell und das System wird in den Zustand zurückversetzt, in dem Sie den Emulator geschlossen haben (ähnlich wie beim Aktivieren eines Geräts).

    Wenn Sie steuern möchten, wann der Emulator einen Snapshot speichert, öffnen Sie das Fenster mit den erweiterten Steuerelementen des Emulators und klicken Sie auf Einstellungen. Hier können Sie eine der folgenden Einstellungen für Schnellstartstatus beim Beenden speichern auswählen:

    • Ja: Beim Schließen des Emulators wird immer ein Quick-Boot-Snapshot gespeichert. Das ist die Standardeinstellung.
    • Nein: Speichern Sie niemals einen Snapshot für den Schnellstart, sondern führen Sie immer einen Kaltstart durch.
    • Ask (Fragen): Sie werden gefragt, ob Sie beim Schließen des Emulators einen Snapshot für den Schnellstart speichern möchten.

    Ihre Auswahl gilt nur für das aktuell geöffnete AVD.

    Weitere Informationen finden Sie in der Dokumentation zu Quick Boot.

  • Unterstützung für Mac OpenGL ES 3 wurde hinzugefügt (für System-Images mit API-Level 24 und höher, Google-APIs und x86-ABI).

  • Für mehr Stabilität in OpenGL ES 2+-Apps verwendet der Emulator jetzt das OpenGL-Kernprofil, sofern verfügbar.

  • Neue Optionen für das Rendern mit Swiftshader / ANGLE:

    • -gpu swiftshader_indirect: Schnellere, stabilere Variante von Swiftshader, die mit Quick Boot funktioniert.
    • -gpu angle_indirect (nur Windows): Stabilere Variante von ANGLE D3D, die auch mit Quick Boot funktioniert.

    Die älteren Optionen -gpu swiftshader und -gpu angle wurden eingestellt. Im Fenster „Erweiterte Einstellungen“ werden für die OpenGL ES-Renderer-Einstellung in Einstellungen > Erweitert jetzt die Optionen „SwiftShader“ und „ANGLE“ mit *_indirect verwendet.

  • Verschiedene andere Fehlerkorrekturen.

26.1.4 (August 2017)

Dies ist eine untergeordnete Version mit Fehlerkorrekturen und den folgenden Verbesserungen der GPU-Konfiguration:

  • Bootanimation bei Verwendung des ANGLE-Renderers aktivieren
  • GLES3 deaktivieren, wenn der ANGLE-Renderer verwendet wird

26.1.3 (August 2017)

Diese Version enthält Fehlerkorrekturen, Leistungsverbesserungen und kleine Funktionsänderungen.

  • Diese Version ist jetzt erforderlich, um die neuesten Android 8.0-System-Images zu verwenden. Sie sind Treble-kompatibel und haben separate vendor.img-Partitionen.
  • HAXM 6.2.0 ist jetzt verfügbar (siehe SDK Manager) und enthält die folgenden Aktualisierungen:
    • Verbesserte Arbeitsspeichernutzung. Der maximale Arbeitssatz des von HAXM angepinnten Arbeitsspeichers entspricht nicht mehr der Größe des RAM des AVD. Stattdessen wird der Arbeitsspeicher bei Bedarf ausgelagert. Dadurch sollte der Emulator auf Computern mit weniger RAM zuverlässiger ausgeführt werden.
    • Der Emulator mit HAXM 6.2.0 kann jetzt unter macOS schneller gestartet werden, da eine lange Initialisierungsphase übersprungen wird.
  • Verbesserungen bei der GPU-Konfiguration
    • Probleme mit einem schwarzen Bildschirm beim Booten wurden behoben, wenn das Software-Rendering auf der Gastseite durchgeführt wurde. In diesem Fall wird jetzt auf das Software-Rendering auf der Hostseite mit Swiftshader zurückgegriffen. Die neuesten Revisionen von System-Images für API-Levels 19 bis 25 mit Google-APIs sollten die Gastseitenwiedergabe unterstützen.
    • Ein Problem wurde behoben, bei dem der Emulator auf einen Software-Renderer umgestellt wurde, weil das Vorhandensein älterer Intel-GPUs erkannt wurde, der Emulator aber tatsächlich auf einer separaten GPU ausgeführt wurde. Welche GPUs für das ANGLE- oder Swiftshader-Rendering verwendet werden, wird so bestimmt:
      • Bei älteren Intel-iGPUs gibt es Treiberprobleme sowohl bei OpenGL- als auch bei ANGLE-D3D-Treibern. Nutzer mit Intel HD Graphics 3xxx und älter verwenden Swiftshader.
      • Einige Nutzer haben gemeldet, dass sie Bilder mit API-Level 25 nicht verwenden können, da ein Fehler auftritt, bei dem „Pixel Launcher wird immer wieder beendet“. Offenbar handelt es sich um ein Treiberproblem bei einigen Intel HD 4xxx-Modellen. Sie werden also automatisch auf ANGLE umgestellt.
    • Für optimale Ergebnisse mit der GPU-Emulation empfehlen wir entweder die Verwendung einer separaten NVIDIA- oder AMD-GPU oder einer neueren Intel-GPU (Iris, HD 5xxx, HD 5xx/6xx).
    • Ein Problem wurde behoben, bei dem der Emulator nicht gestartet wurde (OpenGL-Emulation konnte nicht initialisiert werden), wenn das AVD mit hw.gpu.mode=host konfiguriert war und der Emulator in einem Remote-Desktop-Client gestartet wurde.
    • Die Einstellungen für „OpenGL ES API-Level (Neustart erforderlich)“ wurden präzisiert. Außerdem wurde eine Option zum Downgrade von OpenGL ES 3 auf OpenGL ES 2 hinzugefügt, falls Probleme auftreten oder Tests auf niedrigeren OpenGL ES API-Levels erforderlich sind.
    • Der Mesa-Renderer ist veraltet. hw.gpu.mode=mesa wird jetzt automatisch auf Swiftshader auf dem Host umgestellt.
  • Verbesserungen für macOS:
    • Der Emulator ist jetzt vollständig mit macOS 10.13 High Sierra kompatibel, entweder über Hypervisor.Framework oder HAXM 6.2.0.
    • Hypervisor.framework ist jetzt standardmäßig auf macOS für 32-Bit-x86-Images aktiviert, um die Leistung und macOS-Kompatibilität zu verbessern. Wenn Sie Probleme mit dieser Funktion haben, erstellen Sie bitte einen Fehlerbericht und hängen Sie HVF = off an ~/.android/advancedFeatures.ini an (erstellen Sie diese Datei, falls sie nicht vorhanden ist).
    • Es wurden Probleme behoben, bei denen keine Internetverbindung bestand oder der Debugger bei Verwendung von Hypervisor.framework nicht angehängt werden konnte.
    • Zur Verbesserung der Kompatibilität und Leistung der Webcam-Aufnahme wurde die QTKit-basierte Kameraaufnahme durch eine gepufferte Aufnahme auf Grundlage von AVFoundation ersetzt.
  • Unterstützung für WLAN in einigen System-Images hinzugefügt (derzeit nur API-Level 25). Ein Zugangspunkt namens „AndroidWifi“ ist verfügbar und Android stellt automatisch eine Verbindung zu ihm her. Die WLAN-Unterstützung kann deaktiviert werden, indem Sie den Emulator mit dem Befehlszeilenparameter -feature -Wifi ausführen.
  • Einige Nutzer haben sich darüber beschwert, dass die Play Store-Systemimages mit fester Größe nicht genügend Speicherplatz bieten. Daher haben wir die Standardgröße von 800 MB auf 2 GB erhöht.
  • Es wurde ein Tastenkürzel (Strg + Umschalt + U) hinzugefügt, mit dem die Benutzeroberfläche für die Fehlerberichterstattung direkt über die Einstellungsseite geöffnet werden kann.
  • Es wurde ein Problem behoben, bei dem der Emulator nicht gestartet wurde, wenn eine ältere CPU mit Intel x86 EPT, aber ohne UG verwendet wurde und mehr als ein Kern konfiguriert war.
  • Ein Problem wurde behoben, bei dem HyperV fälschlicherweise erkannt wurde, wenn der Emulator selbst in einem Xen-Hypervisor ausgeführt wurde.
  • Ein Problem wurde behoben, das bei einigen Linux-Konfigurationen dazu geführt hat, dass der Emulator beim Start abgestürzt ist.

26.1.2 (Juli 2017)

Diese Version enthält neue Funktionen und Leistungsverbesserungen.

  • Es wurde die Möglichkeit hinzugefügt, eine benutzerdefinierte HTTP-Proxy-Konfiguration in den erweiterten Einstellungen zu definieren (klicken Sie auf das Dreipunkt-Menü Mehr und dann auf Einstellungen und Proxy). Standardmäßig verwendet der Emulator die HTTP-Proxy-Einstellungen von Android Studio. Auf diesem Bildschirm können Sie jedoch eine manuelle Proxy-Konfiguration definieren.

  • VNC-Unterstützung für Gastmodus-GPU hinzugefügt, damit der Emulator per Fernzugriff angezeigt und gesteuert werden kann. Sie können den Emulator beispielsweise so starten, dass VNC den Port 5901 überwacht:

    1. Ausführen: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. Öffnen Sie einen VNC-Viewer, z. B. TightVNC Viewer, um eine Verbindung zu Port 5901 herzustellen.

      • Wenn Sie den integrierten Bildschirmfreigabe-Client von Mac verwenden möchten, ist beim Starten des Emulators ein VNC-Passwort erforderlich. Verwenden Sie den folgenden Befehl, um ein Passwort festzulegen:

        emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio

        Geben Sie dann change vnc password in die Konsole ein und geben Sie ein Passwort ein.

    Android O wird für den VNC-Modus derzeit nicht unterstützt.

  • Auf dem Hilfebildschirm für die erweiterten Steuerelemente wurde die Schaltfläche Fehler melden hinzugefügt. Klicken Sie dazu auf das Dreipunkt-Menü und dann auf Hilfe und Emulator-Hilfe. Wenn Sie auf Fehler melden klicken, wird ein Dialogfeld geöffnet, in dem Sie die Details des Fehlerberichts sehen, z. B. den Screenshot, die AVD-Konfigurationsinformationen und ein Fehlerberichtsprotokoll. Sie können den Bericht dann für sich selbst speichern oder Probleme mit dem Emulator melden.

  • Dem Emulator und dem Bereich für virtuelle Sensoren wurde ein Gyroskopsensor hinzugefügt. Dazu ist ein System-Image mit Unterstützung für Gyroskope erforderlich (derzeit API-Level 24 und 25).

  • Der Qemu-DNS-Liste wurde auf Windows-Systemen der vom Host bevorzugte DNS-Server hinzugefügt, wenn mehrere virtuelle Netzwerkschnittstellen auf dem Host mehrere DNS-Adressen einführen, die für den Emulator nicht funktionieren.

  • Experimentelle Unterstützung für das macOS Hypervisor.Framework für 32-Bit-x86-Images unter macOS 10.10 und höher über Server-Flags hinzugefügt. Dadurch sollten die Startzeit und die Leistung verbessert werden.

    • Wenn Probleme auftreten, fügen Sie die Zeile HVF = off in ~/.android/advancedFeatures.ini ein.
  • OpenGL ES 3.x ist jetzt standardmäßig für System-Images und Host-GPUs aktiviert, die OpenGL ES 3 unterstützen. Derzeit unterstützen nur Android O (API-Level 26) und Windows-/Linux-Hosts OpenGL ES 3.

    • Wenn Probleme mit OpenGL ES 3 auftreten, fügen Sie die Zeile GLESDynamicVersion = off in ~/.android/advancedFeatures.ini ein.
  • Der Emulator verwendet jetzt Offscreen-OpenGL-FBOs für das gesamte Rendering mit Ausnahme des Postens des endgültigen Bildschirmanzeigebilds. Dies sollte dazu beitragen, Probleme mit der Farbkonsistenz auf verschiedenen Plattformen zu beheben.

  • Nachdem wir Daten zu Problemen mit plötzlichen Verlangsamungen des Emulators gesammelt haben, haben wir festgestellt, dass das Problem möglicherweise mit einer Interaktion zwischen älteren Intel-OpenGL-Treibern und Windows-Updates zusammenhängt. Daher wird für Nutzer mit Intel HD 4000, 3000, 2000 (und zugehörigen GPUs) das Rendering standardmäßig entweder auf einen D3D-Renderer (ANGLE) oder auf Swiftshader (Software-Renderer) festgelegt.

26.0.0 (März 2017)

Dieser Release ist mit API-Level 26 kompatibel. Außerdem enthält sie eine Reihe von Leistungsverbesserungen und Fehlerkorrekturen.

Nebenversion 26.0.3 (Mai 2017)

  • Es werden online aktualisierbare Feature-Flags hinzugefügt, um Probleme, die auf problematische Hardwarekonfigurationen zurückzuführen sind, schnell zu beheben. So kann Google Fehlerbehebungen und Funktionen, die von Nutzerkonfigurationen abhängen, durch Aktualisieren serverseitiger Flags bereitstellen. Wenn Sie Probleme mit bestimmter Hardware feststellen, melden Sie bitte einen Fehler, damit wir das Problem untersuchen können.
  • Neue Unterstützung für die Dreheingabe für Systembilder mit Android Wear API-Level 25. Wenn Sie die Dreheingabe auf einem Wear-Gerät emulieren möchten, klicken Sie im erweiterten Fenster auf den Tab Rotary Input (Dreheingabe).
  • Das Dialogfeld für Absturzberichte kann jetzt in der Größe angepasst werden und die Einstellung Wann Absturzberichte gesendet werden sollen wird nicht mehr ohne Eingabe auf Fragen zurückgesetzt.
  • Für den 32‑Bit-Emulator muss die maximale AVD‑RAM-Größe jetzt kleiner oder gleich 512 MB sein, damit der Emulator nicht im virtuellen 2‑GB-Adressraum ausgeht.
  • Unterstützung für absolute Pfade in Emulator-Images hinzugefügt.
  • Fügt dem erweiterten Fenster einen neuen Tab für Google Play Store-Bilder hinzu, auf dem die Play-Dienste-Version und eine Schaltfläche zum Suchen nach Updates für die Play-Dienste angezeigt werden.
  • Auf der Seite „Emulator-Einstellungen“ wird ein Drop-down-Menü zum Auswählen des OpenGL-Renderers hinzugefügt. Wenn Sie Probleme mit dem OpenGL-Treiber auf einem Windows-Computer haben, versuchen Sie es mit den Optionen „ANGLE (D3D11)“ oder „ANGLE (D3D9)“ (erfordert einen Neustart). Wenn Sie Probleme mit dem OpenGL-Treiber auf einem Nicht-Windows-Computer haben, versuchen Sie, den Swiftshader-Software-Renderer zu verwenden (erfordert einen Neustart).
  • Ein seltener Absturz beim Beenden wurde behoben, der auftrat, wenn der Emulator sowohl exit- als auch minimize-Befehle empfing.
  • Behebt ein Skalierungsproblem beim Wechseln des Displays auf einem Mac. (Problem 268296)
  • Ein Problem wurde behoben, bei dem der Emulator 300% der CPU belegte und diese Belegung beibehielt, nachdem der Hostcomputer aus dem Ruhemodus reaktiviert wurde oder der Emulator längere Zeit ausgeführt wurde.
  • Ein Absturz beim Herunterfahren des Emulators wurde behoben.

Updates mit HAXM v6.1.1 (März 2017)

Hinweis:HAXM v6.1.1 ist seit dem 30. März für Mac-Nutzer über den SDK Manager verfügbar und wird demnächst auch für Windows-Nutzer verfügbar sein.

Version 26.0.0 des Android-Emulators unterstützt HAXM v6.1.1, das die folgenden Aktualisierungen enthält:

  • Ermöglicht die Emulation von Performance Monitoring Units (PMU). (Problem 223377)
  • Behebt Probleme mit der gleichzeitigen Verwendung von VirtualBox und Docker auf Macs. (Problem 197915)
  • Die Installationsfehlermeldung wurde überarbeitet, die angezeigt wird, wenn das Installationsprogramm Intel VT-x unter Windows nicht erkennen kann, in der Regel, weil Hyper-V aktiviert ist.
  • Unterstützung für die Beschleunigung des Android-Emulators in einer Hyper-V-basierten Windows-VM hinzugefügt. Für dieses Update muss auf der Hyper-V-Hostinstanz (der Instanz, die die Windows-VM/den Gast verwaltet) die neueste Version von Hyper-V mit aktivierter verschachtelter Virtualisierung verwendet werden. Hyper-V muss in der Gast-Hyper-V-Instanz (der Windows-VM) deaktiviert sein.

Abhängigkeiten

  • Android SDK Platform-Tools Version 25.0.4 oder höher.
  • Android SDK-Tools in der Version 26.0.0 oder höher.

Neue Funktionen und Fehlerkorrekturen

  • Kompatibel mit API-Level 26.
  • Vollständig GLES 2.0-kompatibel. Bei einer Host-GPU mit konformen Desktop-OpenGL-Treibern besteht der Emulator jetzt zu 100% die mustpass-Liste des Android-CTS dEQP-GLES2. Diese Funktion wurde für x86-Images mit API-Level 24 (Revision 11 und höher) veröffentlicht und wird bald in alle System-Images aufgenommen.
  • Die Videowiedergabe wurde verbessert. Der Emulator speichert jetzt alle Videofarbpuffer im gemeinsamen Host-/Gastarbeitsspeicher und führt die erforderliche endgültige YUV-zu-RGB-Konvertierung auf der GPU aus. 1080p30 sollte für die meisten Systeme kein Problem mehr sein. Diese Funktion wurde für x86-Bilder mit API-Level 24 (Revision 11 und höher) veröffentlicht und wird bald in alle System-Images aufgenommen.
  • Der Emulator meldet sich jetzt beim Beenden korrekt von der Liste adb devices ab und schließt offene TCP-Ports auf Linux-Computern.
  • adb-Verbindungen sind jetzt zuverlässiger. Ein laufender Emulator wird schneller erkannt und hat nicht mehr den Status „Offline“ oder „Nicht autorisiert“.

25.3.0 (März 2017)

Ab diesem Release wird der Android-Emulator separat von den SDK-Tools veröffentlicht. Diese Version enthält eine Reihe von Leistungsverbesserungen, neuen Funktionen und Fehlerkorrekturen.

Geringfügige Überarbeitung 25.3.1 (März 2017)

  • Ein Absturz bei einigen GPU-Konfigurationen wurde behoben, indem GLAsyncSwap standardmäßig deaktiviert wurde. Diese Funktion wurde in Version 25.3.0 hinzugefügt, um das Frame-Timing und die Frames pro Sekunde für Spiele und Videos zu verbessern. Sie führt jedoch dazu, dass der Emulator bei einigen unbekannten Maschinenkonfigurationen fehlschlägt. Sie können die Funktion manuell aktivieren, indem Sie die Datei android_sdk/emulator/lib/advancedFeatures.ini öffnen und GLAsyncSwap = on festlegen.

Abhängigkeiten

  • Android SDK Platform-Tools Version 24 oder höher.
  • Android SDK-Tools Revision 25.3.0.

Neue Funktionen und Fehlerkorrekturen

  • Die Emulations-Engine wurde auf QEMU 2.7 aktualisiert. Das umfasst alle aktuellen Fehlerkorrekturen, eine verbesserte Leistung und neue Funktionen.
  • Neue IPv6-Unterstützung.
  • Der Emulator verwendet jetzt SwiftShader als reinen Software-Renderer auf dem Host.
  • Leistungsverbesserungen bei Android Pipe: Android Pipe, der Hauptkommunikationskanal zwischen dem Emulator und dem Android-Betriebssystem, ist jetzt um eine Größenordnung schneller, hat eine geringere Latenz und bietet eine bessere Multithread-Leistung. Dies führt zu einer Reihe von Leistungsverbesserungen für den Emulator, darunter:
    • Verbesserte ADB-Push-/Pull-Geschwindigkeit.
    • Bessere Unterstützung für 3D-Beschleunigung.
    • Die Reaktionsfähigkeit des Emulators wurde insgesamt verbessert.
    • Verbesserte Grafikleistung.
  • Der Emulator verwendet jetzt GPU-seitige Puffer (glBindBuffers / glBufferData), wenn der Gast sie anfordert. Dadurch wird der CPU-Overhead in einigen Apps verringert.
  • Verbesserte Audio-Unterstützung.
  • Schnellere Laufwerk-E/A-Vorgänge: Der Emulator verwendet jetzt separate Threads zum Ausführen von Laufwerk-E/A-Vorgängen.Das führt zu einer geringeren Latenz und einem besseren Durchsatz (~1, 5-fache Geschwindigkeit bei sequenziellen E/A-Vorgängen, ~5-fache Geschwindigkeit bei zufälligen E/A-Vorgängen). Dadurch wird auch die Anzahl der Speicherungen auf der Festplatte reduziert, was zu einer deutlich geringeren Belastung des physischen Geräts führt.
  • Der Emulator verwendet jetzt Sparse-Dateien für Festplatten-Boots auf Windows-Computern. Dadurch werden sowohl der erste Bootvorgang als auch der Bootvorgang nach dem Löschen von Daten beschleunigt. Beim Erstellen oder Zurücksetzen eines AVD schreibt der Emulator jetzt 100–200 MB Daten auf die Festplatte anstelle von 2 GB oder mehr.
  • Verschiedene GUI-Verbesserungen:
    • Der Emulator verwendet jetzt Qt 5.7.0, das Fehlerkorrekturen und Leistungsverbesserungen enthält.
    • Bei der Initialisierung der Benutzeroberfläche wird nicht mehr versucht, alle Emulator-Ausführungsdateien als Qt-Plug-ins zu laden. Das geht jetzt viel schneller, insbesondere auf Festplatten.
    • Die Interaktionen mit der Benutzeroberfläche sind jetzt schneller und flüssiger, einschließlich Drehen, Anpassen der Fenstergröße sowie Laden und Schließen des Fensters mit erweiterten Steuerelementen.

OpenXR™ und das OpenXR-Logo sind Marken von The Khronos Group Inc. und sind in China, der Europäischen Union, Japan und dem Vereinigten Königreich als Marke eingetragen.