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 vertrieben.

Prüfen Sie im SDK-Manager, ob Sie die neueste Version verwenden.

Frühere Versionen des Android Emulators finden Sie im Emulator-Downloadarchiv.

Versionshinweise zu Emulatorversionen vor 25.3.0 finden Sie in den Versionshinweisen zu Android SDK-Tools.

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

35.4.4 Canary (12. Dezember 2024)

Neuer Android XR-Emulator

Wir haben einen neuen experimentellen Android XR-Emulator für die Entwicklung und das Testen von Apps hinzugefügt, die mit dem Jetpack XR SDK für Headsets erstellt wurden. In diesem Leitfaden finden Sie Informationen zum Installieren des Android XR-Emulators und zum Einrichten Ihrer Entwicklungsumgebung.

Der Android XR-Emulator ist ein experimentelles Tool. Wir haben uns dennoch dazu entschieden, sie frühzeitig mit Ihnen zu teilen, damit Sie sie schon jetzt testen können. Es ist mit Problemen zu rechnen, insbesondere bei einigen Windows-GPU- und Treiberkonfigurationen. Auch bei Kompatibilitätstests vorhandener 2D-Apps können Probleme auftreten. Dein Feedback hilft uns, die Priorisierung zukünftiger Funktionen zu verbessern und zu steuern.

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

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

Bekannte Probleme

Emulator – Stabilität und Leistung:

  • Bei einigen Windows-Konfigurationen kann es zu kritischen Systemausfällen oder Abstürzen beim Starten oder Ausführen von Anwendungen kommen. Die Windows Hypervisor Platform (WHPX) muss aktiviert sein. Folgen Sie dazu der Anleitung zum Aktivieren der WHPX in Android Studio.
  • Probleme wie nicht reagierende AVDs oder UI-Elemente auf Laptops nach einem Suspend-Resume-Zyklus (z. B. Schließen und Öffnen eines Laptops).
  • Gelegentliche Abstürze beim Wechseln zwischen dem „Startbildschirmmodus“ und dem „Vollbildmodus“
  • Gemini APIs sind noch nicht verfügbar. Die App mit der Gemini API-Startvorlage stürzt ab.

Emulator – Eingabe und Ausgabe simulieren:

  • Die virtuelle Tastatur für Such- und Bearbeitungsfelder ist möglicherweise nur teilweise im Sichtfeld sichtbar.
  • Elemente können nicht mit der Maus und der Tastatur in Z‑Richtung (auf und vom Bildschirm) verschoben werden

  • Eine instabile Audioeingabe des AVD-Mikrofonhosts kann zu Neustarts und Abstürzen des AVD führen.

  • Der Ton ist manchmal statisch oder verzerrt.

  • Wenn die Kamera aus dem virtuellen Wohnzimmer entfernt wird, sind Renderingfehler zu sehen.

  • In Windows-Konfigurationen werden Farben dunkler als üblich angezeigt.

  • Das Audio funktioniert nicht mehr, wenn der Emulator inaktiv ist und der Bildschirm unter macOS gesperrt wird. Durch einen Neustart des Emulators wird sie wiederhergestellt.

  • Die Netzwerkverbindung wird unterbrochen, wenn der Hostcomputer das WLAN wechselt.

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

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

  • Das Scrollen per Klicken und Ziehen bei einigen UI-Elementen funktioniert möglicherweise nicht wie vorgesehen. Andernfalls können Sie stattdessen mit dem Mausrad scrollen.

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

Emulator – Ebenen und Markierungen simulieren:

  • Anker respawnen manchmal nicht in der Nähe desselben Standorts
  • Bewegliche Scheiben können nicht an Wänden oder Decken befestigt werden
  • Die simulierten Ebenen stimmen im Passthrough-Modus nicht mit dem physischen Layout des 3D-Raums überein.
  • Insgesamt nur wenige Bereiche, in denen Objekte im virtuellen Raum verankert werden können
  • Kleines sichtbares Artefakt in der Passthrough-Ansicht unter Windows
  • In einigen Fällen kann das Platzieren von Ankern zum Absturz der App führen.
  • Unter Windows können schwarze Linien über Apps erscheinen, wenn Sie Apps nahe am unteren Bildschirmrand verschieben.

Emulator – Sonstiges:

  • Der Emulator wird nur im Modus „Standalone“ gestartet. Der Modus „Eingebettet“ (eingebettete Benutzeroberfläche) wird noch nicht unterstützt.
  • Wenn Sie sich unter Windows mit Konten im Emulator anmelden, kann der Emulator hängen.
  • Die Benutzeroberfläche von Fenstern kann nach dem Ändern der Größe verschwinden (Umgehung: „Startbildschirm“ drücken)
  • In der JXRCore ActivityPanelTest App wird das sekundäre Steuerfeld nicht angezeigt
  • Elemente in den Schnelleinstellungen verschwinden nach einiger Zeit möglicherweise aus den Systemeinstellungen.
  • Die Benutzeroberfläche des Emulators wird möglicherweise zuerst außerhalb des Bildschirmbereichs angezeigt. Passen Sie in diesem Fall die Größe des Emulatorfensters leicht an. Es sollte dann wieder an seinem Platz sitzen.
  • Der Emulator startet möglicherweise nicht, wenn Chrome Remote Desktop unter Windows verwendet wird
  • Open XR wird bisher nicht vom Emulator unterstützt und Open XR-Apps können den Emulator zum Absturz bringen.
  • Seltene Fehler beim Einreichen von Fehlerberichten über die erweiterten Einstellungen von Android Studio unter Windows
  • Das Symbol „Zurück“ ist in der Einstellungen App auf dem Mac erst richtig sichtbar, wenn der Cursor sich in der Nähe befindet
  • In einigen Fällen kann es bei der Verwendung des Moduls „Baseline-Profil“ im Rahmen eines XR-Vorlagenprojekts zu Fehlern beim Gebäude kommen.
  • Die Bedienungshilfe „XR Talkback“ ist bisher nur teilweise in den Emulator integriert.

Scene Viewer App:

  • Wenn Sie Elemente in Scene Viewer verschieben, kann das zu einem Absturz führen. Um dieses Problem zu umgehen, verschieben Sie die Kopfposition einfach 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 – Reale Größe“ funktioniert nicht richtig, wenn die tatsächliche Größe des 3D‑Modells unter oder über den Mindest- und Höchstwerten für den Maßstab liegt (derzeit auf 20 cm bzw. 70 m festgelegt).
  • Das 3D‑Modell springt nach dem Laden möglicherweise zum ersten Frame.

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)

  • Pixel 8a-AVD hinzugefügt
  • Verschiedene Fehlerkorrekturen für faltbare Smartphones
  • Qt-Update und Fehlerkorrekturen im Zusammenhang mit Abstürzen und Verzögerungen von Qt
  • [Fehlerbehebung] Abstürze und Einfrieren unter Windows bei Anwendungen mit Vulkan behoben

34.2.16 (9. Juli 2024)

  • [Fehlerkorrektur] Einfrieren der Benutzeroberfläche bei Pixel Fold beim Zusammen- und Aufklappen
  • [Fehlerkorrektur] Die Android-Version wurde auf Mac M1 fälschlicherweise als Android Vanilla Ice Cream Preview statt als API 35 angezeigt.
  • [Fehlerkorrektur] Problem #296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE gibt im Pixel C-Tablet-Emulator „wahr“ zurück

34.2.15 (31. Mai 2024)

  • Mehrere Fehlerkorrekturen 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.

  • [Fehlerbehebung] Snapshot hängt manchmal im eingebetteten Emulator
  • [Fehlerkorrektur] Die Schaltflächen „Nein“ und „Abbrechen“ funktionieren im Snapshot nicht richtig
  • [Fehlerbehebung] Die Richtungstasten funktionieren nicht
  • [Fehlerbehebung] Das Problem wurde behoben, das unter Windows dazu führte, dass der Emulator unter bestimmten Bedingungen nicht gestartet werden konnte, wenn GPU-Modi mit ANGLE verwendet wurden, und die Fehlermeldung „Failed to initialize GL emulation“ (GL-Emulation konnte nicht initialisiert werden) im Protokoll zurückgegeben wurde. Hinweis: Wenn Sie den Emulator über die Befehlszeile mit der Option -gpu swangle_indirect starten, wird bei dieser Version möglicherweise weiterhin dieser Fehler ausgegeben. Wenn Sie den Emulator mit dieser Version weiterhin über eine Befehlszeile unter Windows mit Software-Grafikrendering starten möchten, verwenden Sie -gpu swiftshader_indirect.
  • [Fehlerbehebung] Durch die Tastenkombination für die Standortsuche auf der Tastatur wird eine unbrauchbare Karte geladen
  • [Fehlerbehebung] Beim Festlegen des Standorts fehlt das Dialogfeld „Route speichern“

34.2.13 (30. April 2024)

Getestet mit Android Studio Jellyfish Stable.

  • Update auf Qt 6.5.3
  • Kompatibilität mit den Google Maps API-Aktualisierungen, die in den Standortfunktionen in den erweiterten Steuerelementen des Emulators verwendet werden, die Ende Mai stattfinden.
  • Wichtige Fehlerkorrekturen
  • Verschiedene Fehlerkorrekturen für Pixel-AVDs
  • Grafikbibliothek für das Software-Rendering aktualisieren
  • [Fehlerbehebung]Problem 225541819: Beim Starten von Chrome stürzt der Emulator unter x86_64 ab
  • [Fehlerbehebung]Problem 314614435: -http-proxy-Schalter wird falsch geparst

34.1.20 (1. April 2024)

Getestet mit Android Studio Iguana Stable.

  • [Fehlerkorrektur] Problem #314614435: Behebung eines Problems, bei dem der Schalter -http-proxy falsch geparst wurde

34.1.19 (7. März 2024)

Getestet mit Android Studio Iguana Stable.

  • [Fehlerbehebung] Problem #312677259: Das Einfrieren des Bildschirms im eingebetteten Emulator nach dem Ändern der Fenstergröße wurde behoben.

34.1.18 (29. Februar 2024)

Getestet mit Android Studio Iguana Stable.

  • Dem Emulator wurden folgende Geräte hinzugefügt:
    • 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 und realistische Szenarien ermöglichen. Mit dieser Funktion können Entwickler innerhalb von Android-Instrumentierungstests sicher mit dem vom Android-Emulator gehosteten gRPC-Endpunkt interagieren.
  • Diverse Fehlerkorrekturen
    • Fehlerkorrektur: Verbesserungen bei der Nutzerfreundlichkeit von faltbaren Geräten
    • Fehlerbehebung: Position des Emulators nach der Drehung anpassen
    • Korrekturen von Abstürzen

33.1.24 (28. Dezember 2023)

Getestet mit Android Studio Hedgehog Stable und Iguana Beta 1.

  • Behebung eines Problems mit der Emulator-Webcam, bei dem die Bildschirmaufzeichnung im MP4-Format nicht möglich war.
  • Behebung des Emulatorabsturzes auf dem Pixel Fold-AVD, wenn das Gerät während einer Bildschirmaufzeichnung aufgeklappt ist.
  • Problem behoben, durch das auf Pixel Fold ein anderes Smartphone-Cover mit einer abnehmbaren Tastatur angezeigt wurde und das Gerät nicht verwendet werden konnte (behoben unter Windows, Mac Intel und Linux)
  • Behebung eines Fehlers bei der Darstellung virtueller Sensoren im Standalone-Modus (behoben unter Windows, Mac Intel und Linux)
  • Einige Abstürze, insbesondere beim Schließen des Emulators, wurden behoben.

33.1.23 (30. November 2023)

Getestet mit Android Studio Giraffe Patch 4 und Hedgehog Stable.

  • Neue Implementierung für faltbare Geräte, um Pixel Fold besser zu emulieren, funktioniert mit der neuesten API 34
  • Grafik-Backend-Upgrade: Wir haben das gfxstream-Protokoll für unser Grafik-Backend implementiert. Diese Verbesserung erhöht die Grafikleistung und Stabilität Ihres Systems insgesamt. Außerdem wird ab dem System-Image mit API 34 Vulkan 1.3 unterstützt.
  • Funktionsanfrage: Option zum Deaktivieren der Touch-Geste zum Heranzoomen oder zum Neuzuweisen der Hotkey-Taste
  • [Fehlerbehebung] Problem #302562962: Absturz der Webcam des Emulators bei Verwendung von macOS Sonoma behoben
  • [Fehlerbehebung] Problem #293503871: Problem behoben, durch das die Einstellung „Mikrofon“ nicht gespeichert wurde, wenn der Emulator neu gestartet wurde
  • [Fehlerkorrektur] Problem #270386314: Animationsfehler behoben, bei dem die Seitenleiste geöffnet bleibt, nachdem der AVD-Bildschirm minimiert wurde
  • [Fehlerkorrektur] Problem #154896775 Tool zum Einreichen von Fehlern behoben

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 erfüllen
  • [Fehlerkorrektur] Problem #266201208: Hebräische SMS werden über API 33 nicht gesendet
  • [Fehlerbehebung] Problem #257097404 Der Emulator zeigt nach dem Aufwecken des Hosts unter API 29 und 30 nicht die richtige Uhrzeit an
  • [Fehlerbehebung] Problem #228201899: Google Maps wird in den erweiterten Steuerelementen des Android-Emulators nicht angezeigt

32.1.14 (27. Juni 2023)

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

  • Kameraausrichtung und -verzerrungen des Emulators korrigieren
  • [Fehlerbehebung] Problem #257097404: „Der Emulator zeigt nach dem Aufwecken des Hosts nicht die richtige Uhrzeit an.“ Dieser Fehler kann weiterhin für API 29 und API 30 reproduziert werden.
  • [Fehlerbehebung] Problem #243456582: „Android-Releases nach API 30 werden auf Mac M1-Computern möglicherweise nicht richtig im Emulator 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.
  • Verbesserung des Absturzproblems bei gLinux.
  • [Fehlerbehebung] Problem 215231636: „Emulator mit API über API 30 funktioniert nicht auf Intel-Prozessoren der 12. Generation“.
  • [Fehlerbehebung] Problem 275397905: Häufige Abstürze des Android Emulators M1, wenn der Cursor wiederholt zwischen dem Emulator und anderen Fenstern bewegt wird
  • Bekanntes Problem beim Starten einer AVD: Problem 281725854 Weitere Informationen finden Sie unter Fehlerbehebung für Emulatoren.

32.1.12 (21. März 2023)

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

  • [Fehlerbehebung] Problem #267647323: Netzwerk funktioniert nicht in einem Emulator, der über Android Studio gestartet wurde
  • [Fehlerkorrektur] Problem #268498686: Der Emulatorbildschirm flackert
  • [Fehlerkorrektur] Problem #270034824: Die Emulatorleistung hat sich nach dem Upgrade auf Version 33.1.1 verschlechtert
  • [Fehlerbehebung] Problem #225541819: Beim Starten von Chrome stürzt der Emulator unter x86_64 ab
  • [Fehlerbehebung] Problem #257097404 Der Emulator zeigt nach dem Aufwecken des Hosts nicht die richtige Uhrzeit an
  • 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.

  • Netzwerkgeschwindigkeit optimieren
  • Mausunterstützung im eingebetteten Emulator
  • Verbesserungen bei Virtio-snd
  • Deaktivieren Sie die Verwendung von Symbollinks beim Entpacken des Android-Emulators während der Installation.
  • Absturz bei der Emulatorprüfung beheben

31.3.14 (13. Dezember 2022)

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

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

31.3.13 (27. Oktober 2022)

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

  • [Fehlerbehebung] Problem #249948338:Der Zeitzonenparameter funktioniert nicht
  • [Fehlerbehebung] Problem #249366543:Die Option „emulator -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:

  • [Fehlerbehebung] Problem #247843000:Fehler bei der Verarbeitung des relativen Pfads einer AVD
  • 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] Eingebetteter Emulator-AVD stürzt im Fenster „Erweiterte Steuerelemente“ ab
  • [Fehlerbehebung] Problem #183139207:Audioprobleme, die mit der Aktivierung des Mikrofons durch den Emulator zusammenhängen
  • [Fehlerkorrektur] Problem #229764024:Fehler bei der klebrigen Berührung in AVD, der zu Problemen mit dem Verhalten der Benutzeroberfläche führt
  • [Fehlerbehebung] Fehler beim Starten einer API 33-AVD auf einem Mac M1.
  • [Fehlerbehebung] Problem #243053479:Nach dem Aktualisieren des Emulators ist die Netzwerkgeschwindigkeit langsam
  • [Fehlerbehebung] Problem #244617627:Der Standort in Google Maps funktioniert unter Windows und Linux nicht
  • [Fehlerkorrektur] Problem #232971796:Die Schaltfläche „Gerät anrufen“ auf der Seite „Erweiterte Einstellungen“ > „Telefon“ funktioniert nicht.
  • Android-Emulator auf minigbm aktualisieren
  • Migration von Build-Scripts zu Python 3

31.3.10 (18. August 2022)

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

Es sind jetzt eigenständige Downloads des Emulators verfügbar. Wenn bei dieser neuesten stabilen Version Probleme oder Abstürze auftreten, melden Sie bitte einen Fehler und laden Sie gegebenenfalls eine zuvor funktionierende Version aus den Emulator-Downloadarchiven herunter.

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Bessere Unterstützung von Unicode-Pfaden unter Windows
  • Bessere Verarbeitung des Emulator-Shutdowns, damit eine neue Ausführung derselben AVD erfolgreich sein kann.
  • Aktualisiertes Design und Standardeinstellungen für faltbare AVDs
  • Aktualisierte Schaltflächen für den Wear-Emulator
  • Verbesserungen beim gRPC-Audiostreaming
  • Es wurde ein skalierbarer Emulator-Konsolenbefehl hinzugefügt.
  • Chrome-Fehlerkorrektur für API 31
  • [Fehlerkorrektur] Die Google-Kontoauthentifizierung ist 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:

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

31.2.9 (23. März 2022)

Getestet mit Android Studio Dolphin Canary 7.

Dieses Update enthält die folgende Korrektur:

  • [Fehlerkorrektur] Arbeitsspeichermangel beim Speichern eines 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:

  • [Fehlerbehebung] Anmeldung in den Apps nicht möglich
  • [Fehlerbehebung] Problem #215368358: „adb reboot“ auf Intel-Plattform führt zum Absturz der virtuellen Android-Geräte mit der Meldung „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 Hängenbleiben des Emulators auf M1-Maschinen

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 Wear-Schaltflächen hinzugefügt.
  • Alle Fahrzeugeigenschaften auf dem Tab „VHAL“ können jetzt bearbeitet werden.
  • [Fehlerkorrektur] Die Google-Kontoauthentifizierung ist mit GmsCore v21.42.18 fehlgeschlagen.
  • [Fehlerkorrektur] Netshaper funktionierte nicht gut mit VirtioWifi.
  • [Fehlerbehebung] Der Console-Befehl „event mouse“ funktionierte nicht.
  • KVM-Prüfung für die lokale Erstellung von AVDs hinzugefügt

31.1.3 (18. Januar 2022)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Konsolenports für Fuchsia aktiviert.
  • Wenn Sie die Größe eines Fensters mit mehreren Bildschirmen ändern, wird die Ausrichtung ignoriert.
  • WLAN: Es wurde die Unterstützung für das Ausfiltern von Unicast-Paketen basierend auf der MAC-Adresse von MAT hinzugefügt.
  • WLAN: Absturz bei Verwendung von vmnet behoben

30.9.5 (15. Dezember 2021)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Es ist jetzt möglich, die Größe des Fensters ganz einfach auf die Größe eines Desktop-Computers oder Tablets anzupassen.
  • Unterstützung für Multi-Touch-Eingabe von kompatiblen Hostgeräten hinzugefügt.
  • VirtioWifi: Unterstützung für Tap-Netzwerk hinzugefügt.
  • Drehknopf-Eingabe für Wear-System-Images aktiviert
  • Das Problem mit der gRPC-Audiokonfiguration wurde behoben.
  • Die SensorReplay-Emulatorwiedergabe wurde aktualisiert, um standardmäßige Android-Sensoren zu unterstützen.
  • Verbinden Sie den Emulator über USB mit USB-Passthrough mit Peripheriegeräten und Geräten.

30.4.5 (23. Februar 2021)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • macOS: Probleme mit der Verzerrung der Audioeingabe wurden behoben.
  • Unterstützung für virtio-vsock im Userspace hinzugefügt.
  • Künftige System-Images verwenden virtio-console für Logcat- und Kernel-Nachrichten.
  • Vulkan-Rendering beschleunigen
  • Unterstützung für das Snapshot-Debugging bei einem Testfehler hinzugefügt.
  • virtio-gpu: Definitionen wurden aktualisiert, um die neuesten Enumerationen für Blob-Ressourcen zu unterstützen.
  • Unterstützung für Snapshots für den Grafiktransporttyp „asg“ hinzugefügt.
  • macOS: Unterstützung für die Erstellung mit macOS SDK 11.1 und höher wurde hinzugefügt.
  • KVMclock ist auf neueren System-Images standardmäßig aktiviert.
  • Wear-Emulatoren unterstützen jetzt einen Herzfrequenzsensor.
  • 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 für faltbare Geräte mit virtuellem Scharniersensor und 3D-Ansicht

  • Unterstützung für Scharniersensoren für faltbare Geräte hinzugefügt. Dazu ist ein zukünftiges Android 11-System-Image und eine AVD-Konfiguration erforderlich. Die 3D-Ansicht und die Scharnierparameter für faltbare Geräte sind jetzt in die vorhandenen Voreinstellungen für faltbare Geräte integriert. Das folgende Beispiel kann beispielsweise mit der config.ini-Datei der faltbaren AVD von 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
    
  • Für faltbare Geräte gibt es jetzt auch einen Untertypparameter. Das config.ini-Attribut hw.sensor.hinge.sub_type = hinge/fold ist jetzt verfügbar. Weitere Informationen finden Sie im Blogpost Entwicklung für Android 11 mit dem Android-Emulator.

  • Der Scharniersensor ist jetzt standardmäßig aktiviert.

  • Wenn ein faltbares Gerät konfiguriert ist, sendet der Emulator jetzt Updates zu Scharnierwinkelsensoren und Änderungen der Haltung an den Gast. Auf vorhandenen faltbaren Geräten werden jetzt der Winkel und die Position des Scharniersensors aktualisiert, wenn die Schaltflächen zum Auf- und Zuklappen in der Symbolleiste gedrückt werden.

Emulator für ARM64-Hosts

  • Der Linux-Emulator-Quellcode unterstützt jetzt die plattformübergreifende Kompilierung 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-Host-Rendering) unterstützt. Es können aber auch kompatible Host-GPU-libEGL/libGLESv2-Bibliotheken verwendet werden. Dazu müssen Sie lib64/gles_swiftshader durch die kompatiblen Bibliotheken ersetzen und dann mit -gpu swiftshader_indirect neu starten. Möglicherweise funktionieren auch Snapshots nicht. Fügen Sie in diesem Fall -no-snapshot zur Befehlszeile hinzu. 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
    
  • An der Unterstützung für Apple Silicon wird derzeit gearbeitet.

virtio-gpu-Unterstützung

  • Unterstützung auf Hostseite für die kommenden virtio-gpu-host-kohärenten Blob-Ressourcen hinzugefügt.
  • Aufgrund der Funktionsweise des Emulator-Renderings verarbeiten wir die Virtio-GPU-VirtQueue jetzt im VCPU-Thread, da das Rendering ohnehin auf andere Threads ausgelagert wird. Das Virtio-GPU-Rendering wird in einer zukünftigen System-Image- und Emulatorversion aktiviert.
  • In einem zukünftigen System-Image 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. (Dies sollte auch unter Linux und macOS bereits funktionieren.)
  • WebRTC-Bibliotheken auf M83 aktualisiert
  • Der Emulator unterstützt jetzt Audiostreaming in Containern über WebRTC.
  • Der Darwinn-Pipe-Endpunkt wurde entfernt.
  • Die CUDA VPx-Dekodierung für Video ist jetzt über die Umgebungsvariable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 verfügbar, sofern die CUDA VPx-Dekodierung in der Hardware 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. Dies kann die Genauigkeit der Zeitmessungen der Gäste verbessern.
  • Wir erfassen jetzt, welcher erweiterte Steuerbereich vom Nutzer in den Messwerten ausgewählt wurde.
  • Der Linux-Emulator verwendet jetzt die paravirtualisierte KVM-Taktzeit, wenn die Gastkernelversion mindestens 5.4 ist (R-System-Images oder höher).
  • Der Emulator verwendet jetzt LZ4 zum Dekomprimieren von Gastkerneln, 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-Use-Case 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 den vertikalen Bildschirmbereich besser nutzen zu können, haben wir unter Erweiterte Steuerelemente > Einstellungen eine Option zum Ausblenden des Geräterahmens für die aktuelle AVD hinzugefügt. Um Geräteframes für alle AVDs global auszublenden, haben wir das NoDeviceFrame-Funktionsflag verfügbar gemacht. Es kann aktiviert werden, indem Sie den Emulator über die Befehlszeile mit dem Frame -feature NoDevice starten. Wenn Sie es fixieren 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-Menü hinzugefügt, mit dem die Unterstützung der Datennutzungsmessung aktiviert und deaktiviert werden kann. Bei älteren System-Images, die die 5G-Datennutzungsmessung nicht unterstützen, ist diese Option nicht verfügbar.

    • Außerdem wurde der Befehl gsm meter on|off hinzugefügt.
  • Toolchain / Build auf C++17 umgestellt.

Fehlerkorrekturen: Eingebetteter Emulator

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

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

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

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

Allgemeine Fehlerkorrekturen

  • Wir haben Kompatibilitätsprobleme beim Ausführen des Windows-Emulators mit aktiviertem 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 der F16C-CPUID-Funktion hinzugefügt. Außerdem wurden Probleme beim Ausführen einiger ARM64-Anwendungen über die NDK-Übersetzung behoben. macOS/Windows wird derzeit unterstützt.
  • Die Wiedergabe von GPX-/KMZ-Routen folgt jetzt den Zeitstempeln.
  • Das Springen des Symbols beim Starten unter macOS wurde behoben.
  • Wenn hw.audioInput=no und hw.audioOutput=no in config.ini stehen, ist die Audioausgabe des Emulators jetzt richtig deaktiviert.
  • Ein Problem wurde behoben, bei dem das Fenster mit den erweiterten Steuerelementen beim Minimieren des Emulatorfensters geöffnet, aber nicht aktiv war. In diesem Fall wurde das Fenster mit den erweiterten Steuerelementen beim Ändern der Größe des Emulatorfensters immer wieder angezeigt. Dieses Verhalten (das aktive Fenster mit erweiterten Steuerelementen) wird in einem zukünftigen Update vollständig entfernt.
  • Ein Fehler wurde behoben, durch den beim Starten des Emulators keine WLAN-Verbindung hergestellt wurde.
  • Ein Problem wurde behoben, durch das der Emulator beim Beenden hängen blieb, wenn er Shell-Befehle mit langen oder unbestimmten Zeitüberschreitungen ausführte.
  • Das PC-BIOS wurde mit Fehlerkorrekturen aktualisiert, um große Bilder, die an -initrd übergeben werden, besser zu unterstützen. Das vorherige BIOS verwendete eine sehr ineffiziente Methode.
  • Ein Absturz bei der Beendigung wurde behoben, wenn die Option -wifi-server-port verwendet wird.
  • Der Emulator gibt jetzt eine Warnung aus, wenn nicht unterstützte Optionen an -prop übergeben werden. Nur qemu.*-Properties werden unterstützt.
  • Beim Erstellen des Emulators unter Windows ist die Wahrscheinlichkeit, dass das Schreiben in Dateien fehlschlägt, geringer. Weitere Informationen finden Sie in der Anleitung für Windows-Builds.
  • Die Zoomschaltfläche für faltbare AVDs wurde deaktiviert, da sie Probleme verursachte.
  • Der Emulator meldet jetzt korrekt die Bootzeit nach einem Geräteneustart.
  • Linux: Wenn nicht genügend KVM-Berechtigungen vorhanden sind, druckt der Emulator jetzt schneller eine Anleitung zur Fehlerbehebung aus.
  • Ein Problem wurde behoben, durch das der Emulator aktuelle Systembilder ohne Beschleunigung nicht starten konnte.
  • Behoben wurde ein Speicherbeschädigungs- oder Absturzproblem beim Starten durch einen Boot-Complete-Detektor.
  • Speicherlecks bei langen Bildschirmaufzeichnungen wurden behoben.
  • Die Emulatorsymbole wurden an das Branding von Studio 4.1 angepasst.
  • Bessere Unterstützung für die Erkennung von Remotesitzungen unter Windows.

Korrekturen: Grafik- und Videodecodierung

  • Ein Problem wurde behoben, durch das das neueste Asphalt 9-Spiel mit einem schwarzen Bildschirm gerendert wurde.
  • Spam zum Leeren des zugeordneten Buffers mit NULL entfernt
  • Eine Race-Bedingung beim Aufheben des Vulkan-Status nach dem Beenden einer Gast-Vulkan-App wurde behoben.
  • Vulkan-ASTC/ETC2-Emulations-Shader sind jetzt in der libOpenglRender-Bibliothek eingebunden. Das ist zuverlässiger als das Lesen aus dem Dateisystem.
  • Ein Problem in Vulkan wurde behoben, bei dem bei Ausführung mit einer Vulkan 1.0-Instanz auf dem Host das Feld pNext des zurückgegebenen VkMemoryRequirements2-Structs fälschlicherweise von vkGetImageMemoryRequirements2KHR gelöscht wurde.
  • Ein Speicherleck im Vulkan-Renderer wurde behoben.
  • Behebung einer kürzlich aufgetretenen Regression, bei der GLSL ES 1.00-Shader mit Variablennamen wie isampler2D nicht kompiliert werden konnten.
  • Der ANGLE-Shader-Übersetzer wurde mit verschiedenen Fehlerkorrekturen aktualisiert, die mögliche Fehler beim Kompilieren von Shadern unter Linux beheben.
  • Wir lassen den Emulator jetzt abstürzen, wenn der grundlegende Framebuffer-Blit-Shader nicht kompiliert werden kann, um das Phänomen im Blick zu behalten.
  • Der ANGLE-Shader-Übersetzer wurde aktualisiert, um mit der Upstream-ANGLE-Version Schritt zu halten. Dadurch wurde ein Problem mit Speicherbeschädigungen beim Übersetzen und Konstantenfalten von OpenGL ES-Shadern behoben, die nicht quadratische Matrizen verwendeten. Der Shader-Übersetzer ist jetzt eine separate freigegebene Bibliothek, libshadertranslator.dll.
  • Ein Problem bei der Vulkan-Initialisierung bei einigen GPU-Treibern wurde behoben, bei dem bestimmte Gerätefunktionen der Version 1.1 nicht gefunden wurden.
  • Vulkan: Wir sind zum vorkonfigurierten Loader zurückgekehrt, da der Vulkan-Systemloader in einigen Konfigurationen Probleme verursacht hat. Wir werden eine bessere Lösung finden.
  • Problem bei der Verwendung von externem Vulkan-Speicher behoben, bei dem es zu nicht übereinstimmenden Arbeitsspeichertypindexen auf dem Host kommen konnte.
  • Ein Problem bei der Emulation von GL_ALIASED_POINT_SIZE_RANGE wurde behoben, bei dem das Enum nicht vom Host unterstützt wurde.
  • Behoben: Auf einigen Host-GPUs konnten Skia-Shader aufgrund von GL_EXT_shader_framebuffer_fetch-Fehlern nicht kompiliert werden.
  • 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 diese Option in den UI-Einstellungen ausgewählt wurde.
  • Der WGL-Initialisierung unter Windows wurden weitere Informationen zur Fehlerbehebung hinzugefügt.
  • Bei hw.gltransport=virtio-gpu-pipe wird die Leistung verbessert, da bei Übertragungen vom Host zum Gast nicht gedreht wird.
  • Es wurde mehr Debugging-Protokollierung hinzugefügt, wenn die OpenGLES-Emulation nicht initialisiert werden kann.
  • Ein Problem wurde behoben, bei dem YouTube-Videos beim Laden des Snapshots flackerten oder nicht angezeigt wurden.
  • Wir sind vorerst wieder zur Software-Decodierung für libvpx zurückgekehrt, da es Probleme mit der CUDA-Hardware-Decodierung von libvpx gab. Wenn du eine unterstützte CUDA-Hardware-Dekodierungsimplementierung auf der Hostseite hast, kann die Hardwaredekodierung 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 Modus für Freiformfenster 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 den Bildschirmplatz sparen, mit Hotkeys schnell zwischen dem Emulator und dem Editorfenster wechseln und Ihren IDE- und Emulator-Workflow in einem einzigen Anwendungsfenster organisieren.

Fenstermodus „Freies Format“

Sie können jetzt eine AVD mit aktiviertem Freeform-Fenstermodus erstellen.Wählen Sie dazu beim Erstellen eines virtuellen Geräts in Android Studio das Hardwareprofil „13,5" Freeform Tablet“ aus. Für dieses Hardwareprofil ist ein System-Image mit Android 11 Developer Preview 3 oder höher erforderlich.

Bekannte Probleme

Das Ändern der Größe von Freiformfenstern funktioniert derzeit nicht, da der Fokus nicht auf den Fenstermanager übertragen werden kann. Dieses Problem wird in einer zukünftigen Version des Android 11-System-Images 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.

System-Images für Android 11

Sie können jetzt eine AVD mit Android 11 erstellen, indem Sie eines der verfügbaren Systemimages für API-Level 30 auswählen:

  • 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 auf Android 9- und 11-System-Images

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

Bekannte Probleme

  • Einige ARMv7-Binärdateien können nicht auf Android 11-x86- und x86_64-System-Images ausgeführt werden. Wenn Sie Ihre App auf Android 11 ausrichten, sollten Sie sie für ARM64 entwickeln.

29.0.11 (29. Mai 2019)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Windows: Der Emulator verwendet jetzt die von uns bereitgestellte libgcc-DLL, anstatt statisch mit libgcc kompiliert zu werden.
  • Linux: Die gRPC API unterstützt jetzt Logcat. 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 32-Bit-x86-Images für API-Ebenen 26 und niedriger mit dem headless Build ausgeführt werden. Bei 32-Bit-x86-Gasten mit API 27 und höher verwendet der Emulator die 64-Bit-Engine (qemu-system-x86_64), da in diesen System-Images der Userspace zwar 32-Bit, der Kernel aber 64-Bit ist. Android Studio verwendet den Kernel, um Emulationen auszuwählen.
  • Sie können jetzt benutzerdefinierte Pfade zu Qt-Bibliotheken mit der Umgebungsvariablen ANDROID_QT_LIB_PATH angeben.
  • Sie können den Emulator jetzt mit vorherigen Binärdateien ausführen, die QEMU1 verwenden, wenn die QEMU1-Ausführprogramme (emulator[64]-[x86|arm|etc]) im Emulatorverzeichnis abgelegt sind.
  • Windows: Ein Problem wurde behoben, das manchmal dazu führte, dass der Emulator nicht gestartet werden konnte und die Meldung „Anfrage zum Ausschalten der vCPU“ angezeigt wurde.
  • Ein Problem mit einer unnötigen Pipelinebarriere in emulierten komprimierten Texturen in Vulkan wurde behoben.
  • Ein Fehler bei HTTP-Proxyanfragen wurde behoben, der bei der Verwendung der Blockbasierten Übertragungscodierung auftrat. 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, durch das die Kamera der virtuellen 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 hinzugefügt, wenn ein Gastdienst zum Auflisten und Festlegen der einzelnen Displays vorhanden ist. Mehrere virtuelle Hardware-Displays werden in einem zukünftigen Update des Emulator-System-Images enthalten sein.
  • Neue Befehlszeilenoption hinzugefügt: -delay-adb. Mit dieser Option wird die Verarbeitung von ADB-Paketen unterdrückt, bis der Gastbetriebssystem vollständig gestartet wurde (nach einem Kaltstart). Mit dieser Option können Probleme behoben werden, die auftreten können, wenn Sie den Emulator in einer CI-Umgebung verwenden, in der der Emulator neu gestartet und gleichzeitig DDMS verwendet wird.
  • Ein Fehler beim Laden von Snapshots wurde behoben, bei dem glIsRenderbuffer den falschen Wert zurückgab.
  • Einige Probleme mit dem inaktiven Status beim Neustart des Android-Gasts wurden behoben.
  • Windows: Probleme wurden behoben, durch die der Emulator nicht gestartet werden konnte, wenn der Windows-Nutzername Nicht-ASCII-Zeichen oder Leerzeichen enthielt.

Bekannte Probleme

  • Die Benutzeroberfläche für Snapshots ist für System-Images für die Automobilbranche 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 der Unterstützung für QEMU1 und 32-Bit-Windows

Um den Emulator besser verwalten zu können, werden QEMU1 und 32-Bit-Windows-Binärdateien nicht mehr bereitgestellt. Wenn Sie Windows 32-Bit verwenden, können Sie nicht auf Version 29.0.6 upgraden.

Anforderungen an Android Q-Systemimages

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

Verbesserungen bei Project Marble

Mit diesem Update setzen wir unsere Arbeit an der Initiative Project Marble fort, die im November 2018 auf dem Android Developer Summit angekündigt wurde. Weitere Informationen zu anderen Verbesserungen von Project Marble in früheren Releases finden Sie unter Android-Emulator: Verbesserungen durch Project Marble.

Bei diesem Update haben wir uns bei 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 Arbeit mit dem Emulator in einer größeren Vielfalt von Umgebungen erleichtern. Außerdem haben wir allgemeine Qualitätsprobleme behoben.

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

Verbesserungen beim Verhalten von Host-Audio

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

Wenn Sie die Audiodaten des Hosts verwenden möchten, können Sie diese Option aktivieren. Gehen Sie dazu zu Erweiterte Einstellungen > Mikrofon und aktivieren Sie Virtuelles Mikrofon verwendet die Audioeingabe des Hosts. Diese Option wird automatisch deaktiviert, wenn der Emulator neu gestartet wird.

Wenn Sie die Befehlszeile verwenden, können Sie Hostaudio auch mit der Option -allow-host-audio aktivieren. Mit den folgenden ADB-Befehlen können Sie Hostaudiodaten aktivieren oder deaktivieren:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

Verbesserungen für Builds von headless Emulatoren

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

Mit diesem Update haben wir weitere Verbesserungen vorgenommen, damit der Emulator mit einer minimalen Anzahl von Abhängigkeiten ausgeführt werden kann. Unter Linux enthalten headless-Builds nicht mehr die pulseaudio- oder libX11-Bibliotheken. Die systemabhängigen freigegebenen Bibliotheken, die nicht im Emulator enthalten 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 5.12 LTS aktualisiert

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

  • Um Abstürze bei der libpng-Dekodierung von Qt beim Starten bestimmter System-Images zu vermeiden, verwendet der Emulator jetzt eine eigene Kopie von libpng, um PNG-Bilder zu decodieren.
  • 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 verpackt.
  • Der Emulator verwendet jetzt die nativen Fensterbibliotheken der Plattform, um die Monitorabmessungen zu erhalten, anstatt die Qt-Bibliotheken, die unzuverlässige Ergebnisse lieferten.

Automatische CPU-Optimierungen nach Kaltstart

Um die CPU-Auslastung zu verringern, führt der Emulator jetzt nach Erhalt eines boot complete-Signals die folgenden ADB-Befehle bei einem Kaltstart aus:

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

Neue Umgebungsvariablen für die Leistungsüberwachung

Mit zwei neuen Umgebungsvariablen können Sie die Leistung und Ressourcennutzung des Emulators jetzt noch genauer im Blick behalten.

SHOW_PERF_STATS=1
Mit dieser Umgebungsvariablen können Sie sowohl die CPU- als auch die RAM-Nutzung erfassen. Bei der RAM-Nutzung wird zwischen der Grafiknutzung und dem gesamten residenten Arbeitsspeicher unterschieden.
ANDROID_EMU_TRACING=1
Mit dieser Umgebungsvariablen wird jedes Mal gedruckt, wenn ein Eingabe- oder Grafikvorgang lange dauert (länger als 1 ms).
Außerdem verwenden wir diese Umgebungsvariable, um Probleme zu diagnostizieren, die Windows-Nutzer mit mehr Rucklern (ausgelassene Frames) haben als Nutzer unter macOS oder Linux.

Allgemeine Verbesserungen bei Project Marble

Dieses Update enthält außerdem die folgenden allgemeinen Verbesserungen, die Teil der Initiative „Project Marble“ sind:

  • Sie können jetzt alle vCPUs auf dem Emulator sofort über die folgenden Konsolenbefehle pausieren:
    • adb emu avd pause
    • adb emu avd resume
  • Deutlich reduzierter Overhead bei OpenGL-Zeichnen. Dadurch wird die CPU-Auslastung beim Abspielen von Animationen im Emulator reduziert.
  • Unterstützung für das virtuelle Netzwerkgerät e1000 der Mainline-QEMU wiederhergestellt. Sie können dieses Gerät verwenden, um den Emulator in einer bridged Netzwerkumgebung einzurichten. In einer gebridgeden 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.
  • Die ffmpeg-Version für die Videocodierung und ‑decodierung wurde auf 3.4.5 aktualisiert.
  • Der Overhead der QEMU-Hauptschleifen-E/A unter macOS wurde erheblich reduziert, indem die auf select() basierende Hauptschleife durch eine auf kqueue basierende Hauptschleife ersetzt wurde.
  • Die Größe des Logcat-Buffers wurde auf 2 MB erhöht, um Probleme mit unerwartetem 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-Auslastung des Emulators mithilfe von Leistungsstatistiken im Bereich Erweiterte Steuerelemente > Einstellungen > Erweitert > Leistungsstatistiken im Blick behalten. Anhand dieser Statistiken können Sie schnell Probleme diagnostizieren, wenn der Emulator zu viel CPU oder RAM beansprucht.
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE verwendet jetzt das Ergebnis der Host-GPU anstelle eines emulierten. Durch diese Änderung können Probleme behoben werden, bei denen Bilder und Assets aufgrund eines falschen Formats für die Rückgabe 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 vom Host unterstützt werden.
  • Der Benutzeroberfläche für den Fehlerbericht wurden weitere Diagnoseinformationen hinzugefügt. Außerdem können Sie über die Konsole mit den folgenden Befehlen auf Fehlerberichte zugreifen:
    • telnet localhost 5554
    • avd bugreport
  • Bei Android Q-Systemabbildern erhöht der Emulator die Mindestgröße des RAM auf 2 GB.
  • Es wurde mehr Logging und mehr Ausgabe hinzugefügt, wenn OpenGL oder der Hypervisor nicht initialisiert werden kann.
  • Wenn der Emulator keine gleichzeitige -read-only-Instanz einer AVD starten kann, versucht er jetzt, die -read-only-AVD noch dreimal innerhalb von drei Sekunden neu zu starten. Durch diese Änderung ist es wahrscheinlicher, dass der Emulator gleichzeitige -read-only-Instanzen einer AVD starten kann, wenn andere beschreibbare Instanzen dieser AVD noch nicht mit der Bereinigung veralteter Dateien fertig sind.
  • Für zukünftige System-Images unterstützt der Emulator jetzt Hardware Composer 2.0. Durch diese Änderung sollte der Treiber-Overhead beim Ausführen der meisten Animationen gesenkt werden.
  • Der Emulator-Build basiert jetzt auf CMake/Ninja.
  • In der Benutzeroberfläche der erweiterten Steuerelemente des Emulators wurden Trennlinien in der Tabelle mit den Tastenkürzeln wiederhergestellt.
  • Nutzer können jetzt festlegen, dass unser Team Messwerte zur CPU- und RAM-Nutzung in einem Intervall von 10 Sekunden erhält. Mit diesen Messwerten ergänzen wir unsere Daten zur Ressourcennutzung des Emulators um verschiedene Anwendungsfälle unserer Nutzer. So können wir den Emulator effizienter und reaktionsfähiger machen.

Allgemeine Fehlerkorrekturen für Project Marble

Dieses Update enthält außerdem die folgenden allgemeinen Fehlerkorrekturen, die Teil der Initiative „Project Marble“ sind:

  • Probleme mit Rucklern und falschen Frames, die auf Systemen mit Intel-GPUs bei Verwendung von Android Q-Systembildern angezeigt wurden, wurden behoben.
  • Probleme wurden behoben, bei denen bei der Verwendung von Android Q-Systembildern mit Pixel 2 XL-Skins (oder anderen Skins mit einer Kerbe oder abgerundeten Ecken) ein schwarzer Bildschirm angezeigt wurde.
  • Ein Problem wurde behoben, bei dem die Größe der Datenpartition nicht mit der Befehlszeilenoption -partition-size festgelegt werden konnte.
  • Ein Problem wurde behoben, bei dem pulseaudio im Linx-Emulator in einigen Fällen einen ganzen CPU-Kern beanspruchte.
  • Probleme mit dem Speicherzugriff außerhalb des zulässigen Bereichs bei der Verarbeitung komprimierter Texturen wurden behoben.
  • GL-Fehler behoben, die in glTexSubImage2D auf dem Host beim Aktualisieren bestimmter Gralloc-Buffer (mit den Formaten RGB 565, RGB10A2 und RGB(A)16F) aufgetreten sind.
  • Ein Displayproblem in Android Q-Systembildern mit Snapshots wurde behoben, bei dem die Geometrie der Benachrichtigungsleiste mit einer falschen Einstellung für den Instanzdivisor gerendert wurde.
  • Einige schwer reproduzierbare Abstürze und Einfrierungsprobleme beim Start wurden behoben, die aufgrund von Signalverlusten oder inkonsistenten Zuständen von Qt beim Start auftraten.
  • Zahlreiche Probleme mit Parallelität wurden behoben. Wir können den Linux-Emulator jetzt mit ThreadSanitizer (TSAN) erstellen, wodurch sich leicht Fehler finden lassen, die sonst schwer zu reproduzieren sind.
  • Für Linux-Nutzer: Wir haben festgestellt, dass bei bestimmten Hostkernels der Android-Gastkernel einen Fehler auslösen und in KVM mit einem generischen Hardwarefehler abstürzen kann. Der Emulator abort() jetzt in diesem Fall, um die Fehlerbehebung zu verbessern. Bisher hing der Emulator einfach.
  • Für Linux-Nutzer: Mit der neuen Befehlszeilenoption -stdouterr-file <file-name> können Sie sowohl stdout als auch stderr auf eine Datei umleiten, um die Einrichtung von CI-Umgebungen zu vereinfachen.
  • Ein Problem wurde behoben, bei dem SO_REUSEADDR fälschlicherweise verwendet wurde. Weitere Informationen finden Sie in den Commit-Details.
  • Ein seit langem bestehendes Problem mit dem Windows-Emulator wurde behoben, bei dem untergeordnete Prozesse wie ADB-Befehle nicht gestartet wurden, wenn der Nutzername Leerzeichen enthielt.
  • Ein Problem mit fehlender Initialisierung der RCU in HAXM-vCPU-Threads wurde behoben. Dieser Fehlerbericht kann möglicherweise einige Abstürze und Race-Bedingungen beheben.
  • Ein Absturz wurde behoben, der bei bestimmten Mustern beim Speichern und Laden von Snapshots über die Snapshot-Benutzeroberfläche mit aktuellen Android Q-System-Images auftrat.
  • Ein Problem wurde behoben, bei dem die Kamera der virtuellen Szene leer war, wenn der Emulator von einem Snapshot initialisiert wurde, während ein AR-Makro abgespielt wurde, als dieser Snapshot gespeichert wurde.
  • Ein Problem wurde behoben, bei dem einige Nutzer mit Remote-Desktop-Umgebungen beim Starten des Emulators unter Linux einen schwarzen Bildschirm sahen. Um dies zu vermeiden, wird MESA_RGB_VISUAL jetzt vom Emulator explizit konfiguriert. Weitere Informationen finden Sie in den Commit-Details.
  • Ein Problem wurde behoben, bei dem die Schaltflächen zum Drehen in AVDs auf Fernsehern 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 oben angezeigt wurde.

Hardwareprofile für faltbare Geräte

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

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

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

Wenn Sie den Emulator mit einem dieser Hardwareprofile ausführen, können Sie das Gerät mithilfe der Aktionen zum Zusammen- und Aufklappen in der Symbolleiste des Emulators, Konsolenbefehlen oder den folgenden Tastenkürzeln zusammen- und aufklappen:

  • Zusammenklappen: 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. Mit einem Makro können Sie beispielsweise alle Sensoren des Geräts auf den Standardzustand zurücksetzen.

Weitere Informationen finden Sie unter Gängige AR-Aktionen mit Makros testen.

Vulkan-Unterstützung (Windows, Linux)

Windows- und Linux-Nutzer können jetzt Vulkan-Apps mit dem Android-Emulator bis 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 (z. B. die meisten Intel-, NVIDIA- und AMD-GPUs ab 2014).

Wenn Sie die Vulkan-Unterstützung aktivieren möchten, müssen Sie der ~/.android/advancedFeatures.ini-Datei die folgenden Feature-Flags hinzufügen. Falls die Datei noch nicht vorhanden ist, erstellen Sie sie.

  • 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) auf dem AOSP-Zweig master erstellen, können jetzt einen Vulkan-kompatiblen Emulator ausführen.

Diese Unterstützung befindet sich noch in der experimentellen Phase und richtet sich hauptsächlich an Entwickler, die an Systemabbildern, Treibern und Game-Engines arbeiten. Viele Erweiterungen fehlen noch. HOST_COHERENT Arbeitsspeicher wird jedoch unterstützt und Sie sollten jetzt die Beispiele aus der Vulkan API-Anleitung ausführen können.

Wenn Sie Linux verwenden, können Sie die folgenden Befehle ausprobieren:

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 die Zero-Copy-Interoperabilität mit OpenGL über die GL_EXT_memory_objects-Erweiterung. Der Emulator nutzt diese Funktion, um die Android-Benutzeroberfläche mit den Skia Vulkan APIs vollständig zu rendern.

Wenn Sie eine NVIDIA- oder AMD-GPU haben, die Vulkan unterstützt, können Sie das Skia-Rendering mit den folgenden Befehlen 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 nicht in der Lage sein, Vulkan-kohärenten Arbeitsspeicher dem Gast zuzuordnen, und schaltet den Emulator aus. 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 GPU-Rendering und die Interaktivität des Hosts in möglichst vielen Laufkontexten zulassen. Unsere CI- und Remote-Desktop-Nutzer haben die folgenden seit langem bestehenden Probleme:

  • Wenn Sie Eingabebefehle programmatisch an den Emulator senden, können Sie entweder adb-Shell-Befehle verwenden, die einen hohen Overhead verursachen können, oder die Telnet-Konsole, die schneller ist, aber möglicherweise nicht mit bestimmten Netzwerkkonfigurationen funktioniert.
  • CI-Nutzer führen Emulatoren häufig ohne Display aus, was es schwierig machen kann, Probleme zu erkennen, für die der Bildschirm sichtbar oder interaktiv sein muss.
  • Remote-Desktop-Nutzer können bei Verwendung des GPU-Renderings des Hosts oft nicht mit dem Emulator interagieren, da das GPU-Rendering oft an die nicht virtuellen Bildschirme 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. Dabei ist <port> der Port, über den der Emulator gRPC-Anfragen bedienen soll (normalerweise 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 Overhead über HTTP an den Emulator gesendet werden. Mit HTTP können Befehle auch in zusätzlichen Netzwerkkonfigurationen gesendet werden.
  • Screenshotbefehle können gesendet werden, um den aktuellen Bildschirm abzufragen, auch wenn der Emulator ohne Display ausgeführt wird. Für 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-beschleunigtem Rendering ausführen und mit gRPC Screenshots erstellen und Eingabeereignisse 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 zusammengestellt, die Sie als Referenz verwenden können.

Derzeit sind das die folgenden Samples:

  • Ein Go-basierter Dienst, mit dem Emulatorstatus abgefragt werden können.
  • Eine React-App, die Remote-Interaktivität über Screenshot- und Eingabe-RPCs demonstriert. Für dieses Beispiel ist 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 erstellen

Der Emulator war aufgrund der impliziten Erwartungen an das System, Qt zusammen mit seinen Abhängigkeiten von freigegebenen Bibliotheken unterstützen zu können, unter anderem schwer mit Docker und anderen CI-Workflows (Continuous Integration) einzurichten.

Als ersten Schritt haben wir eine Variante des Emulator-Launchers mit QEMU-Ausführbaren eingeführt, die nicht von Qt abhängig ist. Unter Linux gibt es noch einen Link zu libX11. Wir hoffen aber, diesen bald auch entfernen zu können.

Wenn Sie den headless-Emulator verwenden möchten, führen Sie ihn wie gewohnt über die Befehlszeile aus, ersetzen Sie aber die Aufrufe der Emulator-Binärdatei durch emulator-headless. Weitere Informationen finden Sie im Release-Update vom 28.1.8.

  • Behebung von Rucklern und falscher Frameanzeige auf Intel-GPUs beim Ausführen von Android Q-Systembildern.
  • Probleme, bei denen bei Verwendung von Android Q-Systembildern mit Pixel 2 XL-Skins ein schwarzer Bildschirm angezeigt wurde, wurden behoben.
  • Der Emulator wird jetzt mit den neuesten BIOS-Binärdateien gestartet. Durch diese Änderung können Fehlermeldungen vom Typ „Anfrage zum Ausschalten der vCPU“ reduziert werden, die manchmal beim Starten des Emulators unter Windows auftreten.
  • Backport-Fehlerbehebung für das Problem „Falsche Anzeige beim Fortsetzen von Android Q-Systembildern aus einem Snapshot“
  • Aufgrund einer inkompatiblen Änderung in ADB in den Plattformtools 28.0.2 hatten Nutzer Probleme mit „nicht autorisierten“ Emulatoren. Sie können ADB jetzt sicher über die Plattformtools-Version 28.0.2 mit dem Emulator verwenden. Wenn du Probleme mit „nicht autorisierten“ Emulatoren hast, führe die folgenden Schritte zur Fehlerbehebung aus:
    1. Beenden Sie alle Emulatoren.
    2. Löschen Sie sowohl die Datei ~/.android/adbkey als auch ~/.android/adbkey.pub.
    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 standardmäßig deaktiviert

In einem neueren Beitrag auf Reddit wurde beschrieben, wie das Gast-Android-Betriebssystem immer das Mikrofon des Hosts verwendet und dadurch „Hey Google“ unerwartet funktioniert. Wir bedauern das und werden mit dem Android-Team zusammenarbeiten, um sicherzustellen, dass die Hotword-Erkennung auch im System-Image deaktiviert ist.

Wir haben deshalb die folgenden Änderungen vorgenommen:

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

Aktuelle Informationen zur Untersuchung der CPU-Nutzung

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

Im Ruhemodus: Automatische App-Updates in Play Store-Images

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 minimieren, indem Sie automatische App-Updates in der Play Store App deaktivieren.

Im Ruhemodus: Hotword-Erkennung

Wenn Sie sich auf dem Startbildschirm befinden und keine App im Vordergrund ist, kann die CPU stark beansprucht werden (ca. 25% mit Spitzen bis 50%). Das liegt an der Hotword-Erkennung, die ständig einen Ping an den Host sendet. Sie können dieses Problem nicht durch Deaktivieren der Audioeingabe des Hosts beheben, da die CPU-Kosten hauptsächlich durch die Zeit verursacht werden, die vom Host zum Gast benötigt wird. Sie können dieses Problem jedoch minimieren, indem Sie die Mikrofonberechtigungen für die Google App widerrufen.

Während der aktiven Nutzung, manchmal auch bei Inaktivität: Animationen

Die dritte Ursache für eine hohe CPU-Auslastung sind Animationen. Wir haben festgestellt, dass wir durch die Optimierung des Grafiktreiber-Stacks auch die CPU-Auslastung reduzieren können, auch wenn der Emulator nicht inaktiv ist. Wir führen die Optimierungen der Grafiktreiber im Rahmen von Project Marble schrittweise ein.

28.0.22 (21. Dezember 2018)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Ein seit langem bestehendes Problem wurde behoben, bei dem der Mac-Emulator bei einigen Einstellungen beim Speichern mit Quickboot neu gestartet wurde oder eine Kernel-Panik auftrat. (Problem 120951634)
  • Wenn eine zugeordnete Datei als RAM-Snapshot verwendet wird, löst der Emulator die Dateizuordnung beim Beenden jetzt explizit auf.

28.0.20 (11. Dezember 2018)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

  • Ein Problem unter Windows, bei dem der Emulator bei bestimmten Intel-GPU-Modellen beim Laden eines Snapshots hängen blieb, wurde behoben.
  • Ein Problem wurde behoben, das bei der Verwendung eines nicht standardmäßigen ANDROID_SDK_HOME-Speicherorts zu einem unauthorized-ADB-Gerätestatus geführt hat.
  • Ein Problem unter Windows wurde behoben, durch das der Emulator beim Starten von Systemabbildern mit deaktivierter CPU-Beschleunigung abstürzte.
  • Das Problem mit dem pixeligen Display des Emulators wurde behoben. Das Downsampling sollte jetzt funktionieren.
  • Es wurde ein Problem unter macOS 10.14 und höher behoben, bei dem die Maussteuerung der Kamera in der virtuellen Szene aufgrund einer Interaktion mit den neuen Sicherheitseinstellungen für die Barrierefreiheit zu empfindlich werden konnte.
  • Ein Fehler bei der Zeitzonenberechnung wurde behoben, der dazu führen konnte, dass sich die Emulatoruhr sporadisch änderte.
  • Behobene Renderingfehler in verschiedenen cocos2d- und Unreal-Engine-Apps.
  • Unterstützung für Wi‑Fi-Peer-to-Peer im Emulator hinzugefügt. Wenn das neueste Pie-Play Store-Image verwendet wird, können zwei Emulatoren jetzt direkt über WLAN miteinander kommunizieren. Wenn Sie Wi‑Fi-Peer-to-Peer verwenden möchten, starten Sie zwei AVDs mit denselben -wifi-server-port- und -wifi-client-port-Argumenten:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Unterstützung für mehr Webcams unter Windows hinzugefügt. Inkompatible Framegrößen werden dynamisch an die Kameraeinstellung im Android-Gast angepasst.

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 der Verwendung von System-Images mit API-Level 28 oder höher. Diese System-Images bieten eine verbesserte Arbeitsspeichernutzung für geräteseitige Grafiktreiber.

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

  • Die Arbeitsspeichernutzung des Emulators wurde bei langwierigen Tests reduziert. Wenn bei langwierigen Tests weiterhin Probleme mit der Speichernutzung auftreten, erstellen Sie bitte im Issue Tracker ein Problem, in dem Sie Ihren Anwendungsfall beschreiben.
  • Die CPU-Auslastung wird beim Ausführen von Apps mit Animationen reduziert.
  • Das Problem, dass der QEMU-AIO-Kontext unter Windows auslaufen konnte, wurde behoben.

Mehrere Instanzen einer einzelnen AVD gleichzeitig ausführen

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

Wenn Sie mehrere Instanzen derselben 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 mit den beschreibbaren Teilen des Android-Images verknüpft sind. Zur Verwaltung des Speicherplatzes haben wir auch das Befehlszeilentool qemu-img hinzugefügt, mit dem Sie QCOW2-Dateien vorab verbindlich festlegen können, bevor Sie mehrere Instanzen starten.

Wenn Sie die Funktion Dateibasierte Snapshots des Gast-RAM verwenden, teilen sich mehrere AVD-Instanzen den primären AVD-Schnellstart-Snapshot als gemeinsame Quelle für Copy-on-Write-Gast-RAM. Diese Eigenschaft 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 ausgeführt werden müssen.

Wir freuen uns über Ihr Feedback zu möglichen Anwendungsfällen, die Teil Ihres normalen interaktiven oder CI-Workflows sind. Bitte erstellen Sie Probleme im Issue Tracker oder stimmen Sie für sie.

Dateibasierte Snapshots des Gast-RAM

Durch die Voralokation und Zuordnung des Gast-RAM als Datei kann der Emulator jetzt Quickboot-Snapshots während der Laufzeit speichern, anstatt die gesamte Arbeit beim Beenden auszuführen. Wenn beim Schließen Ihrer Emulatoren derzeit lange Speicherzeiten auftreten, aktivieren Sie diese Funktion, um die Leistung des Schnellstarts zu verbessern. Standardmäßig wird ein Quickboot-Snapshot beim Beenden gespeichert und jedes Mal wieder geladen, ähnlich wie bei einem echten Gerät, das an- und ausgeschaltet wird.

Da das Android-Gast-RAM jetzt standardmäßig automatisch gespeichert wird, müssen Sie dem Emulator mitteilen, dass er nach jeder Sitzung Änderungen verwerfen soll, wenn Sie einen Gerätestatus definieren und wiederholt aus diesem Status laden möchten. Sie haben dazu folgende Möglichkeiten:

  • Verwenden Sie die Flags -no-snapshot-save oder -read-only, wenn Sie den Emulator über die Befehlszeile starten.
  • Gehen Sie zu Erweiterte Einstellungen > Snapshots > Einstellungen und setzen Sie Aktuellen Status automatisch als Schnellstart speichern? auf Nein.
  • Sie müssen den Emulator nach Auswahl dieser Option neu starten. Wenn der Emulator auf „Automatisch speichern“ gesetzt ist, können Sie mit dem folgenden Befehl einen Checkpoint festlegen:
    adb emu avd snapshot remap 0
    
    Nachdem Sie diesen Befehl ausgeführt haben, bleibt der Quickboot-Snapshot des Emulators an diesem Checkpoint. Führen Sie denselben Befehl noch einmal aus, um den Emulator aus dem Checkpoint zu laden.

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

Da dies eine große Änderung an der Funktionsweise von Quickboot ist, würden wir uns sehr über Ihr Feedback 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 einen Snapshot im AVD-Manager), deaktiviert der Emulator sowohl das automatische Speichern von Quickboot-Snapshots als auch das Speichern von Quickboot-Snapshots beim Beenden. So wird das Risiko verringert, dass der Quickboot-Snapshot versehentlich überschrieben wird, und es werden langsame Fallback-Pfade vermieden, die keine dateibasierten Quickboot-Snapshots verwenden.

QEMU 2.12

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

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

  • x86: gdbstub bietet jetzt Zugriff auf SSE-Register.
  • Laufwerk-Images: Die Bildsperre wird hinzugefügt und standardmäßig aktiviert. Mehrere QEMU-Prozesse können nicht in dasselbe Image schreiben, solange der Host OFD- oder POSIX-Sperrungen unterstützt, sofern keine anderen Optionen angegeben werden.
  • qemu-img: qemu-img resize unterstützt die Voralokasierung der neuen Teile des Bildes.
  • Das Schrumpfen von QCOW2 wird jetzt in qemu und qemu-img unterstützt.

Bedienungshilfen

  • Wir haben Probleme mit Screenreadern behoben und die Unterstützung dieser Tools in der Benutzeroberfläche für Bildschirmaufzeichnungen und Screenshots verbessert.
  • Die Benachrichtigungssymbole für den Schnellstart sind jetzt für Nutzer mit Farbfehlsichtigkeit besser erkennbar.

Grafik

  • Ein Problem mit dem Speicherzugriff außerhalb des gültigen Bereichs, das bei OpenGL ES-Vertex-Array-Zeigern auftreten konnte, wurde behoben.
  • Einige ältere GPUs unterstützten nicht OpenGL 2.1 oder höher (erforderlich) 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, durch das der Emulator nicht den richtigen Framebuffer postete, wenn FBO != 0 zum Zeitpunkt von eglSwapBuffers gebunden war.
  • Es wurde ein Problem behoben, durch das das virtuelle Android-Display nur oben links angezeigt wurde. Wir gehen davon aus, dass das auf falsch konfigurierte Qt-Umgebungsvariablen zurückzuführen ist. Der Emulator überschreibt jetzt alle Qt-Skalierungsvariablen.
  • Ein Problem wurde behoben, bei dem der Emulator in einigen Fällen beim Laden von GLES1-Apps aus einem Snapshot abstürzte.
  • Behobene Probleme mit der Parallelität in OpenGL und beim Starten von Renderthreads, die zu doppelten Freigaben oder beschädigten Daten führen konnten.
  • Der Android-Emulator unterstützt jetzt die komprimierte ASTC-LDR-Textur (GL_KHR_texture_compression_astc_ldr) für Systemabbilder mit API-Ebene 28 oder höher.
  • Die meisten modernen GPUs sollten den Emulator jetzt mit standardmäßig aktiviertem OpenGL ES 3.x starten können, ohne das GLESDynamicVersion-Funktionsflag zu verwenden.
  • -gpu guest (Software-Rendering im Gast) wird nicht mehr unterstützt. Bei Systemabbildern mit der API-Ebene 28 oder höher wird jetzt automatisch auf Swiftshader umgestellt (-gpu swiftshader_indirect).
  • Wenn der Emulator über die Befehlszeile mit dem Flag -no-window gestartet wird, ist Swiftshader jetzt der Standard-Renderer.

Standort

  • Der Emulator kann jetzt den Kurs sowie die Breiten- und Längengradposition aktualisieren. Der virtuelle Magnetfeldsensor passt sich dynamisch an den magnetischen Norden an, indem er Bewegungen bei der Wiedergabe einer GPX- oder KML-Datei ableitet.
  • Die Gerätegeschwindigkeit kann jetzt auf der Seite „Standort“ festgelegt werden.
  • Bei der Wiedergabe einer GPX- oder KML-Datei wird die Geschwindigkeit automatisch festgelegt und nach Ende der Wiedergabe auf null gesetzt.
  • Die Höhe ist nicht mehr auf -1.000 bis +10.000 Meter beschränkt.
  • Ein Problem wurde behoben, durch das der virtuelle GPS-Standort nur dann regelmäßig aktualisiert wurde, wenn das Fenster „Erweiterte Steuerelemente“ mindestens einmal geöffnet wurde.

Kamera

Unter Windows werden jetzt mehr Webcams unterstützt, da der Emulator die Größe der Kameraframes, die von der Webcam gesendet werden, dynamisch anpasst. Außerdem verhindert diese Funktion, dass Fehler bei der Frame-Auslieferung zum Absturz des Emulators führen.

Play Store

Um Probleme zu beheben, bei denen der Speicherplatz auf Play Store-Images aufgebraucht wird, ändert der Emulator die Größe der userdata-Partition jetzt automatisch auf 6 GB, wenn er mit einer neuen Play Store-AVD ausgeführt wird.

Allgemeine Qualitätsverbesserungen und Fehlerkorrekturen

  • Einige Nutzer haben gemeldet, dass der Emulator langsam läuft. Wir haben eine mögliche Ursache gefunden, bei der das temporäre Verzeichnis für den Emulator zu viele veraltete Dateien enthält. Als Behelfslösung speichert der Emulator ADB-Dateien zur Liveness-Prüfung nicht mehr in diesem Verzeichnis. Es kann jedoch auch hilfreich sein, 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 noch RAM-Speicherplatz kostenlos ist, Sie den Emulator aber trotzdem nicht starten können, wurde möglicherweise die Commit-Ladung überschritten. Hilfe zu diesem Problem finden Sie auf der Seite zur Fehlerbehebung für den Emulator.
  • Die Befehlszeilenoption -sysdir überschreibt jetzt das abgeleitete Systemabbildverzeichnis ordnungsgemäß.
  • Das virtuelle Modem unterstützt jetzt die Abfrage +MAI für Informationen zur Modellaktivität.
  • Es wurden verschiedene Probleme mit Speicherlecks, Speicherbeschädigungen und CPU-Auslastung behoben. Wenn es zu Abstürzen, Speicherlecks oder einer anderen hohen Ressourcennutzung kommt, erstellen Sie bitte ein Problem im Issue Tracker.
  • Ein Problem, das unter macOS 10.14 wieder aufgetreten ist, bei dem die Audioqualität bei Verwendung von Bluetooth-Headsets mit dem Emulator global beeinträchtigt wurde, wurde behoben. Um dies zu verhindern, verwendet der Emulator jetzt keine Bluetooth-Audiofunktionen, wenn er unter macOS ausgeführt wird. (Problem 37070892)
  • Ein Problem wurde behoben, bei dem die Uhr des Emulators unter Windows nicht in der richtigen Zeitzone war.
  • Behebung von Verzögerungen und Abstürzen des Emulators auf Linux-Systemen mit rotierenden Festplatten (HDDs).
  • Einige Kompilierungswarnungen, die unter macOS zu einer Beschädigung des Stacks führen können, wurden behoben.
  • Probleme behoben, die zu irreführenden Berichten über das Aufhängen führen können.
  • Ein Problem beim Löschen von Threadpools wurde behoben, das zu einem Absturz führen konnte, wenn einer der Threads nicht erfolgreich erstellt wurde.
  • Ein Problem unter macOS wurde behoben, bei dem Timer unzuverlässig wurden, was zu Abstürzen und anderem merkwürdigem Verhalten führte. Wenn der Emulator unter macOS hängt, erstellen Sie bitte ein Problem im Issue Tracker.
  • Ein Problem wurde behoben, bei dem beim Schließen des Emulators die Benutzeroberfläche deaktiviert, der Emulator aber nicht geschlossen wurde.
  • Probleme mit sporadischen Abstürzen wurden behoben, einschließlich eines Abbruchs, der durch das Öffnen zu vieler Instanzen von /dev/urandom verursacht wurde.
  • Ein Problem wurde behoben, durch das der Emulator nach dem ersten Start nicht mehr gestartet werden konnte, wenn ADB erzwungen 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 eines Snapshots beschädigt werden konnten.
  • Ein Problem wurde behoben, durch das im Emulatorfenster ein Nachbild oder ein Teleportationseffekt zu sehen war, wenn ein Snapshot fortgesetzt wurde, bei dem sich die Geräteausrichtung von der Standardausrichtung der AVD unterschied.
  • Probleme mit Abstürzen beim Speichern von Snapshots wurden behoben.
  • Unter Linux können btrfs-Dateisysteme zu extremen Verzögerungen führen, da der Emulator automatisch Snapshots speichert und für seine virtuellen Laufwerke die Kopier-bei-Schreiben-Methode 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 die Funktion „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äß im Emulator ausgeführt werden können. HAXM 7.3.2 sollte bereits im Stable-Release verfügbar sein. Sie können es auch manuell unter https://github.com/intel/haxm/releases installieren.

Hier sind einige der Probleme, die mit 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-Instruction-Emulator, der zu einem Hostabsturz führen konnte, wurde behoben (#93).

Einstellung der 32-Bit-Version von Windows

Aufgrund der geringen Nutzung und der hohen Wartungskosten planen wir, die 32-Bit-Version des Android-Emulators für Windows einzustellen. Vor der Entfernung und dem Ende des Produktzyklus der 32-Bit-Version des Android-Emulators führen wir einen Umstellungsplan ein. Wir freuen uns aber über Feedback zu dieser zukünftigen Änderung.

Bitte teilen Sie uns im Issue Tracker mit, ob Sie derzeit die 32-Bit-Version des Android-Emulators verwenden, die unter Windows ausgeführt wird. Teilen Sie uns außerdem mit, wie wir Sie in Zukunft am besten unterstützen können.

27.3.10 (August 2018)

Dieses Update enthält die folgende Fehlerkorrektur:

Korrektur der Konfiguration der RAM-Größe

Einige Nutzer haben gemeldet, 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 der AVD falsch festgelegt wurde.

Um dies zu vermeiden, erhöht der Emulator den Mindest-RAM-Wert für Images, die API-Level 26 oder höher verwenden, auf den Standardwert von Android Studio von 1.536 MB. Wenn in der config.ini-Datei Ihrer AVD keine hw.ramSize in Megabyte aufgeführt ist, erstellen Sie bitte ein Problem im Issue Tracker. Sie finden die Datei config.ini an folgendem 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

Einigen Nutzern fiel es schwer zu diagnostizieren, warum die Windows-Hypervisor-Plattform (WHPX) nicht initialisiert wurde, wenn sie einen WHPX-Emulator aktivierten. Um Ihnen bei der Diagnose dieser Probleme zu helfen, 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 Fehlerkorrekturen

  • OpenGL-Fehler beim Laden eines Screenshots in der Kamera App 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 in den erweiterten Einstellungen im Dialogfeld „Konfiguration des virtuellen Geräts“ ein Steuerelement, mit dem Sie angeben können, welcher AVD-Snapshot beim Starten des AVD geladen werden soll.

Um dieser Erweiterung der Snapshot-Funktionen Rechnung zu tragen, haben wir dem Dialogfeld Erweiterte Steuerelemente 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 Schnellstart-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 Kanälen verfügbar.

Dieses Update enthält Fehlerkorrekturen und eine verbesserte Unterstützung für große RAM-Mengen. Außerdem wird mit diesem HAXM-Update und Emulator 27.3 und höher der Inhalt von Snapshots bei Bedarf in den RAM geladen, anstatt den gesamten Snapshot beim Starten des virtuellen Geräts zu laden. Durch diese Änderung sollte sich die Zeit zum Laden eines Snapshots 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 über den Android-Emulator aufzeichnen und die Aufzeichnung als WebM- oder animierte GIF-Datei speichern.

Die Steuerelemente für die Bildschirmaufzeichnung finden Sie im Fenster Erweiterte Steuerelemente auf dem Tab Bildschirmaufzeichnung.

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

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

Die Steuerelemente zum Abspielen und Speichern des aufgezeichneten Videos finden Sie unten auf dem Tab Bildschirmaufzeichnung. Wählen Sie zum Speichern des Videos unten auf dem Tab im Menü die Option WebM oder GIF aus und klicken Sie auf Speichern.

Sie können auch eine Bildschirmaufzeichnung aus dem Emulator mit dem folgenden Befehl in der Befehlszeile aufzeichnen und speichern:

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

Mit der neuen Kamera für virtuelle Szenen ist es jetzt noch einfacher, Augmented-Reality-Apps (AR) mit ARCore zu entwickeln und zu testen. Sie können damit in einer virtuellen Umgebung mit AR-Inhalten experimentieren.

Informationen zur Verwendung der virtuellen Szenenkamera 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 Pixel- und Pixel 2-Gerätebilder 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 mit aktiviertem Google Play Store haben im Dialogfeld Erweiterte Steuerelemente den Tab Google Play mit einer praktischen Schaltfläche zum Aktualisieren der Google Play-Dienste auf dem Gerät.

Snapshots

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

Wir haben viele Verbesserungen am Laden und Speichern von Snapshots vorgenommen, um die Effizienz der Ressourcennutzung zu verbessern und die Zeit für die einzelnen Vorgänge zu minimieren. Wenn das Speichern weiterhin ungewöhnlich lange dauert, melden Sie bitte das Problem. Geben Sie dabei Details zu Ihrer CPU, Ihrem RAM und den Einstellungen aller Antiviren-, Firewall- und Sicherheitssoftware an, die gerade ausgeführt wird.

Rendering mit Skia

Wenn Sie Images 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ührt.

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 der Webcam-Aufnahme erheblich verbessert, bis zu 720p bei 30 fps.

Auf einem Mac können Sie jetzt webcam0 und webcam1 gleichzeitig 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. Durch diese Ä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 Ruckler behoben.
  • Um Abstürze und Verzögerungen zu vermeiden, die durch zu wenig freien Speicherplatz verursacht werden, prüft der Emulator beim Starten jetzt, 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 werden konnten.
  • Ein DNS-Problem wurde behoben, das dazu führte, dass der Emulator keine Verbindung zum Netzwerk herstellen konnte.
  • Ein Problem wurde behoben, durch das Änderungen am internen Speicher, der einer AVD über das Dialogfeld „Virtuelle Gerätekonfiguration“ zugewiesen wurde, nicht funktionierten.
  • Ein Problem wurde behoben, bei dem viele adb-Prozesse erstellt und nicht ordnungsgemäß beendet wurden.
  • Ein Problem wurde behoben, durch das die Drehtasten und andere Teile der Benutzeroberfläche nur dann reagierten, wenn das Fenster „Erweiterte Steuerelemente“ geöffnet war.
  • Ein Problem wurde behoben, durch das das Kopieren und Einfügen vom Host nur funktionierte, wenn das Dialogfeld „Erweiterte Steuerelemente“ mindestens einmal geöffnet wurde.
  • Das Rechteck zum Ändern der Größe des rahmenlosen Emulators wurde aktualisiert, um dem visuellen Design des Emulators besser zu entsprechen.
  • Telefonieren und SMS werden jetzt richtig deaktiviert, wenn der Flugmodus aktiviert ist.
  • Ein Problem wurde behoben, durch das SMS und die Mobilfunkfunktionen nach dem Laden eines Snapshots deaktiviert wurden.
  • Sie erhalten keine falschen Warnungen mehr, die besagen, dass “Unable to open... \pstore.bin. Permission denied.”
  • Ein Problem wurde behoben, durch das die AVD auf einigen Mac-Bildschirmen nicht neu positioniert werden konnte.
  • Probleme mit flackernden und leeren Bildschirmen auf neueren MacBook Pro-Computern wurden behoben, wenn AVDs mit Pixel 2 XL-Skins ausgeführt wurden.
  • Probleme mit leeren Bildschirmen beim Wechsel in den Zoommodus, während ein frameless-Emulator aktiv war, wurden behoben.
  • Ein Problem wurde behoben, durch das die Geräteoberfläche und der Emulatorinhalt beim Heranzoomen nicht mehr synchron gescrollt wurden.

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

27.1.12 (März 2018)

Dieses Update enthält Fehlerkorrekturen 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 gesendet. (Problem 73450633)
  • Der über die Console festgelegte GPS-Standort wurde durch Werte überschrieben, die über die Option Erweiterte Steuerelemente > Standort auf der grafischen Benutzeroberfläche festgelegt wurden. (Problem 73471760)

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

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 unter AR-Apps im Android-Emulator ausführen.

27.1.10 (Februar 2018)

  • Auflösung der Kameraaufnahme

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

    Damit System-Images mit Android 8.1 (API-Level 27) und höher funktionieren, muss die angeschlossene Webcam 720p-Frames aufnehmen können.

  • Fehlerkorrekturen

    • Ein Problem wurde behoben, durch das bei der Webcam-Aufnahme manchmal ein verzerrtes oder komplett grünes Bild ausgegeben wurde.
    • Behoben: Die folgende Meldung wurde auch dann angezeigt, wenn kein tatsächlicher Absturz aufgetreten war: „emulator: ERROR: detected a hanging thread 'Qt event loop'. Keine Antwort nach 15.000 ms“

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

27.1.7 (Februar 2018)

  • Frameless-Emulatorfenster:

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

  • Verbesserungen beim Schnellstart, um die Arbeit mit AVD-Snapshots effizienter zu gestalten:

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

    Weitere Informationen finden Sie in der Dokumentation zum Schnellstart.

  • Der Emulator wurde auf QEMU 2.9 aktualisiert.

    Zu den wichtigsten Verbesserungen gehören:

    • Optimierte E/A-Vorgänge und eine detailliertere Sperrung von E/A-Threads für eine bessere Leistung.
    • Behobene Fehler seit QEMU 2.8 (26.1.4).
    • Neue Implementierung des HAXM-Backends.

    Eine vollständige Liste der Änderungen finden Sie im Änderungsprotokoll für QEMU 2.9.

  • Swiftshader-Implementierung gemäß OpenGL ES 3.0:

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

  • Fehlerkorrekturen

    • Ein Problem wurde behoben, durch das die Zwischenablagefreigabe nur funktionierte, wenn die Option Zwischenablagefreigabe aktivieren deaktiviert und wieder aktiviert wurde.
    • Ein Absturz beim Verwenden des Swiftshader-Rendering-Back-Ends mit AVDs mit niedriger Auflösung wurde behoben.

27.0.5 (Januar 2018)

  • ANGLE für das Rendering 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, durch das mit der Tastenkombination „Umschalttaste + B“ kein Großbuchstabe „B“ eingegeben wurde.

27.0.2 (Dezember 2017)

  • Die neue Funktion „Schnellstart“ ermöglicht einen schnelleren Start des Emulators auf Grundlage eines Snapshots Ihrer AVD-Instanz.

    Der schnelle Start ist standardmäßig für alle AVDs aktiviert. Beim ersten Starten eines AVD muss ein Kaltstart durchgeführt werden (genau 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 Aufwecken eines Geräts).

    Wenn Sie festlegen möchten, wann der Emulator einen Snapshot speichert, öffnen Sie das Fenster „Erweiterte Steuerelemente“ des Emulators und klicken Sie auf Einstellungen. Hier können Sie eine der folgenden Einstellungen für Schnellstartstatus beim Beenden speichern auswählen:

    • Ja: Speichern Sie immer einen Schnellstart-Snapshot, wenn Sie den Emulator schließen. Das ist die Standardeinstellung.
    • Nein: Speichern Sie niemals einen Snapshot für den schnellen Start, sondern führen Sie immer einen Kaltstart aus.
    • Fragen: Sie werden gefragt, ob der Schnellstart-Snapshot beim Schließen des Emulators gespeichert werden soll.

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

    Weitere Informationen finden Sie in der Dokumentation zum Schnellstart.

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

  • Für mehr Stabilität bei OpenGL ES 2- und höher-Apps verwendet der Emulator jetzt, falls verfügbar, OpenGL-Kernprofile.

  • Neue Optionen für das Rendering 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 werden jetzt eingestellt. Im Fenster „Erweiterte Steuerelemente“ werden für die Optionen „SwiftShader“ und „ANGLE“ für die OpenGL ES-Renderer-Einstellung unter Einstellungen > Erweitert jetzt die *_indirect-Varianten verwendet.

  • Diverse weitere Fehlerkorrekturen.

26.1.4 (August 2017)

Diese Version enthält Fehlerkorrekturen und die folgenden Verbesserungen an der GPU-Konfiguration:

  • Startanimation aktivieren, wenn der ANGLE-Renderer verwendet wird
  • 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-Systemimages zu verwenden. Sie sind Treble-kompatibel und haben separate vendor.img-Partitionen.
  • Die neue HAXM-Version 6.2.0 ist jetzt verfügbar (im SDK-Manager). Sie enthält die folgenden Updates:
    • Verbesserte Arbeitsspeichernutzung. Der Arbeitsspeicher, der von HAXM angepinnt wird, entspricht nicht mehr der Größe des RAM der AVD. Stattdessen wird der Arbeitsspeicher bei Bedarf ausgelagert. Dadurch sollte der Emulator auf Computern mit weniger RAM zuverlässiger laufen.
    • Der Emulator mit HAXM 6.2.0 kann jetzt unter macOS schneller starten, da eine langwierige Initialisierungsphase übersprungen wird.
  • Verbesserungen an der GPU-Konfiguration
    • Probleme mit einem schwarzen Bildschirm beim Starten bei der Ausführung von Gast-Software-Rendering wurden behoben, indem auf das hostseitige Software-Rendering mit Swiftshader zurückgegriffen wurde. Die neuesten Versionen von System-Images für API-Level 19–25 mit Google APIs sollten ein funktionierendes geräteseitiges Rendering haben.
    • Ein Problem wurde behoben, bei dem der Emulator auf einen Software-Renderer umgestellt wurde, weil ältere Intel-GPUs erkannt wurden, der Emulator aber tatsächlich auf einer diskreten GPU ausgeführt wurde. Welche GPUs auf ANGLE- oder Swiftshader-Rendering umgestellt werden, wird so ermittelt:
      • Bei älteren Intel-iGPUs treten sowohl bei OpenGL- als auch bei ANGLE-D3D-Treibern Treiberprobleme auf. Nutzer mit Intel HD Graphics 3xxx und älter verwenden Swiftshader.
      • Einige Nutzer haben angegeben, dass sie keine Bilder der API-Ebene 25 verwenden können, weil „Pixel Launcher immer wieder angehalten wird“. Offenbar handelt es sich um ein Treiberproblem bei einigen Intel HD 4xxx-Modellen. Daher werden sie automatisch auf ANGLE umgestellt.
    • Für optimale Ergebnisse mit der GPU-Emulation empfehlen wir entweder eine diskrete NVIDIA- oder AMD-GPU oder eine neuere Intel-GPU (Iris, HD 5xxx, HD 5xx/6xx).
    • Ein Problem wurde behoben, bei dem der Emulator nicht gestartet werden konnte (OpenGL-Emulation konnte nicht initialisiert werden), wenn die AVD mit hw.gpu.mode=host konfiguriert und der Emulator in einem Remote-Desktop-Client gestartet wurde.
    • Die Einstellungen für die „OpenGL ES API-Ebene (erfordert Neustart)“ wurden klarer formuliert. Außerdem wurde eine Option hinzugefügt, mit der bei Problemen oder bei Tests mit niedrigeren OpenGL ES API-Ebenen von OpenGL ES 3 auf OpenGL ES 2 heruntergestuft werden kann.
    • Der Mesa-Renderer ist veraltet. hw.gpu.mode=mesa wird jetzt automatisch auf die Verwendung von Swiftshader auf dem Host umgestellt.
  • Verbesserungen für macOS:
    • Der Emulator ist jetzt über Hypervisor.Framework oder HAXM 6.2.0 vollständig mit macOS 10.13 High Sierra kompatibel.
    • 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 diesem Tool haben, senden Sie bitte einen Fehlerbericht und hängen Sie HVF = off an ~/.android/advancedFeatures.ini an. Falls diese Datei nicht vorhanden ist, erstellen Sie sie.
    • Es wurden Probleme behoben, bei denen keine Internetverbindung hergestellt werden konnte oder der Debugger nicht angehängt werden konnte, wenn das Hypervisor.framework verwendet wurde.
    • Um die Kompatibilität und Leistung der Webcam-Aufnahme zu verbessern, wurde die QTKit-basierte Kameraaufnahme durch eine gepufferte Aufnahme ersetzt, die auf AVFoundation basiert.
  • Unterstützung für WLAN in einigen System-Images hinzugefügt (derzeit nur API-Level 25). Es ist ein Zugangspunkt namens „AndroidWifi“ verfügbar und Android stellt automatisch eine Verbindung dazu her. Sie können die WLAN-Unterstützung deaktivieren, indem Sie den Emulator mit dem Befehlszeilenparameter -feature -Wifi ausführen.
  • Einige Nutzer haben Bedenken geäußert, dass die Play Store-Systembilder mit fester Größe nicht genügend Speicherplatz haben. Daher haben wir die Größe standardmäßig auf 2 GB erhöht (vorher 800 MB).
  • Es wurde eine Tastenkombination (Strg + Umschalttaste + U) hinzugefügt, mit der die Seite für die Fehlermeldung direkt über die Seite „Einstellungen“ geöffnet werden kann.
  • Das Problem wurde behoben, bei dem der Emulator bei Verwendung einer älteren CPU mit Intel x86 EPT, aber ohne UG nicht startete, wenn mehr als ein Kern konfiguriert war.
  • Behoben: Hyper-V wurde nicht richtig erkannt, wenn der Emulator selbst in einem Xen-Hypervisor ausgeführt wurde.
  • Ein Problem wurde behoben, das bei einigen Linux-Konfigurationen zum Absturz des Emulators beim Start führte.

26.1.2 (Juli 2017)

Diese Version enthält neue Funktionen und Leistungsverbesserungen.

  • Es ist jetzt möglich, in den erweiterten Steuerelementen eine benutzerdefinierte HTTP-Proxy-Konfiguration zu definieren. Klicken Sie dazu auf das Dreipunkt-Menü , dann auf Einstellungen und dann auf 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 die GPU im Gastmodus hinzugefügt, damit der Emulator per Fernzugriff angezeigt und gesteuert werden kann. So können Sie beispielsweise den Emulator starten und VNC den Port 5901 zuweisen:

    1. Ausführen: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. Öffnen Sie einen VNC-Viewer wie tightvnc viewer, um eine Verbindung zum Port 5901 herzustellen.

      • Wenn Sie den integrierten Bildschirmfreigabeclient von Mac verwenden möchten, ist beim Starten des Emulators ein VNC-Passwort erforderlich. Verwenden Sie diesen 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 derzeit nicht für den VNC-Modus 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 Protokoll für den Fehlerbericht. Sie können den Bericht dann für sich speichern oder Emulatorprobleme melden.

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

  • Dem Qemu-DNS unter Windows wurde das vom Host bevorzugte DNS hinzugefügt, wenn mehrere virtuelle Netzwerkschnittstellen auf dem Host mehrere DNS-Adressen einführen, die für den Emulator nicht funktionieren.

  • Es wurde 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 Bootzeit 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 wird OpenGL ES 3 nur von Android O (API-Level 26) und Windows-/Linux-Hosts unterstützt.

    • 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 Anzeigebilds. Dies sollte Probleme mit der Farbkonsistenz auf verschiedenen Plattformen beheben.

  • Nachdem wir Daten zu plötzlichen Verlangsamungen des Emulators erfasst haben, haben wir festgestellt, dass das Problem möglicherweise mit einer Interaktion zwischen älteren Intel OpenGL-Treibern und Windows-Updates zusammenhängt. Daher ist das Rendering für Nutzer mit Intel HD 4000, 3000, 2000 (und ähnlichen GPUs) jetzt standardmäßig auf einen D3D-Renderer (ANGLE) oder 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 aufgrund problematischer Hardwarekonfigurationen schnell zu beheben. So kann Google Fehlerkorrekturen und Funktionen, die von Nutzerkonfigurationen abhängen, durch Aktualisieren serverseitiger Flags einführen. Wenn du Probleme mit bestimmter Hardware feststellst, melde bitte einen Fehler, damit wir das Problem untersuchen können.
  • Neue Unterstützung für die Drehknopf-Eingabe für Systembilder mit Android Wear API-Level 25. Wenn Sie das Drehrad auf einem Wear-Gerät emulieren möchten, klicken Sie im maximierten Fenster auf den Tab Drehrad-Eingabe.
  • Das Dialogfeld für Absturzberichte kann jetzt neu skaliert werden und die Einstellung Wann Absturzberichte gesendet werden wird nicht mehr ohne Eingabe auf Fragen zurückgesetzt.
  • Für den 32-Bit-Emulator muss die maximale AVD-RAM-Größe jetzt 512 MB nicht überschreiten, damit im virtuellen Adressraum von 2 GB nicht der Speicherplatz aufgebraucht wird.
  • Unterstützung für absolute Pfade in Emulator-Images
  • Im erweiterten Fenster für Google Play Store-Bilder wird ein neuer Tab hinzugefügt, auf dem die Version der Play-Dienste und eine Schaltfläche zum Prüfen auf Updates der Play-Dienste angezeigt werden.
  • Auf der Seite „Emulatoreinstellungen“ wurde ein Drop-down-Menü zum Auswählen des OpenGL-Renderers hinzugefügt. Wenn auf einem Windows-Computer Probleme mit dem OpenGL-Treiber auftreten, versuchen Sie es mit den Optionen ANGLE (D3D11) oder ANGLE (D3D9). Ein Neustart ist erforderlich. Wenn Sie auf einem Computer, der nicht mit Windows läuft, Probleme mit dem OpenGL-Treiber haben, verwenden Sie den Swiftshader-Software-Renderer. Dazu ist ein Neustart erforderlich.
  • Ein seltener Absturz beim Beenden wurde behoben, wenn der Emulator sowohl exit- als auch minimize-Befehle empfängt.
  • Ein Skalierungsproblem beim Wechseln des Displays auf einem Mac-Computer wurde behoben. (Problem 268296)
  • Ein Problem wurde behoben, bei dem der Emulator 300% der CPU belegt und diese Auslastung beibehält, nachdem der Hostcomputer aus dem Ruhemodus fortgesetzt wurde oder der Emulator schon lange ausgeführt wird.
  • Ein Absturz beim Herunterfahren des Emulators wurde behoben.

Aktualisierungen 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 bald auch für Windows-Nutzer eingeführt.

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

  • Aktiviert die Emulation von Leistungsüberwachungseinheiten (PMU). (Problem 223377)
  • Behebung von Problemen bei der gemeinsamen Nutzung von VirtualBox und Docker auf Macs. (Problem 197915)
  • Die Fehlermeldung bei der Installation wird überarbeitet, die angezeigt wird, wenn das Installationsprogramm Intel VT-x unter Windows nicht erkennt, in der Regel weil Hyper-V aktiviert ist.
  • Unterstützung für die Beschleunigung des Android-Emulators in einer Hyper-V-basierten Windows-VM. Für dieses Update muss die Hyper-V-Instanz des Hosts (diejenige, die die Windows-VM/den Windows-Gast verwaltet) die neueste Version von Hyper-V mit aktivierter verschachtelter Virtualisierung verwenden. 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 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 der 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 für alle System-Images verfügbar sein.
  • Die Videowiedergabe wurde verbessert. Der Emulator speichert jetzt alle Videofarbbuffer im gemeinsamen Host-/Gast-Speicher und führt die erforderliche abschließende YUV-zu-RGB-Konvertierung auf der GPU durch. 1080p30 sollte für die meisten Systeme jetzt kein Problem mehr sein. Diese Funktion wurde für X86-Images mit API-Level 24 (Version 11 und höher) veröffentlicht und wird bald für alle System-Images verfügbar sein.
  • Der Emulator meldet sich jetzt beim Beenden korrekt von der adb devices-Liste ab und schließt geöffnete TCP-Ports auf Linux-Computern.
  • adb-Verbindungen sind jetzt zuverlässiger. Ein laufender Emulator wird schneller erkannt und erhält 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 Vielzahl von Leistungsverbesserungen, neuen Funktionen und Fehlerkorrekturen.

Nebenversion 25.3.1 (März 2017)

  • Ein Absturz bei einigen GPU-Konfigurationen wurde behoben, indem GLAsyncSwap standardmäßig deaktiviert wurde. Diese Funktion wurde in 25.3.0 hinzugefügt, um das Frame-Timing und die Frames pro Sekunde für Spiele und Videos zu verbessern. Bei einigen unbekannten Computerkonfigurationen führt sie jedoch dazu, dass der Emulator 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, Version 25.3.0

Neue Funktionen und Fehlerkorrekturen

  • Die Emulation wurde auf QEMU 2.7 aktualisiert. Dies umfasst alle aktuellen Fehlerkorrekturen, Leistungsverbesserungen und neuen 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 ein Vielfaches schneller, hat eine geringere Latenz und bietet eine bessere Multi-Thread-Leistung. Dies führt zu einer Reihe von Leistungsverbesserungen für den Emulator, darunter:
    • Verbesserte ADB-Push-/Pull-Geschwindigkeit.
    • Bessere Unterstützung der 3D-Beschleunigung.
    • Verbesserte Gesamtreaktionsfähigkeit des Emulators.
    • Verbesserte Grafikleistung.
  • Der Emulator verwendet jetzt GPU-seitige Buffers (glBindBuffers / glBufferData), wenn der Gast sie anfordert. Dadurch wird der CPU-Overhead in einigen Apps reduziert.
  • Verbesserte Audiounterstützung
  • Schnellere Laufwerk-E/A: Der Emulator verwendet jetzt separate Threads, um Laufwerk-E/A-Vorgänge zu verwalten. Dies führt zu einer geringeren Latenz und einem höheren Durchsatz (ca. 1,5-fache Geschwindigkeit bei sequenziellen E/A-Vorgängen, ca. 5-fache Geschwindigkeit bei E/A-Vorgängen mit Zufallszugriff). Außerdem wird dadurch die Anzahl der Auslagerungen auf die Festplatte reduziert, was zu einer deutlich geringeren physischen Gerätelast führt.
  • Der Emulator verwendet jetzt sparse Dateien für das Booten von Laufwerken auf Windows-Computern. Dadurch werden sowohl der erste Start als auch das Löschen von Daten beschleunigt. Beim Erstellen oder Zurücksetzen einer AVD schreibt der Emulator jetzt 100 bis 200 MB Daten auf das Laufwerk, anstatt mindestens 2 GB.
  • Verschiedene Verbesserungen der Benutzeroberfläche:
    • Der Emulator verwendet jetzt Qt 5.7.0, das Fehlerkorrekturen und Leistungsverbesserungen enthält.
    • Bei der UI-Initialisierung werden nicht mehr alle Emulator-Ausführbare als Qt-Plug-ins geladen. Dadurch ist sie deutlich kürzer, insbesondere auf Festplatten.
    • Die Interaktionen mit der Benutzeroberfläche sind jetzt schneller und flüssiger, einschließlich Drehung, Fenstergrößenänderung und Laden und Schließen erweiterter Steuerelementfenster.