Versionshinweise zum Emulator

In Android Studio ist der Android-Emulator enthalten.

Emulator-Versionen vor Version 25.3.0 wurden über die Android SDK-Tools bereitgestellt.

Prüfen Sie im SDK-Manager, ob Updates vorliegen. So können Sie sicher sein, dass Sie die aktuelle Version haben.

Frühere Versionen von Android Emulator können Sie im Emulator-Downloadarchiv herunterladen.

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

Bekannte Probleme und Fehlerbehebungen finden Sie in der Emulator-Fehlerbehebung.

34.2.15 (31. Mai 2024)

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

34.2.14 (20. Mai 2024)

Mit Android Studio Jellyfish Stable Patch 1 getestet.

  • [Fehlerkorrektur] Snapshot hängt manchmal im eingebetteten Emulator ab
  • [Fehlerkorrektur] Die Schaltflächen "Nein" und "Abbrechen" funktionieren auf dem Snapshot nicht richtig.
  • [Fehlerkorrektur] Tasten der Richtungstasten funktionieren nicht
  • [Fehlerkorrektur] Es wurde ein Problem behoben, das unter Windows verhinderte, dass der Emulator unter bestimmten Bedingungen gestartet wurde, wenn GPU-Modi mit ANGLE verwendet wurden, und dass im Protokoll die Fehlermeldung „Fehler beim Initialisieren der GL-Emulation“ zurückgegeben wurde. Wenn Sie den Emulator über die Befehlszeile mit der Option -gpu swangle_indirect starten, wird dieser Fehler möglicherweise auch mit dieser Version generiert. Wenn du den Emulator weiterhin über eine Befehlszeile unter Windows mit Softwaregrafik-Rendering mit dieser Version starten möchtest, verwende -gpu swiftshader_indirect
  • [Fehlerkorrektur] Standortverknüpfung auf der Tastatur lädt eine unbrauchbare Karte
  • [Fehlerkorrektur] Beim Festlegen des Standorts wird das Dialogfeld "Route speichern" nicht angezeigt.

34.2.13 (30. April 2024)

Mit Android Studio Jellyfish Stable getestet.

  • Aktualisierung auf Qt 6.5.3
  • Kompatibilität mit den Google Maps API-Updates, die Ende Mai in den Standortfunktionen in den erweiterten Steuerelementen des Emulators verwendet werden.
  • Schwerwiegende Abstürze behoben
  • Verschiedene Korrekturen an Pixel-AVDs
  • Grafikbibliothek aktualisieren, die für das Software-Rendering verwendet wird
  • [Fehlerkorrektur]Problem 225541819 Starten des Chrome-Absturz-Emulators unter x86_64
  • [Fehlerkorrektur]Problem 314614435 -http-proxy-Switch wurde falsch geparst.

34.1.20 (1. April 2024)

Mit Android Studio Iguana Stable getestet.

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

34.1.19 (7. März 2024)

Mit Android Studio Iguana Stable getestet.

  • [Fehlerkorrektur] Problem Nr. 312677259: Eingebettetes Display im eingebetteten Emulator nach der Größenanpassung des Fensters wurde behoben.

34.1.18 (29. Februar 2024)

Mit Android Studio Iguana Stable getestet.

  • Der Emulator wurde um folgende Geräte erweitert:
    • 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 das Testen realistischer Szenarien ermöglichen. Mit dieser Funktion können Entwickler innerhalb von Android-Instrumentierungstests sicher mit dem vom Android-Emulator gehosteten gRPC-Endpunkt interagieren.
  • Verschiedene Fehlerkorrekturen
    • Fehlerkorrektur: Verbesserungen bei der Nutzerfreundlichkeit von faltbaren Geräten
    • Fehlerkorrektur: Position des Emulators nach der Drehung anpassen
    • Absturzkorrekturen

33.1.24 (28. Dezember 2023)

Mit Android Studio Hedgehog Stable und Iguana Beta 1 getestet.

  • Ein Problem mit der Webcam im Emulator wurde behoben, durch die Bildschirmaufzeichnungen im MP4-Format nicht möglich sind.
  • Ein Absturz des Emulators beim Aufklappen des Pixel Fold AVD während einer Bildschirmaufzeichnung wurde behoben.
  • Problem behoben, bei dem Pixel Fold bei getrennter Tastatur ein anderes Design für das Smartphone anzeigt und nicht verwendbar ist (Fehler unter Windows, Mac Intel und Linux behoben)
  • Ein Fehler bei der Darstellung von virtuellen Sensoren im Standalone-Modus wurde behoben (unter Windows, Mac Intel und Linux)
  • Fehlerkorrekturen für Abstürze, insbesondere beim Schließen des Emulators, wurden behoben.

33.1.23 (30. November 2023)

Mit Android Studio Giraffe Patch 4 und Hedgehog Stable getestet.

  • Neue faltbare Implementierung zur besseren Emulation von Pixel Fold, funktioniert mit der neuesten API 34
  • Upgrade für Grafik-Backend: Wir haben das gfxstream-Protokoll für unser Grafik-Backend implementiert. Diese Verbesserung verbessert die Grafikleistung insgesamt und die Stabilität deines Systems. Neu: Unterstützung von Vulkan 1.3, beginnend mit System-Image mit API 34
  • Funktionsanfrage: Option zum Deaktivieren der Touch-Geste zum Zoomen auseinander- und zusammenziehen oder zur Neuzuweisung des Hotkeys
  • [Fehlerkorrektur] Problem #302562962 Behebung des Absturzes der Webcam im Emulator bei Verwendung von MacOS Sonoma
  • [Fehlerkorrektur] Problem #293503871 Problem behoben, bei dem die Einstellung für das Mikrofon bei einem Neustart des Emulators nicht gespeichert wurde
  • [Fehlerkorrektur] Problem #270386314 Animationsfehler behoben, bei dem die Seitenleiste geöffnet bleibt, nachdem der AVD-Bildschirm minimiert wurde
  • [Fehlerkorrektur] Problem #154896775 Tool zur Korrektur von Fehlern

32.1.15 (29. August 2023)

Mit Android Studio Giraffe Patch 1 und Hedgehog Canary 16 getestet.

  • GAS-Hardwareanforderungen für Sensoren im AAE-Emulator erfüllen
  • [Fehlerkorrektur] Problem #266201208 Hebräische SMS wird mit API 33 nicht gesendet
  • [Fehlerkorrektur] Problem #257097404 Im Emulator wird nach der Aktivierung des Hosts in API 29 und 30 nicht die richtige Zeit angezeigt
  • [Fehlerkorrektur] 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.

  • Korrigiere Kameraausrichtungen und Verzerrungen im Emulator.
  • [Fehlerkorrektur] Problem #257097404 "Der Emulator zeigt nach der Aktivierung des Hosts nicht die richtige Zeit an." Dieser Fehler ist für API 29 und API 30 weiterhin reproduzierbar.
  • [Fehlerkorrektur] Problem #243456582 „Android-Versionen nach API 30 starten auf Mac M1-Computern möglicherweise nicht korrekt im Emulator“

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 hinzufügen.
  • gLinux-Absturzproblem verbessern
  • [Fehlerkorrektur] Problem #215231636 "Emulator mit API über API 30 funktioniert nicht auf Intel-Prozessor der 12. Generation"
  • [Fehlerkorrektur] Problem #275397905 Highlevel des Absturzes im Android Emulator M1, wenn der Cursorfokus wiederholt in den Emulator und aus dem Emulator bewegt wird.
  • Bekanntes Problem beim AVD-Start: Problem 281725854 Weitere Informationen finden Sie unter Fehlerbehebung für den Emulator.

32.1.12 (21. März 2023)

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

  • [Fehlerkorrektur] Problem #267647323 Netzwerk funktioniert nicht in Emulatoren, die in Android Studio gestartet wurden
  • [Fehlerkorrektur] Problem #268498686 Emulator-Bildschirm flackert
  • [Fehlerkorrektur] Problem #270034824 verschlechterte sich nach der Aktualisierung auf Version 33.1.1 die Leistung des Emulators.
  • [Fehlerkorrektur] Problem #225541819 Starten des Chrome-Absturz-Emulators unter x86_64
  • [Fehlerbehebung] Problem #257097404 Im Emulator wird nach dem Aufwachen des Hosts nicht die richtige Zeit angezeigt
  • Absturzberichte für Apple M1-Geräte hinzufügen

32.1.11 (8. Februar 2023)

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

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

31.3.14 (13. Dezember 2022)

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

  • [Fehlerkorrektur] AVD-Abstürze bei der Anmeldung im Play Store wurden behoben.

31.3.13 (27. Oktober 2022)

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

  • [Fehlerkorrektur] Problem 249948338: Zeitzonenparameter funktioniert nicht
  • [Fehlerbehebung] Problem Nr. 249366543:Die Option „-dns-server“ für den Emulator 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 folgende Verbesserungen und Fehlerkorrekturen:

  • [Fehlerkorrektur] Problem Nr. 247843000: Fehler bei der relativen AVD-Pfadbehandlung
  • 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 folgende Verbesserungen und Fehlerkorrekturen:

  • [Fehlerkorrektur] AVD im eingebetteten Emulator-Fenster stürzt ab
  • [Fehlerkorrektur] Problem #183139207:Audioprobleme im Zusammenhang mit der Aktivierung des Mikrofons durch den Emulator
  • [Fehlerkorrektur] Problem Nr. 229764024:AVD-Fehler mit fixierter Berührung, der zu Problemen mit dem Verhalten der Benutzeroberfläche führt
  • [Fehlerkorrektur] Fehler beim Starten von API 33 AVD auf Mac M1.
  • [Fehlerkorrektur] Problem #243053479: Langsame Netzwerkgeschwindigkeit nach Aktualisierung des Emulators
  • [Fehlerkorrektur] Problem Nr. 244617627: Nicht funktionierender Google Maps-Standort unter Windows und Linux
  • [Fehlerkorrektur] Problem Nr. 232971796: Nicht funktionierende Schaltfläche „Gerät anrufen“ auf der Seite „Erweiterte Steuerelemente“ > „Telefon“
  • Android-Emulator auf minigbm aktualisieren
  • Migration von Build-Skripts zu Python3

31.3.10 (18. August 2022)

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

Der Emulator kann jetzt als eigenständiges Tool heruntergeladen werden. Falls bei dieser aktuellen stabilen Version Probleme oder Abstürze auftreten, melden Sie den Fehler und laden Sie gegebenenfalls eine zuvor funktionsfähige Version aus den Downloadarchiven des Emulators herunter.

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Bessere Unterstützung von Unicode-Pfaden unter Windows
  • Bessere Handhabung des Herunterfahrens des Emulators, sodass ein neuer Start desselben AVD erfolgreich sein könnte.
  • Aktualisiertes Design und Standardeinstellungen für faltbares AVD
  • Aktualisierte Schaltflächen für den Wear-Emulator
  • Verbesserungen beim gRPC-Audiostreaming
  • Emulator-Konsolenbefehl mit anpassbarer Größe hinzugefügt
  • Chrome-Korrektur für API 31
  • [Fehlerkorrektur] Fehler bei der Authentifizierung des Google-Kontos mit GmsCore-Version 21.42.18

31.2.10 (20. April 2022)

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

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Dienstprogramm hinzufügen, um Vulkan-Funktionen mit Fallbacks zu laden
  • [Fehlerkorrektur] gcc8-Build-Fehler beheben

31.2.9 (23. März 2022)

Getestet mit Android Studio Dolphin Canary 7.

Dieses Update enthält folgende Korrektur:

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

31.2.8 (7. Februar 2022)

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

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • [Fehlerkorrektur] Anmeldung in Apps nicht möglich
  • [Fehlerkorrektur] Problem #215368358: "adb-Neustart" stürzt Avd auf der Intel-Plattform mit "vcpu Shutdown-Anfrage" ab

31.2.7 (1. Februar 2022)

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

Dieses Update enthält folgende Korrektur:

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

31.2.6 (20. Januar 2022)

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

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Wear OS-Emulatoren wurden Wear OS-Schaltflächen hinzugefügt.
  • Alle Fahrzeugeigenschaften auf dem Tab „VHAL“ können bearbeitet werden.
  • [Fehlerkorrektur] Google-Konto-Authentifizierung mit GmsCore-Version 21.42.18 fehlgeschlagen.
  • [Fehlerkorrektur] Netshaper funktionierte nicht gut mit VirtioWifi.
  • [Fehlerkorrektur] Der Befehl zur Mauskonsole für Ereignisse hat nicht funktioniert.
  • KVM-Prüfung für lokale AVD-Erstellung hinzugefügt.

31.1.3 (18. Januar 2022)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Konsolenports für Fuchsia wurden aktiviert.
  • Beim Ändern der Größe eines Multi-Display-Fensters wird die Ausrichtung ignoriert.
  • WLAN: Unterstützung für das Herausfiltern von Unicast-Paketen auf der Grundlage der MAT-Mac-Adresse wurde hinzugefügt.
  • WLAN: Das Problem mit dem Absturz bei Verwendung von vmnet wurde behoben.

30.9.5 (15. Dezember 2021)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Neue Funktion zur einfachen Größenanpassung an ein Fenster in der Größe eines Desktops oder Tablets.
  • Multi-Touch-Eingabe über kompatible Hostgeräte wird jetzt unterstützt.
  • VirtioWifi: Unterstützung für Tap-Netzwerk hinzugefügt.
  • Dreheingabe für Wear-System-Images aktiviert.
  • Das Problem mit der gRPC-Audiokonfiguration wurde behoben.
  • Die Wiedergabe des SensorReplay-Emulators wurde aktualisiert, um standardmäßige Android-Sensoren zu unterstützen.
  • Der Emulator wurde per USB-Kabel mit USB-Passthrough mit Peripheriegeräten und Geräten verbunden.

30.4.5 (23. Februar 2021)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • macOS: Probleme mit Verzerrungen der Audioeingabe wurden behoben.
  • Unterstützung für virtio-vsock im Userspace hinzugefügt.
  • Zukünftige System-Images verwenden virtio-console für logcat- und Kernel-Nachrichten.
  • Beschleunigen Sie das Vulkan-Rendering.
  • Zusätzliche Unterstützung für die Snapshot-Fehlerbehebung bei einem Testfehler.
  • virtio-gpu: Definitionen wurden aktualisiert, um die neuesten Blob-Ressourcen-Enums zu unterstützen.
  • Snapshot-Unterstützung für Grafiktransport des Typs "asg" wurde hinzugefügt.
  • macOS: Unterstützung für die Entwicklung mit dem macOS SDK 11.1+ wurde hinzugefügt.
  • KVMclock ist bei neueren System-Images standardmäßig aktiviert.
  • Wear-Emulatoren unterstützen jetzt einen Herzfrequenzsensor.
  • Vulkan-Back-End für die Libportability 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 vorhandener Funktionen und Fehlerkorrekturen.

Faltbare Smartphones mit virtuellem Scharniersensor und 3D-Ansicht

  • Scharniersensoren für faltbare Geräte werden jetzt unterstützt. Dafür sind ein zukünftiges Android 11-System-Image und eine AVD-Konfiguration erforderlich. Parameter für faltbare 3D-Ansicht und Scharnier sind jetzt in die vorhandenen Voreinstellungen für faltbare Smartphones integriert. Folgendes kann beispielsweise mit der config.ini-Datei des faltbaren AVDs 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
    
  • Faltbare Geräte verfügen jetzt auch über einen Untertypparameter. Das config.ini-Attribut hw.sensor.hinge.sub_type = hinge/fold ist jetzt verfügbar. Weitere Informationen finden Sie im Blogpost Mit dem Android-Emulator für Android 11 entwickeln.

  • Scharniersensor ist jetzt standardmäßig aktiviert.

  • Wenn ein faltbares Gerät konfiguriert ist, sendet der Emulator jetzt Updates für Scharnierwinkelsensoren und Änderungen am Sicherheitsstatus an den Gast. Bei vorhandenen faltbaren Geräten werden der Winkel und die Position des Scharniersensors jetzt aktualisiert, wenn die Schaltflächen zum Aus- und Einklappen der Symbolleiste gedrückt werden.

Emulator für ARM64-Hosts

  • Der Linux-Emulator-Quellcode unterstützt jetzt die Cross-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 (Host-Rendering für Swiftshader Arm64) unterstützt. Es kann aber auch ein kompatibler Satz von libEGL-/libGLESv2-Host-GPU-Bibliotheken verwendet werden. Dazu müssen Sie lib64/gles_swiftshader durch diese Bibliotheken ersetzen und dann mit -gpu swiftshader_indirect neu starten. Möglicherweise funktionieren auch Snapshots nicht. Fügen Sie -no-snapshot in die Befehlszeile ein. Anleitung:

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

Virtio-GPU-Unterstützung

  • Zusätzliche Unterstützung auf der Hostseite für zukünftige kohärente Blob-Ressourcen vom virtio-gpu-Host.
  • Aufgrund der Funktionsweise des Emulator-Renderings verarbeiten wir jetzt virtio-gpu virtqueue im vcpu-Thread (da das Rendering ohnehin auf andere Threads übertragen 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. (Das sollte auch unter Linux und macOS bereits funktionieren.)
  • WebRTC-Bibliotheken wurden auf M83 aktualisiert.
  • Der Emulator unterstützt jetzt das Audiostreaming in Containern über WebRTC.
  • Darwinn-Pipe-Endpunkt wurde entfernt.
  • Die CUDA VPx-Decodierung für Videos ist jetzt über die Umgebungsvariable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 verfügbar, sofern die CUDA VPx-Decodierung auf der Hardware verfügbar ist.
  • Unter macOS sind SSE 4.1 und 4.2 jetzt im Android-Gastmodus verfügbar.
  • Unter macOS ist INVTSC jetzt standardmäßig aktiviert. Dies kann die Genauigkeit der Zeitmessungen der Gäste verbessern.
  • Wir verfolgen nun, welches erweiterte Steuerfeld vom Nutzer in den Messwerten ausgewählt wurde.
  • Der Linux-Emulator verwendet jetzt die KVM-paravirtualisierte Uhr, wenn die Gast-Kernel-Version >= 5.4 ist (R-System-Images oder höher).
  • Der Emulator verwendet jetzt LZ4 zur Dekomprimierung von Gastkernel. Dadurch ist er mit der modernen Kernel-Pipeline kompatibel.
  • Es wurden Konsolenbefehle hinzugefügt, um das AVD-Verzeichnis des Emulators, den Discovery-Dateipfad im in Studio eingebetteten Anwendungsfall und den Pfad zu Snapshots abzurufen:

    adb emu avd path # Obtains path to AVD directory
    adb emu avd discoverypath # Obtains path to discovery file
    adb emu avd snapshotspath # Obtains path to snapshots folder
    adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
    
  • Wir haben unter Erweiterte Steuerelemente > Einstellungen eine Option zum Ausblenden des Geräterahmens für das aktuelle AVD hinzugefügt, um das Einsparen des vertikalen Bildschirmplatzes zu erleichtern. Zum globalen Ausblenden von Geräteframes für alle AVDs steht das Funktions-Flag NoDeviceFrame zur Verfügung, das aktiviert werden kann, indem Sie den Emulator über die Befehlszeile mit dem Frame -feature NoDevice starten. Alternativ können Sie NoDeviceFrame = on zu ~/.android/advancedFeatures.ini hinzufügen (erstellen Sie diese Datei, falls sie noch nicht vorhanden ist).

  • Auf der Mobilfunkseite wurde ein Drop-down-Element zum Aktivieren und Deaktivieren der Messung der Messung hinzugefügt. Dies ist eine No-Operation für ältere System-Images, die die Ein/Aus-Schaltfläche zum 5G-Messverfahren nicht unterstützen.

    • Zusätzlicher Konsolenbefehl für denselben Zweck: gsm meter on|off
  • Toolchain / Build auf C++17 aktualisiert.

Fehlerkorrekturen: eingebetteter Emulator

  • Die Zwischenablage sollte jetzt funktionieren.
  • Ein Problem wurde behoben, durch das Großbuchstaben im Emulator als Kleinbuchstaben übergeben wurden.
  • Das Laden des Konsolentokens aus einem Unicode-Pfad in Windows wurde behoben.
  • SO_REUSEPORT-Fehlermeldung unter Linux wurde behoben.
  • Ein Problem mit Snapshot-Beschädigung beim Senden von Snapshot-Befehlen über gRPC sowie beim Klicken auf die Schaltfläche zum Speichern von Snapshots im eingebetteten Android Studio-Emulator wurde behoben.
  • Wenn Sie den in Studio eingebetteten Linux-Emulator verwenden, haben wir festgestellt, dass bei 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 Erkennungsdateien des Emulators in XDG_RUNTIME_DIR platziert werden. Den Status des entsprechenden Problems finden Sie in der Problemverfolgung in Chrome.

    Als Behelfslösung greift der Emulator jetzt auf Erkennungsdateien zurück, die sich möglicherweise in einem anderen Verzeichnis befinden, das auf der Nutzer-UID basiert: /run/user/&lt;uid>.

  • Eingebetteter Emulator: Geräte mit abgerundeten Ecken/Einkerbungen ändern jetzt ihr Layout korrekt, um Platz für die Ecken und Einkerbungen zu schaffen. Dies erfordert einen Kaltstart dieser Emulatoren.

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

Allgemeine Fehlerkorrekturen

  • Beim Ausführen des Windows-Emulators mit aktiviertem Riot Vanguard sind Kompatibilitätsprobleme aufgetreten. Der Windows-Emulator erkennt nun Vanguard Anti-Cheat und zeigt eine Warnmeldung an, wenn Vanguard erkannt wird.
  • FD_SETSIZE Fehler unter Windows wurde behoben. Zum Herstellen von nicht blockierenden Verbindungen zu Loopback-Servern verwenden wir jetzt WSAEventSelect() anstelle von select().
  • Unterstützung der F16C-CPUID-Funktion für den Linux-Emulator wurde hinzugefügt, um Probleme bei der Ausführung einiger ARM64-Anwendungen über NDK-Übersetzung zu beheben. macOS/Windows läuft.
  • Die gpx/kml-Routenwiedergabe wurde korrigiert, um Zeitstempeln zu folgen.
  • Das hüpfende Symbol bei der Einführung von macOS wurde behoben.
  • Wenn hw.audioInput=no und hw.audioOutput=no in config.ini sind, ist der Emulator-Audio jetzt ordnungsgemäß deaktiviert.
  • Folgendes Problem wurde behoben: Wenn das Emulatorfenster minimiert war, während das erweiterte Steuerfenster geöffnet, aber nicht aktiv war, wurde das Fenster der erweiterten Steuerelemente weiterhin angezeigt, wenn die Größe des Emulatorfensters geändert wurde. Das Verhalten (der Fall mit einem aktiven erweiterten Einstellungsfenster) wird mit einem zukünftigen Update vollständig entfernt.
  • Es wurde ein instabiler Fehler behoben, bei dem beim Start des Emulators keine WLAN-Verbindung hergestellt wurde.
  • Das Problem beim Aufhängen bei Beendigung, wenn der Emulator Shell-Befehle mit langen oder unbefristeten Zeitüberschreitungen ausgibt, wurde behoben.
  • PC-Bios wurden mit Fehlerkorrekturen aktualisiert, um große Bilder, die an -initrd übergeben werden, besser zu unterstützen. Im vorherigen BIOS wurde eine sehr ineffiziente Methode verwendet.
  • Der Absturz während der Beendigung bei Verwendung der Option -wifi-server-port wurde behoben.
  • Der Emulator gibt jetzt eine Warnung aus, wenn nicht unterstützte Optionen an -prop übergeben werden. Es werden nur qemu.*-Eigenschaften unterstützt.
  • Wenn Sie den Emulator unter Windows erstellen, sollte die Wahrscheinlichkeit geringer sein, dass beim Schreiben in Dateien unzuverlässige Fehler auftreten. Weitere Informationen finden Sie in der Build-Anleitung unter Windows.
  • Die Zoom-Schaltfläche für faltbare AVDs wurde deaktiviert, was zu Problemen führte.
  • Der Emulator meldet die Startzeit, die durch einen Geräteneustart verursacht wird, jetzt korrekt.
  • Linux: Bei unzureichenden KVM-Berechtigungen druckt der Emulator jetzt die Anweisungen zur Fehlerbehebung schneller aus.
  • Ein Problem wurde behoben, durch das der Emulator aktuelle System-Images nicht ohne Beschleunigung starten konnte.
  • Speicherbeschädigung oder Absturz beim Start über einen Detektor zum abgeschlossenen Bootmodus wurde behoben.
  • Ein Speicherleck bei langen Bildschirmaufzeichnungen wurde behoben.
  • Aktualisierung der Emulator-Symbole an das Branding von Studio 4.1.
  • Die Erkennung von Remote-Sitzungen unter Windows wurde verbessert.

Fehlerkorrekturen: Grafik- und Video-Decodierung

  • Das neueste Spiel von Asphalt 9 wurde mit einem schwarzen Bildschirm gerendert. Dieses Problem wurde behoben.
  • Spam bezüglich Leeren des zugeordneten Zwischenspeichers mit NULL wurde entfernt.
  • Es wurde eine Race-Bedingung behoben, die beim Beenden des Vulkan-Status beim Beenden einer Gast-Vulkan-App aufgetreten ist.
  • Vulkan ASTC/ETC2-Emulations-Shader sind jetzt in die Bibliothek libOpenglRender integriert. Dies ist zuverlässiger als das Lesen aus dem Dateisystem.
  • In Vulkan wurde ein Problem behoben, bei dem vkGetImageMemoryRequirements2KHR bei der Ausführung mit einer Vulkan 1.0-Instanz auf dem Host das zurückgegebene Feld pNext der Struktur VkMemoryRequirements2 fälschlicherweise gelöscht hat.
  • Ein Speicherleck im Vulkan-Renderer wurde behoben.
  • Eine kürzlich aufgetretene Regression, bei der GLSL ES 1.00-Shader mit Variablennamen wie isampler2D nicht kompiliert wurden, wurde behoben.
  • Der ANGLE-Shader-Übersetzer wurde mit verschiedenen Fehlerkorrekturen aktualisiert, die mögliche Fehler beim Kompilieren von Shadern unter Linux beheben.
  • Wir bringen jetzt den Emulator zum Absturz, wenn der grundlegende Framebuffer-Blit-Shader nicht kompiliert werden kann, um dieses Phänomen zu verfolgen.
  • ANGLE-Shader-Übersetzer wurde aktualisiert, um mit dem vorgelagerten ANGLE Schritt zu halten. Dadurch wurde ein Problem mit Speicherbeschädigungen behoben, wenn OpenGL ES-Shader übersetzt und konstant falten, die nicht quadratische Matrizen verwendeten. Der Shader-Übersetzer ist jetzt eine separate gemeinsam genutzte Bibliothek, libshadertranslator.dll.
  • Es wurde ein Problem bei der Vulkan-Initialisierung auf einigen GPU-Treibern behoben, bei dem bestimmte 1.1-Gerätefunktionen nicht gefunden wurden.
  • Vulkan: Wir verwenden wieder den vordefinierten Loader, da die Bevorzugung des Vulkan-Loaders des Systems bei einigen Konfigurationen zu Problemen geführt hat. Wir arbeiten an einer besseren Lösung.
  • Es wurde ein Problem bei der Verwendung von externem Vulkan-Speicher behoben, bei dem möglicherweise nicht übereinstimmende Arbeitsspeichertyp-Indizes auf dem Host importiert wurden.
  • Es wurde ein Problem in der Emulation von GL_ALIASED_POINT_SIZE_RANGE behoben, bei dem die Aufzählung auf dem Host nicht unterstützt wurde.
  • Ein Problem wurde behoben, bei dem Skia-Shader auf einigen Host-GPUs aufgrund von Fehlern im Zusammenhang mit GL_EXT_shader_framebuffer_fetch nicht kompiliert wurden.
  • Da unsere Kopie des D3D9 ANGLE-Renderers vor ein paar Versionen entfernt wurde, werden Nutzer, die diesen Renderer verwendet haben, jetzt automatisch zu d3d11 ANGLE gewechselt, wenn diese Option in den Einstellungen der Benutzeroberfläche ausgewählt wurde.
  • Zur WGL-Initialisierung unter Windows wurden weitere Debug-Informationen hinzugefügt, um Fehler zu verfolgen.
  • Bei hw.gltransport=virtio-gpu-pipe wird die Leistung dadurch verbessert, dass der Host bei Übertragungen vom Host zum Gast nicht gestartet wird.
  • Zusätzliche Debugging-Protokollierung für den Fall, dass die OpenGLES-Emulation nicht initialisiert werden kann, wurde hinzugefügt.
  • Das Problem, dass YouTube-Videos beim Laden von Snapshots flimmerten oder nicht angezeigt wurden, wurde behoben.
  • Wir sind vorerst zur Software-Decodierung für libvpx zurückgekehrt, da wir Probleme mit der CUDA-Hardware-Decodierung von libvpx festgestellt haben. Wenn Sie auf der Hostseite eine unterstützte CUDA-Hardware-Decodierungsimplementierung haben, kann die Hardware-Decodierung von libvpx über die Umgebungsvariable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 wieder aktiviert werden.

30.0.10 (30. April 2020)

Dieses Update umfasst die Unterstützung für die direkte Ausführung des Emulators in Android Studio und virtuellen Geräten mit standardmäßig aktiviertem Freiform-Fenster-Modus.

Emulator in Android Studio ausführen

Der Android-Emulator kann jetzt direkt in Android Studio ausgeführt werden. Verwenden Sie diese Funktion, um Platz auf dem Bildschirm zu sparen, mit Hotkeys schnell zwischen dem Emulator und dem Editorfenster zu wechseln und Ihren IDE- und Emulator-Workflow in einem einzigen Anwendungsfenster zu organisieren.

Freiform-Fenstermodus

Sie können jetzt ein AVD mit aktiviertem Freiform-Fenstermodus erstellen.Wählen Sie dazu beim Erstellen eines virtuellen Geräts in Android Studio das 13,5"-Freeform-Hardwareprofil für Tablets aus. Für dieses Hardwareprofil ist ein Systemimage mit Android 11-Entwicklervorschau 3 oder höher erforderlich.

Bekannte Probleme

Das Ändern der Größe von Fenstern mit freiem Format ist derzeit aufgrund von Problemen bei der Übertragung des Fokus auf den Fenstermanager unterbrochen. Dies wird in einer zukünftigen Version des System-Images von Android 11 behoben.

30.0.0 (19. Februar 2020)

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

Android 11-Systemimages

Du kannst jetzt ein AVD erstellen, auf dem Android 11 ausgeführt wird. Wähle dazu eines der verfügbaren System-Images für API-Level 30 aus:

  • x86: Umfasst sowohl x86- als auch ARMv7-ABIs.
  • x86_64: Umfasst x86-, x86_64-, ARMv7- und ARM64-ABIs.

Unterstützung von ARM-Binärprogrammen in System-Images von Android 9 und 11

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

Bekannte Probleme

  • Einige ARMv7-Binärdateien funktionieren nicht auf System-Images von Android 11 x86 und x86_64. Erwägen Sie die Entwicklung für ARM64, wenn Sie eine Ausrichtung auf Android 11 vornehmen.

29.0.11 (29. Mai 2019)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Windows: Der Emulator verwendet jetzt die von uns versendete libgcc-DLL und muss nicht statisch mit libgcc kompiliert werden.
  • Linux: Logcat-Unterstützung für die gRPC API wurde hinzugefügt. Weitere Informationen zu gRPC finden Sie unter gRPC-Streamingemulator (Linux).
  • Der Emulator enthält jetzt einen monitorlosen Build für 32-Bit-x86-Gäste (qemu-system-i386). Durch diese Funktion können x86-32-Bit-Images für API-Level 26 und niedriger mit dem monitorlosen Build ausgeführt werden. Beachten Sie, dass der Emulator für 32-Bit-x86-Gäste mit API 27 und höher die 64-Bit-Engine (qemu-system-x86_64) verwendet, da in diesen System-Images der Userspace 32-Bit und der Kernel 64-Bit ist. Android Studio verwendet den Kernel, um Emulationsmodule auszuwählen.
  • Sie können jetzt benutzerdefinierte Qt-Bibliothekspfade mithilfe der Umgebungsvariablen ANDROID_QT_LIB_PATH angeben.
  • Sie können den Emulator jetzt mit früheren Binärdateien ausführen, die QEMU1 verwenden, wenn die ausführbaren QEMU1-Dateien (emulator[64]-[x86|arm|etc]) im Emulatorverzeichnis abgelegt sind.
  • Windows: Es wurde ein Problem behoben, das dazu führen konnte, dass der Emulator nicht mit der Meldung „Anfrage zum Herunterfahren von vCPUs“ startete.
  • Es wurde ein Problem mit einer unnötigen Pipelinebarriere in emulierten komprimierten Texturen in Vulkan behoben.
  • Es wurde ein Fehler behoben, der bei HTTP-Proxy-Anfragen auftrat, wenn die aufgeteilte Übertragungscodierung verwendet wurde. Weitere Informationen finden Sie in den Commit-Details.

29.0.9 (7. Mai 2019)

Dieses Update enthält folgende Korrektur:

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

29.0.8 (6. Mai 2019)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Mehrere virtuelle Hardware-Displays werden jetzt unterstützt, wenn es einen Gastdienst gibt, um jede Anzeige aufzulisten und festzulegen. Ein zukünftiges Emulator-System-Image-Update umfasst mehrere virtuelle Hardware-Displays.
  • Neue Befehlszeilenoption hinzugefügt: -delay-adb. Mit dieser Option wird die Verarbeitung von ADB-Paketen unterdrückt, bis der Gast den Startvorgang abgeschlossen hat (aus einem Kaltstart). Mit dieser Option können Sie Probleme beheben, die auftreten können, wenn Sie den Emulator in einer CI-Umgebung verwenden, die den Emulator neu startet und DDMS gleichzeitig verwendet.
  • Ein Fehler wurde behoben, der beim Laden von Snapshots aufgetreten ist und bei dem glIsRenderbuffer den falschen Wert zurückgibt.
  • Einige Probleme mit einem veralteten Status beim Neustart des Android-Gasts wurden behoben.
  • Windows: Es wurden Probleme behoben, die verhinderten, dass der Emulator gestartet wurde, wenn der Windows-Nutzername Nicht-ASCII-Zeichen oder Leerzeichen enthielt.

Bekannte Probleme

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

29.0.6 (1. Mai 2019)

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

Unterstützung für QEMU1 und 32-Bit-Windows wird eingestellt

Zur besseren Wartung des Emulators liefern wir keine QEMU1- und 32-Bit-Windows-Binärprogramme mehr. Wenn Sie Windows 32-Bit verwenden, können Sie kein Upgrade auf Version 29.0.6 durchführen.

Anforderungen an Android Q-Systemabbilder

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

Verbesserungen an Project Marble

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

Bei diesem Update zielten die meisten unserer Bemühungen auf Project Marble darauf ab, die Nutzung der Emulator-Ressourcen zu reduzieren, indem beispielsweise die CPU-Nutzung des Emulators bei Inaktivität reduziert wird. Wir haben auch Änderungen vorgenommen, die die Arbeit mit dem Emulator in einer größeren Vielfalt von Umgebungen erleichtern. Außerdem sind wir auf allgemeine Qualitätsprobleme eingegangen.

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

Verbesserungen am Audioverhalten des Hosts

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

Wenn Sie die Audiodaten des Hosts verwenden möchten, können Sie diese Option aktivieren. Rufen Sie dazu Erweiterte Steuerelemente > Mikrofon auf und aktivieren Sie Virtuelles Mikrofon verwendet Host-Audioeingabe. Diese Option wird bei jedem Neustart des Emulators automatisch deaktiviert.

Wenn Sie die Befehlszeile verwenden, können Sie Host-Audio auch mit der Option -allow-host-audio aktivieren und die folgenden ADB-Befehle verwenden, um Host-Audiodaten zu aktivieren bzw. zu deaktivieren:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

Verbesserungen bei monitorlosen Emulator-Builds

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

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

Aktualisierung der Qt-UI-Bibliotheken auf Version 5.12 LTS

Dieses Update enthält die folgenden Verbesserungen gegenüber der Version von Qt 5.12 mit LTS-Unterstützung:

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

Automatische CPU-Optimierungen nach Kaltstart

Zur Adressierung der CPU-Auslastung führt der Emulator jetzt die folgenden ADB-Befehle bei einem Kaltstart aus, nachdem er ein boot complete-Signal empfangen hat:

adb shell settings put screen_off_timeout 214783647
Dieser Befehl erhöht das Zeitlimit für das Ausschalten des Bildschirms, sodass der Emulator ohne Aufladen im Akkumodus verwendet werden kann. Im Akkumodus wird die Hintergrund-CPU-Nutzung erheblich reduziert.
Im AC-Lademodus können GMSCore-Hintergrundvorgänge wie App-Updates alle CPU-Kerne – und damit auch das Gerät des Nutzers – ohne Warnung übernehmen.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
Mit diesem Befehl werden die Mikrofonberechtigungen für die Google Suche App widerrufen. Dadurch wird die CPU-Nutzung im Hintergrund auf dem Startbildschirm und im Launcher, wenn die Google Suche App aktiv ist, deutlich reduziert.
Dieser Befehl wird zusätzlich zum Standardverhalten des Emulators, nämlich der Deaktivierung von Host-Audio, für den Host ausgeführt. Darüber hinaus wird damit automatisch die ab Version 28.0.23 für die Hotword-Erkennung beschriebene Reduzierung der CPU-Auslastung bereitgestellt.

Neue Umgebungsvariablen für die Leistungsüberwachung

Sie können jetzt zwei neue Umgebungsvariablen verwenden, um eine detaillierte Überwachung der Leistung und der Ressourcennutzung des Emulators zu ermöglichen.

SHOW_PERF_STATS=1
Diese Umgebungsvariable ermöglicht das Tracking der CPU- und RAM-Nutzung. Beim Tracking der RAM-Nutzung wird zwischen der Grafiknutzung und dem gesamten residenten Arbeitsspeicher unterschieden.
ANDROID_EMU_TRACING=1
Diese Umgebungsvariable ermöglicht die Ausgabe jedes Mal, wenn eine Eingabe- oder Grafikoperation lange Zeit in Anspruch nimmt (mehr als 1 ms).
Wir verwenden diese Umgebungsvariable auch, um Probleme zu diagnostizieren, die bei Windows-Nutzern mit mehr Verzögerung (abgefallenen Frames) als unter macOS oder Linux aufgetreten sind.

Allgemeine Verbesserungen am Projekt Marble

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

  • Sie können jetzt mit den folgenden Konsolenbefehlen alle vCPUs im Emulator sofort anhalten:
    • adb emu avd pause
    • adb emu avd resume
  • Der Aufwand beim OpenGL-Zeichnen wurde erheblich reduziert. Diese Verbesserung reduziert die CPU-Auslastung, während der Emulator Animationen abspielt.
  • Die Unterstützung für das virtuelle Netzwerkgerät e1000 von QEMU wurde wiederhergestellt. Sie können dieses Gerät verwenden, um den Emulator in einer Bridge-Netzwerkumgebung einzurichten. In einer Brücken-Netzwerkumgebung wird der Emulator im Hostnetzwerk und das Hostnetzwerk im Emulator angezeigt.
  • Zum Starten des Emulators werden jetzt die für QEMU 2.12 geeigneten BIOS-Binärdateien verwendet.
  • Die ffmpeg-Version wurde für die Videocodierung und -decodierung auf Version 3.4.5 aktualisiert.
  • Der Aufwand für die E/A der QEMU-Hauptschleife konnte unter macOS erheblich reduziert werden, indem die auf select() basierende Hauptschleife durch eine auf kqueue basierende Hauptschleife ersetzt wurde.
  • Die Größe des Logcat-Zwischenspeichers wurde auf 2 MB erhöht, um Probleme mit unzuverlässigen unerwarteten EOFs beim Ausführen von Logcat mit dem Emulator zu beheben.
  • Der Emulator exportiert jetzt standardmäßig die Umgebungsvariable LC_ALL=C. Mit dieser Änderung werden Abstürze und Inkompatibilitätsprobleme behoben, die mit der Ausführung des Emulators in verschiedenen Sprachen verbunden sind.
  • Sie können jetzt die CPU- und RAM-Nutzung des Emulators mithilfe von Leistungsstatistiken verfolgen. Diese können unter Erweiterte Steuerelemente > Einstellungen > Erweitert > Leistungsstatistiken aufgerufen werden. Verwenden Sie diese Statistiken, um schnell Probleme zu diagnostizieren, wenn der Emulator zu viel CPU oder RAM verwendet.
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE verwendet jetzt das Ergebnis der Host-GPU anstelle eines emulierten Ergebnisses. Durch diese Änderung werden Probleme behoben, bei denen Bilder und Assets aufgrund eines falschen Formats für das Zurücklesen nicht angezeigt werden.
  • Die OpenGL ES-Erweiterungen GL_EXT_texture_format_BGRA8888 und GL_APPLE_texture_format_BGRA8888, falls diese Erweiterungen vom Host unterstützt werden, werden jetzt unterstützt.
  • Der Fehlerbericht-Benutzeroberfläche wurden weitere Diagnoseinformationen hinzugefügt. Außerdem können Sie über die Konsole mit folgenden Befehlen auf Fehlerbericht zugreifen:
    • telnet localhost 5554
    • avd bugreport
  • In Android Q-System-Images erhöht der Emulator die RAM-Mindestgröße auf 2 GB.
  • Zusätzliches Logging und Drucken für den Fall, dass OpenGL oder der Hypervisor nicht initialisiert werden können, wurden hinzugefügt.
  • Wenn der Emulator nicht gleichzeitig eine -read-only-Instanz einer AVD starten kann, versucht der Emulator jetzt, die AVD -read-only dreimal innerhalb von 3 Sekunden neu zu starten. Diese Änderung erhöht die Wahrscheinlichkeit, dass der Emulator gleichzeitige -read-only-Instanzen und AVD starten kann, wenn andere beschreibbare Instanzen dieses AVD nicht mit dem Bereinigen veralteter Dateien fertig sind.
  • Bei künftigen System-Images unterstützt der Emulator jetzt Hardware Composer 2.0. Durch diese Änderung sollte der Treiber-Overhead beim Ausführen der meisten Animationen reduziert werden.
  • Der Emulator-Build basiert jetzt auf CMake/Ninja.
  • Auf der Benutzeroberfläche des Emulators für erweiterte Steuerelemente wurden die Trennlinien in der Tabelle mit den Tastenkombinationen wiederhergestellt.
  • Nutzer können jetzt zustimmen, dass unser Team Messwerte zur CPU- und RAM-Nutzung in einem Intervall von 10 Sekunden bereitstellt. Wir verwenden diese Messwerte, um unsere Daten zur Emulator-Ressourcennutzung mit anderen Anwendungsfällen unserer Nutzer anzureichern. Dadurch können wir den Emulator effizienter und reaktionsschneller gestalten.

Allgemeine Fehlerbehebungen für Project Marble

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

  • Probleme mit Zucken und falsche Frames, die auf Systemen mit Intel-GPUs angezeigt wurden, wenn Android Q-System-Images verwendet wurden, wurden behoben.
  • Es wurden Probleme behoben, bei denen bei Verwendung von Android Q-Systembildern mit Pixel 2 XL-Skins (oder Skins mit Einkerbungen oder abgerundeten Ecken) ein schwarzer Bildschirm angezeigt wurde.
  • Die Größe der Datenpartition wurde mit der Befehlszeilenoption -partition-size nicht festgelegt. Dieses Problem wurde behoben.
  • Es wurde ein Problem behoben, bei dem pulseaudio im Linx-Emulator in einigen Situationen einen ganzen CPU-Kern verbraucht hat.
  • Das Problem mit dem außerhalb des gültigen Speicherzugriffs bei der Verarbeitung komprimierter Texturen wurde behoben.
  • Es wurden GL-Fehler behoben, die auf dem Host in glTexSubImage2D beim Aktualisieren bestimmter gralloc-Zwischenspeicher (im Format RGB 565, RGB10A2, RGB(A)16F) aufgetreten sind.
  • Es wurde ein Anzeigeproblem in Android Q-Systembildern mit Momentaufnahmen behoben, bei denen die Geometrie der Benachrichtigungsleiste mit einer falschen Einstellung für den Instanzdivisor gerendert wurde.
  • Einige schwer zu reproduzierende Absturz- und Einfrierensprobleme beim Start wurden behoben, die aufgrund von verlorenen Qt-Signalen oder unzuverlässigen, inkonsistenten Status beim Start aufgetreten sind.
  • Zahlreiche Probleme mit der Nebenläufigkeit wurden behoben. Wir können jetzt den Linux-Emulator mit ThreadSanitizer (TSAN) erstellen. Damit lassen sich Fehler aufdecken, die ansonsten schwer zu reproduzieren sind.
  • Für Linux-Nutzer: Wir haben festgestellt, dass der Android-Gastkernel bei bestimmten Hostkernelen in der KVM mit einem generischen Hardwarefehler ausfallen und beendet werden kann. Der Emulator führt in diesem Fall jetzt den Befehl abort() aus, um die Fehlersuche zu erleichtern (bisher wurde der Emulator nur angehalten).
  • Für Linux-Nutzer: Der Einfachheit halber können Sie mit der neuen -stdouterr-file <file-name>-Befehlszeilenoption sowohl stdout als auch stderr an eine Datei weiterleiten.
  • SO_REUSEADDR wurde nicht richtig verwendet. Weitere Informationen finden Sie in den Commit-Details.
  • Es wurde ein langjähriges Problem mit dem Windows-Emulator behoben, bei dem Unterprozesse wie ADB-Befehle nicht gestartet wurden, wenn der Nutzername Leerzeichen enthielt.
  • Ein Problem mit fehlender Initialisierung der RCU in HAXM-vCPU-Threads wurde behoben. Diese Fehlerkorrektur kann möglicherweise einige Abstürze und Race-Bedingungen beheben.
  • Ein Absturz wurde behoben, der bei bestimmten Mustern beim Speichern und Laden von Snapshots aus der Snapshot-Benutzeroberfläche unter Verwendung neuer Android Q-System-Images auftrat.
  • Es wurde ein Problem behoben, bei dem die virtuelle Szenenkamera leer war, wenn der Emulator aus einem Snapshot initialisiert wurde, wenn ein AR-Makro beim Speichern dieses Snapshots abgespielt wurde.
  • Bei einigen Nutzern mit Remote Desktop-Einrichtungen wurde beim Starten des Emulators unter Linux ein schwarzer Bildschirm angezeigt. Dieses Problem wurde behoben. Um dies zu vermeiden, konfiguriert der Emulator jetzt explizit MESA_RGB_VISUAL. Weitere Informationen finden Sie in den Commit-Details.
  • Ein Problem wurde behoben, bei dem die Schaltflächen zum Drehen auf TV-AVDs angezeigt wurden.
  • Es wurde ein Problem behoben, bei dem das Fenster der erweiterten Steuerelemente jedes Mal angezeigt wurde, wenn der Emulator immer im Vordergrund war, wenn der Emulator gedreht wurde.

Hardwareprofile für faltbare Geräte

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

Es gibt zwei Profile für faltbare Hardware, mit denen Sie ein AVD erstellen können:

  • 7,3" faltbar: 1536 x 2152 aufgeklappt, 4,6" 840 x 1960 (geklappt)
  • 8" faltbar: 2200 x 2480 aufgeklappt, 6,6" 1480 x 2480 geklappt

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

  • Fold: Ctrl + F (Command + F unter macOS)
  • Aufklappen: Ctrl + U (Command + U unter macOS)

AR-Makros

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

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

Vulkan-Unterstützung (Windows, Linux)

Windows- und Linux-Nutzer können 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 (dazu gehören die meisten Intel-, NVIDIA- und AMD-GPUs ab 2014).

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

  • Vulkan = on
  • GLDirectMem = on

Erste Unterstützung für ROM-Entwickler

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

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

Unter Linux können Sie dies mit den folgenden Befehlen 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 über die Erweiterung GL_EXT_memory_objects auch die Interoperabilität mit OpenGL ohne Kopieren. Der Emulator nutzt diese Fähigkeit, um eine vollständige Möglichkeit zum Rendern der Android-UI mithilfe der Skia Vulkan APIs bereitzustellen.

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

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 Swiftshader, MoltenVK und die Libportability APIs (gfx-rs). Sie können mit diesen APIs experimentieren, 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 dem Gast manchmal nicht den kohärenten Vulkan-Speicher zuordnen und fährt den Emulator herunter. Dies wird in einem kommenden HAXM-Update behandelt.

gRPC-Streamingemulator (Linux)

Wir versuchen immer, den Emulator so vielseitig wie möglich zu machen, indem wir Host-GPU-Rendering und Interaktivität in den unterschiedlichsten Ausführungskontexten ermöglichen. Bei CI- und Remote Desktop-Nutzern treten seit Langem folgende Probleme auf:

  • Wenn Sie Eingabebefehle programmgesteuert an den Emulator senden möchten, müssen Sie entweder ADB-Shell-Befehle ausführen, die einen hohen Overhead verursachen können, oder die Verwendung der Telnet-Konsole. Dies ist schneller, funktioniert aber möglicherweise nicht mit bestimmten Netzwerkkonfigurationen.
  • CI-Nutzer führen Emulatoren häufig monitorlos aus, was das Erkennen von Problemen erschwert, die einen sichtbaren oder interaktiven Bildschirm erfordern.
  • Nutzer von Remote Desktops können oft nicht mit dem Emulator interagieren, wenn sie Host-GPU-Rendering verwenden, da das GPU-Rendering oft an die nicht virtuellen Bildschirme des Hosts gebunden ist.

Um dieses Problem zu beheben, stellt der Emulator bei der Ausführung auf einem Linux-Computer jetzt einen gRPC-Dienst bereit. gRPC ist ein allgemeines Framework für RPC, das über HTTP arbeitet.

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

-grpc <port>

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

  • Eingabebefehle können mit geringem Aufwand über HTTP an den Emulator gesendet werden. HTTP ermöglicht außerdem das Senden von Befehlen in zusätzlichen Netzwerkkonfigurationen.
  • Screenshot-Befehle können gesendet werden, um den aktuellen Bildschirm abzufragen, auch wenn der Emulator monitorlos ausgeführt wird. Zur Interaktivität können auch Eingabeereignisse an den Emulator zurückgesendet werden.
  • Nutzer von Remote Desktop können den Emulator monitorlos auf dem Hauptbildschirm mit GPU-beschleunigtem Rendering ausführen, während sie gRPC verwenden, um Screenshots zu erhalten und Eingabeereignisse zu senden, um mit dem Emulator zu interagieren.

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

Um Ihnen den Einstieg in gRPC zu erleichtern, haben wir einige Beispielclients bereitgestellt, auf die Sie sich beziehen können.

Dazu gehören derzeit die folgenden Beispiele:

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

28.0.25 (29. März 2019)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

Monitorloser Emulator-Build

Die Einrichtung des Emulators mit Docker und anderen Workflows für die kontinuierliche Integration (Continuous Integration, CI) war schwierig, da das System implizite Erwartungen an die Unterstützung von Qt und seinen Abhängigkeiten der gemeinsam genutzten Bibliothek (unter anderem) hat.

Als ersten Schritt zur Behebung dieses Problems haben wir eine Variante des Emulator-Starters mit ausführbaren QEMU-Dateien eingeführt, die nicht von Qt. Unter Linux gibt es noch einen Link zu libX11, wir hoffen aber, diesen bald auch entfernen zu können.

Wenn Sie den monitorlosen Emulator verwenden möchten, führen Sie ihn wie gewohnt über die Befehlszeile aus, ersetzen Sie dabei aber den binären Aufruf des Emulators durch emulator-headless. Weitere Informationen finden Sie im Release-Update für 28.1.8 Canary.

  • Das Zucken und die falsche Frame-Anzeige auf Intel-GPUs beim Ausführen von Android Q-Systemabbildern wurden behoben.
  • Ein Problem wurde behoben, durch das bei Verwendung von Android Q-Systembildern mit Pixel 2 XL-Skins ein schwarzer Bildschirm angezeigt wurde.
  • Zum Starten des Emulators werden jetzt die neuesten BIOS-Binärdateien verwendet. Durch diese Änderung können Fehler vom Typ „Anfrage zum Herunterfahren von vCPUs“ reduziert werden, die manchmal beim Starten des Emulators unter Windows auftreten können.
  • Eine Fehlerbehebung für das Problem „Falsche Anzeige beim Fortsetzen von Android Q-System-Images aus einem Snapshot“ wurde rückportiert.
  • Nutzer hatten aufgrund einer inkompatiblen ADB-Änderung in Plattform-Tools 28.0.2 Probleme mit nicht autorisierten Emulatoren. Ab sofort können Sie ADB ab Version 28.0.2 der Plattformtools mit dem Emulator sicher verwenden. Wenn Probleme mit „nicht autorisierten“ Emulatoren auftreten, führen Sie die folgenden Schritte zur Fehlerbehebung aus:
    1. Beenden Sie alle Emulatoren.
    2. Löschen Sie die Dateien ~/.android/adbkey und ~/.android/adbkey.pub.
    3. Führen Sie den folgenden Befehl aus: adb kill-server
    4. Führen Sie den folgenden 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 folgende Verbesserungen und Fehlerkorrekturen:

Host-Audioeingabe standardmäßig deaktiviert

In einem aktuellen Beitrag auf Reddit wurde beschrieben, wie das Android-Gastbetriebssystem immer den Audioinhalt des Hostmikrofons verwendet und so die unerwartete Funktionsweise von "Ok Google" ermöglicht. Das tut uns leid. Zusammen mit dem Android-Team wird dafür gesorgt, dass die Hotword-Erkennung im System-Image deaktiviert ist.

Um dieses Problem zu beheben, haben wir folgende Änderungen vorgenommen:

  • Die tatsächlichen Host-Audiodaten werden jetzt standardmäßig gelockert. Wenn der Gast das Mikrofon verwendet, wird die Stille statt des Audios des Hosts übertragen.
  • Wenn Sie die Hostaudiodaten verwenden möchten, können Sie diese Option jetzt aktivieren. Rufen Sie dazu Erweiterte Steuerelemente > Mikrofon auf und aktivieren Sie Virtuelles Mikrofon verwendet Host-Audioeingabe. Diese Option wird bei jedem Neustart des Emulators automatisch deaktiviert.

Updates zu Untersuchungen der CPU-Nutzung

Während unserer Project Marble-Untersuchungen haben wir festgestellt, dass eine hohe CPU-Auslastung im Emulator im Allgemeinen in die folgenden drei Kategorien fällt:

Bei Inaktivität: Automatische App-Updates in Play Store-Bildern

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

Bei Inaktivität: Hotword-Erkennung

Wenn sich auf dem Startbildschirm keine App im Vordergrund befindet, kann die CPU-Auslastung sehr hoch ausfallen (~25% mit Spitzen bis 50%). Dies wird durch die Hotword-Erkennung verursacht, die den Host ständig anpingt. Sie können dieses Problem nicht beheben, indem Sie die Host-Audioeingabe deaktivieren, da die CPU-Kosten in erster Linie durch die Zeit verursacht werden, die die Übertragung vom Host zum Gast benötigt. Sie können dieses Problem jedoch mindern, indem Sie der Google App die Mikrofonberechtigungen entziehen.

Während aktiv, manchmal bei Inaktivität: Animationen

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

28.0.22 (21. Dezember 2018)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Es wurde ein langjähriges Problem behoben, bei dem der Mac-Emulator beim Speichern im Quickboot-Modus neu startete oder der Kernel neu startete. (Problem 120951634)
  • Wenn Sie eine zugeordnete Datei als RAM-Snapshot verwenden, hebt der Emulator die Dateizuordnung jetzt beim Beenden explizit auf.

28.0.20 (11. Dezember 2018)

Dieses Update enthält folgende Verbesserungen und Fehlerkorrekturen:

  • Es wurde ein Problem unter Windows behoben, das dazu führte, dass der Emulator bei bestimmten Modellen von Intel-GPUs beim Laden von Snapshots einfror.
  • Es wurde ein Problem behoben, bei dem bei Verwendung eines nicht standardmäßigen ANDROID_SDK_HOME-Standorts der ADB-Gerätestatus unauthorized verursacht wurde.
  • Es wurde ein Problem unter Windows behoben, das zum Absturz des Emulators führte, wenn System-Images mit deaktivierter CPU-Beschleunigung gestartet wurden.
  • Das verpixelte Anzeigeproblem im Emulator 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 für virtuelle Szenen aufgrund einer Interaktion mit neuen Sicherheitseinstellungen für Bedienungshilfen zu empfindlich werden konnte.
  • Ein Fehler bei der Berechnung der Zeitzone wurde behoben, der dazu führen konnte, dass sich die Uhr des Emulators sporadisch änderte.
  • Renderingfehler in verschiedenen Cocos2d- und Unreal-Engine-Anwendungen wurden behoben.
  • Im Emulator wird jetzt WLAN-Peer-to-Peer unterstützt. Zwei Emulatoren können jetzt direkt über WLAN miteinander kommunizieren, wenn sie das neueste Pie Play Store-Image verwenden. Wenn Sie WLAN-Peer-to-Peer verwenden möchten, starten Sie zwei AVDs mit denselben Argumenten für -wifi-server-port und -wifi-client-port:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Unterstützung für mehr Webcams unter Windows wurde hinzugefügt, indem nicht kompatible Frame-Größen berücksichtigt werden und deren Größe dynamisch an die Kameraeinstellung im Android-Gastmodus angepasst wird.

28.0.16 (November 2018)

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

Ressourcennutzung

Der Emulator verwendet jetzt insgesamt weniger RAM, insbesondere wenn System-Images mit API-Level 28 oder höher verwendet werden. Diese System-Images beinhalten eine verbesserte Arbeitsspeichernutzung für Gast-Grafiktreiber.

Darüber hinaus haben wir die Ressourcennutzung in den folgenden Bereichen verbessert:

  • Reduzierte Arbeitsspeichernutzung des Emulators bei lang andauernden Tests. Wenn während lang andauernden Tests weiterhin Probleme mit der Arbeitsspeichernutzung auftreten, erstellen Sie im Issue Tracker ein Problem, das Ihren Anwendungsfall beschreibt.
  • Geringere CPU-Auslastung beim Ausführen von Apps mit Animationen.
  • Es wurde ein Problem behoben, bei dem der QEMU AIO-Kontext unter Windows ein Speicherleck verursachte.

Mehrere Instanzen eines einzelnen AVD gleichzeitig ausführen

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

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

Diese Funktion wird durch Kopieren der QCOW2-Dateien ermöglicht, die mit den beschreibbaren Teilen des Android-Images verknüpft sind. Um Sie bei der Speicherplatzverwaltung zu unterstützen, haben wir auch das qemu-img-Befehlszeilentool gebündelt, damit Sie vor dem Start mehrerer Instanzen einen Commit für QCOW2-Dateien durchführen können.

Wenn mehrere AVD-Instanzen in Verbindung mit der Funktion Dateigestützter Gast-RAM-Snapshot verwendet werden, teilen sie den primären AVD-Quickboot-Snapshot als gemeinsame Quelle des Gast-RAM, bei dem beim Kopieren und Schreiben ein Schreibvorgang ausgeführt wird. Dieses Attribut bedeutet, dass die Instanzen einen Großteil ihres RAM gemeinsam nutzen. Verwenden Sie diese Funktion, um Tests durchzuführen, bei denen 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. In der Problemverfolgung können Sie Probleme erstellen oder hochwählen.

Dateigestützte Gast-RAM-Snapshots

Durch die Vorabzuweisung und Zuordnung des Gast-RAM als Datei kann der Emulator jetzt Quickboot-Snapshots während der Laufzeit speichern, anstatt beim Beenden die gesamte Arbeit zu erledigen. Wenn Sie beim Schließen der Emulatoren lange Speicherzeiten haben, aktivieren Sie diese Funktion, um die Leistung von Quickboot zu verbessern. Standardmäßig wird beim Beenden ein Quickboot-Snapshot gespeichert und jedes Mal neu geladen, z. B. beim Anhalten oder Aktivieren eines echten Geräts.

Da der Android-Gast-RAM jetzt standardmäßig automatisch gespeichert wird, müssen Sie den Emulator anweisen, die Änderungen nach jeder Sitzung zu verwerfen, wenn Sie einen Gerätestatus definieren und wiederholt aus diesem Status laden möchten. Dazu haben Sie folgende Möglichkeiten:

  • Verwenden Sie das Flag -no-snapshot-save oder -read-only, wenn Sie den Emulator über die Befehlszeile starten.
  • Rufen Sie Erweiterte Steuerelemente > Snapshots > Einstellungen auf und setzen Sie Aktuellen Status automatisch in Quickboot speichern? auf Nein.
  • Nach Auswahl dieser Option müssen Sie den Emulator neu starten. Wenn für den Emulator die automatische Speicherung festgelegt ist, können Sie den folgenden Befehl ausführen, um einen Prüfpunkt festzulegen:
    adb emu avd snapshot remap 0
    
    Nachdem Sie diesen Befehl ausgeführt haben, bleibt der Quickboot-Snapshot des Emulators bei diesem Prüfpunkt. Führen Sie denselben Befehl noch einmal aus, um den Emulator vom Prüfpunkt aus zu laden.

Snapshots, die über die Snapshot-UI aufgenommen und geladen werden, funktionieren wie zuvor, ohne Dateizuordnung.

Da dies eine erhebliche Änderung an der Funktionsweise von Quickboot darstellt, würden wir uns sehr über Feedback freuen, ob dadurch die Quickboot-Leistung verbessert wird und welche Probleme bei der Verwendung auftreten. Falls Probleme auftreten, können Sie diese Funktion deaktivieren. Fügen Sie dazu der Datei ~/.android/advancedFeatures.ini die folgende Zeile hinzu:

QuickbootFileBacked = off

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

QEMU 2.12

Wir haben unsere QEMU-Variante von QEMU 2.9 auf QEMU 2.12 umgestellt. Diese Aktualisierung umfasst die folgenden QEMU-Änderungen:

Im Folgenden sind einige der wichtigsten Änderungen aufgeführt, die sich auf den Android-Emulator auswirken:

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

Bedienungshilfen

  • Probleme mit Screenreadern wurden behoben und die Unterstützung für diese Tools in der Bildschirmaufzeichnungs- und Snapshot-Benutzeroberfläche wurde verbessert.
  • Die Quick Boot-Benachrichtigungssymbole wurden für farbenblinde Nutzer zugänglicher gemacht.

Grafik

  • Es wurde ein Problem mit dem Speicherzugriff außerhalb des Grenzwerts behoben, das bei OpenGL ES-Vertex-Array-Zeigern auftreten konnte.
  • Einige ältere GPUs unterstützten 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 bei der Standard-GPU-Einstellung unbrauchbar ist. Der Emulator wechselt jetzt automatisch zum Swiftshader-Renderer, wenn er erkennt, dass diese GPUs verwendet werden.
  • Es wurde ein Problem behoben, bei dem der Emulator nicht den richtigen Framebuffer postete, wenn FBO != 0 zum Zeitpunkt von eglSwapBuffers gebunden war.
  • Ein Problem wurde behoben, durch das die virtuelle Android-Anzeige nur in der oberen linken Ecke angezeigt wurde. Wir glauben, dass dies auf falsch konfigurierte Qt-Umgebungsvariablen zurückzuführen ist. Der Emulator überschreibt jetzt alle Umgebungsvariablen mit der Qt-Skalierung.
  • Ein Problem wurde behoben, bei dem der Emulator beim Laden von GLES1-Anwendungen aus einem Snapshot in einigen Situationen abgestürzt ist.
  • Nebenläufigkeitsprobleme in OpenGL und dem Starten von Renderingthreads wurden behoben, die zu doppelten Freischaltungen oder beschädigten Daten führen konnten.
  • Der Android-Emulator unterstützt jetzt die Unterstützung komprimierter ASTC-LDR-Texturen (GL_KHR_texture_compression_astc_ldr) für System-Images, die API-Level 28 oder höher verwenden.
  • Die meisten modernen GPUs sollten jetzt den Emulator mit OpenGL ES 3.x starten können, ohne das Funktions-Flag GLESDynamicVersion zu verwenden.
  • -gpu guest (Software-Rendering im Gastmodus) wurde eingestellt. Systemimages für API-Level 28 oder höher werden jetzt automatisch auf Swiftshader umgestellt (-gpu swiftshader_indirect).
  • Wird der Emulator über die Befehlszeile mit dem Flag -no-window gestartet, ist der Standard-Renderer Swiftshader.

Standort

  • Der Emulator kann jetzt die Peilung zusammen mit der Breiten- und Längengradposition aktualisieren. Der virtuelle Magnetometer-Sensor passt sich dynamisch an den magnetischen Norden an, indem er bei der Wiedergabe einer GPX- oder KML-Datei Bewegungen ableitet.
  • Die Gerätegeschwindigkeit kann jetzt auf der Seite „Standort“ festgelegt werden.
  • Bei der Wiedergabe einer GPX- oder KML-Datei wird die Geschwindigkeit automatisch eingestellt und auf null gesetzt, wenn die Wiedergabe beendet ist.
  • Die Höhe ist nicht mehr auf -1.000 bis +10.000 Meter beschränkt.
  • Es wurde ein Problem behoben, bei dem der virtuelle GPS-Standort nur dann regelmäßig aktualisiert wurde, wenn das Fenster für die erweiterte Steuerung mindestens einmal geöffnet wurde.

Kamera

Unter Windows werden jetzt mehr Webcams unterstützt, da der Emulator die Größe der von der Webcam gelieferten Kameraframes dynamisch anpasst. Diese Funktion verhindert auch, dass Fehler bei der Framebereitstellung dazu führen, dass der Emulator hängen bleibt.

Play Store

Um Probleme mit unzureichendem Speicherplatz auf Play Store-Images zu beheben, passt der Emulator die Nutzerdatenpartition jetzt automatisch auf 6 GB an, wenn er mit einer neuen Play Store-AVD ausgeführt wird.

Allgemeine Qualitätsverbesserungen und Fehlerbehebungen

  • Einige Nutzer haben gemeldet, dass der Emulator langsam ausgeführt wird. Wir haben eine mögliche Ursache dafür identifiziert, dass im temporären Verzeichnis für den Emulator zu viele veraltete Dateien enthalten sind. Als Behelfslösung speichert der Emulator keine Dateien für die ADB-Aktivitätsprüfung 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 unzureichenden kostenlosem RAM nicht gestartet werden kann, wird eine Fehlermeldung angezeigt. Wenn Sie Windows verwenden und feststellen, dass kein RAM kostenlos ist, Sie den Emulator aber trotzdem nicht starten können, wurde möglicherweise die Commit-Gebühr überschritten. Informationen zu diesem Problem finden Sie auf der Seite Fehlerbehebung für den Emulator.
  • Die Befehlszeilenoption -sysdir überschreibt jetzt das abgeleitete System-Image-Verzeichnis.
  • Das virtuelle Modem unterstützt jetzt die +MAI-Abfrage der Modellaktivitätsinformationen.
  • Verschiedene Probleme mit Speicherlecks, Speicherbeschädigungen und CPU-Auslastung wurden behoben. Wenn es zu Abstürzen, Speicherlecks oder einer anderen hohen Ressourcennutzung kommt, erstellen Sie bitte im Issue Tracker ein Problem.
  • Ein Problem, das unter macOS 10.14 wieder auftrat, wurde behoben, bei dem die Audiowiedergabe durch die Verwendung von Bluetooth-Headsets mit dem Emulator global beeinträchtigt wurde. Um dies zu verhindern, vermeidet der Emulator die Verwendung von Bluetooth-Audio bei Ausführung unter macOS. (Problem 37070892)
  • Es wurde ein Problem unter Windows behoben, bei dem die Uhr des Emulators nicht in der richtigen Zeitzone stand.
  • Die Langsamkeit des Emulators wurde behoben. Zudem bleibt das Problem bei Linux-Systemen mit rotierenden Festplatten (HDDs) hängen.
  • Einige Kompilierungswarnungen, die unter macOS zu Stackbeschädigungen führen konnten, wurden behoben.
  • Es wurden Probleme behoben, die zu irreführenden Meldungen über das Aufhängen führen konnten.
  • Es wurde ein Problem beim Löschen von Threadpools behoben, das zu einem Absturz führen konnte, wenn einer der Threads nicht erfolgreich erstellt wurde.
  • Es wurde ein Problem unter macOS behoben, bei dem Timer unzuverlässig wurden, was zu Abstürzen und anderem merkwürdigem Verhalten führte. Wenn der Emulator unter macOS aufhängt, erstellen Sie im Issue Tracker ein Problem.
  • Ein Problem wurde behoben, bei dem durch das Schließen des Emulators die Benutzeroberfläche deaktiviert, der Emulator aber nicht geschlossen wurde.
  • Es wurden Probleme mit sporadischen Abstürzen behoben, darunter ein Abbruch aufgrund des Öffnens zu vieler Instanzen von /dev/urandom.
  • Es wurde ein Problem behoben, durch das der Emulator nach der ersten erzwungenen Beendigung von ADB nicht gestartet wurde.
  • Der MIPS-Build wurde entfernt. Wenn Sie weiterhin MIPS benötigen, erstellen Sie ein Problem in der Problemverfolgung.
  • Es wurde ein Problem behoben, bei dem ADB-Verbindungen beim Laden von Snapshots beschädigt wurden.
  • Es wurde ein Problem behoben, bei dem im Emulatorfenster ein Nachbild oder ein Teleport vom Bildschirm entfernt wurde, wenn ein Snapshot fortgesetzt wird, wenn die Geräteausrichtung von der Standardausrichtung des AVDs abweicht.
  • Probleme mit Abstürzen beim Speichern von Snapshots wurden behoben.
  • Unter Linux können btrfs-Dateisysteme zu extremen Verlangsamungen führen, da der Emulator Snapshots automatisch speichert und Copy-on-Write für seine virtuellen Laufwerkgeräte verwendet. Wir empfehlen, das Verzeichnis ~/.android/avd zu bereinigen und den folgenden Befehl für das leere Verzeichnis ~/.android/avd auszuführen:
    chattr +C
    
    . Dadurch werden neue Snapshots in einem Ordner erstellt, in dem die Funktion „Kopieren bei Schreiben“ deaktiviert ist.

HAXM 7.3.2

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

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

  • Zufällige Abstürze von Gastbetriebssystemen mit neuer Linux-Kernel-Version (ab Version 4.6) wurden behoben. Beispiel: Ubuntu 18.04 (#39, #74).
  • Ein Fehler im x86-Anweisungsemulator wurde behoben, der zu einem Hostabsturz führen konnte (#93).

Einstellung der 32-Bit-Windows

Aufgrund der geringen Nutzung und der hohen Wartungskosten planen wir, die unter Windows ausgeführte 32-Bit-Version des Android-Emulators einzustellen. Für die 32-Bit-Version des Android-Emulators werden wir einen Umstellungsplan für die 32-Bit-Version des Android-Emulators einführen. Wir freuen uns aber über Feedback und Anregungen zu dieser zukünftigen Änderung.

Bitte teilen Sie uns über den Issue Tracker mit, ob Sie derzeit die 32-Bit-Version des Android-Emulators unter Windows verwenden, und teilen Sie uns mit, wie wir in Zukunft am besten mit Ihnen zusammenarbeiten können.

27.3.10 (August 2018)

Dieses Update enthält folgende Fehlerkorrektur:

Konfigurationskorrektur für die RAM-Größe

Einige Nutzer haben gemeldet, dass der Emulator langsam ausgeführt wird. Wir haben eine mögliche Ursache dafür gefunden, dass die AVD-RAM-Größe in der Datei config.ini der AVD falsch festgelegt war.

Um dies zu vermeiden, erhöht der Emulator die Mindest-RAM-Ebene für Images mit API-Level 26 oder höher auf die Android Studio-Standardebene von 1.536 MB. Wenn in der AVD-Datei config.ini nicht der Wert hw.ramSize in Megabyte angegeben ist, erstellen Sie im Issue Tracker ein Problem. Sie finden die Datei config.ini unter folgendem Pfad:

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

27.3.9 (Juli 2018)

Dieses Update enthält die folgenden Verbesserungen und Fehlerkorrekturen:

Verbesserte Fehlermeldungen für die Windows-Hypervisor-Plattform

Einige Nutzer hatten Schwierigkeiten, herauszufinden, warum die Windows-Hypervisor-Plattform (WHPX) nicht initialisiert werden konnte, als sie einen WHPX-Emulator aktiviert haben. Um Ihnen bei der Diagnose dieser Probleme zu helfen, haben wir informativere 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, die beim Laden eines Schnappschusses in der Kamera-App aufgetreten sind, wurden behoben.

27.3.8 (Juli 2018)

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

Snapshots

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

Ab Android Studio 3.2 Canary 13 enthält jede Gerätekonfiguration in den erweiterten Einstellungen des Dialogfelds „Virtuelle Gerätekonfiguration“ 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, der sich zuvor im Bereich Einstellungen befand.

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 umfasst Fehlerbehebungen und eine verbesserte Unterstützung für große Arbeitsspeichermengen. Mit diesem HAXM-Update und Emulator 27.3 und höher laden Snapshots außerdem ihren Inhalt bei Bedarf in den RAM, anstatt den gesamten Snapshot beim Start des virtuellen Geräts zu laden. Durch diese Änderung sollte sich die Zeit, die zum Laden eines Snapshots benötigt wird, erheblich verkürzen.

Weitere Informationen finden Sie unter VM-Beschleunigung konfigurieren.

27.2.9 (Mai 2018)

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

Bildschirmaufzeichnung

Sie können jetzt Video- und Audioinhalte über den Android-Emulator aufzeichnen und die Aufzeichnung in einer WebM- oder animierten GIF-Datei speichern.

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

Tipp: Sie können die Steuerelemente für die Bildschirmaufzeichnung auch durch Drücken von Strg + Umschalttaste + R (Befehlstaste + Umschalttaste + R auf einem Mac) öffnen.

Klicken Sie auf dem Tab Bildschirmaufzeichnung auf die Schaltfläche Aufzeichnung starten, um mit der Bildschirmaufzeichnung zu beginnen. Klicken Sie auf Aufzeichnung beenden, um die Aufzeichnung zu beenden.

Die Steuerelemente zum Abspielen und Speichern der Videoaufzeichnung finden Sie unten auf dem Tab Bildschirmaufzeichnung. Wählen Sie zum Speichern des Videos unten auf dem Tab im Menü 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.

Virtuelle Szenenkamera und ARCore

Mit der neuen Virtual-Szene-Kamera ist das Entwickeln und Testen von Augmented-Reality-Apps (AR) mit ARCore jetzt noch einfacher. Sie können damit in einer virtuellen Umgebung mit AR-Funktionen experimentieren.

Informationen zur Verwendung der virtuellen Szenenkamera im Emulator finden Sie unter AR-Apps im Android-Emulator ausführen.

Bilder vom Google Play Store auf Pixel

Der Google Play Store ist jetzt für Bilder von Pixel- und Pixel 2-Geräten aktiviert. Dies wird in Android Studio 3.2 und höher im AVD Manager durch das Google Play-Logo in der Spalte Play Store angezeigt. AVDs, bei denen der Google Play Store aktiviert ist, 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 Quick Boot-Snapshot laden, ohne den Emulator neu zu starten. Öffnen Sie zum Laden eines Snapshots das Fenster Erweiterte Steuerelemente, rufen Sie die Seite Einstellungen auf und klicken Sie auf die Schaltfläche Jetzt laden.

Wir haben viele Verbesserungen beim Laden und Speichern von Snapshots vorgenommen, um die Effizienz der Ressourcennutzung zu verbessern und die Zeit für jeden Vorgang zu minimieren. Wenn weiterhin ungewöhnlich lange Speichervorgänge auftreten, melden Sie ein Problem und geben Sie dabei Details zu CPU, RAM und den Einstellungen aller aktiven Antiviren-, Firewall- oder Sicherheitssoftware an.

Rendering mit Skia

Wenn Sie Images für API 27 oder höher verwenden, kann der Emulator die Android-Benutzeroberfläche mit Skia rendern, wodurch das Rendering reibungsloser und effizienter wird.

Momentan können Sie Skia nur verwenden, wenn Sie es explizit aktivieren.

Verwenden Sie zum Aktivieren des Skia-Renderings die folgenden Befehle in der ADB-Shell:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

Kamera

Unter Windows verwendet Android Emulator Media Foundation als Webcam-Back-End, was die Leistung und die Framerate für Webcam-Aufnahmen erheblich verbessert (bis zu 720p und 30 fps).

Auf einem Mac können Sie jetzt Webcam0 und Webcam1 zusammen verwenden.

Sonstiges

Die Befehlszeilenoption -phone-number-prefix wurde in -phone-number [number] geändert. Damit kann die vollständige Telefonnummer angegeben 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 wird.
  • Mehrere Ursachen für Abstürze und Aufhänger wurden behoben.
  • Um Abstürze und Verzögerungen zu vermeiden, die durch zu wenig freien Speicherplatz verursacht werden, prüft der Emulator jetzt beim Start, ob genügend freier Speicherplatz vorhanden ist. Er startet nur, wenn mindestens 2 GB freier Speicherplatz verfügbar sind.
  • Einige Unity-Spiele konnten nicht gerendert werden. Dieses Problem wurde behoben.
  • Ein DNS-Problem wurde behoben, bei dem der Emulator keine Verbindung zum Netzwerk herstellen konnte.
  • Es wurde ein Problem behoben, durch das Änderungen am internen Speicher, der einer AVD über das Dialogfeld zur Konfiguration virtueller Geräte zugewiesen war, nicht funktionierten.
  • Ein Problem wurde behoben, bei dem viele ADB-Prozesse erstellt und nicht ordnungsgemäß heruntergefahren wurden.
  • Es wurde ein Problem behoben, bei dem die Schaltflächen zum Drehen und andere Teile der Benutzeroberfläche nur dann reagierten, wenn das Fenster für erweiterte Steuerelemente geöffnet war.
  • Es wurde ein Problem behoben, bei dem das Kopieren und Einfügen vom Host nur funktionierte, wenn das Dialogfeld „Erweiterte Steuerelemente“ mindestens einmal geöffnet wurde.
  • Das Rechteck zur Größenanpassung des Emulators ohne Rahmen wurde aktualisiert, um dem visuellen Design des Emulators besser zu entsprechen.
  • Telefon und SMS sind jetzt ordnungsgemäß deaktiviert, wenn der Flugmodus aktiviert ist.
  • Es wurde ein Problem behoben, durch das die SMS- und Mobilfunkfunktion nach dem Laden eines Snapshots deaktiviert wurde.
  • Du erhältst keine falschen Warnmeldungen mehr: “Unable to open... \pstore.bin. Permission denied.”
  • Auf einigen Mac-Bildschirmen konnte das AVD nicht neu positioniert werden. Dieses Problem wurde behoben.
  • Probleme mit Flimmern und leeren Bildschirmen auf neueren MacBook Pro-Computern beim Ausführen von AVDs mit Pixel 2 XL-Skins wurden behoben.
  • Es wurden Probleme mit leeren Bildschirmen behoben, die auftrat, wenn in den Zoommodus gewechselt wurde, während ein bildloser Emulator aktiv war.
  • Es wurde ein Problem behoben, durch das der Inhalt des Geräte-Skins und des Emulators beim Heranzoomen nicht synchron gescrollt wurde.

Wenn weiterhin App-Abstürze oder andere Instabilitäten auftreten, melden Sie ein Problem.

27.1.12 (März 2018)

Dieses Update enthält Fehlerkorrekturen für folgende Probleme:

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

Wenn weiterhin App-Abstürze oder andere Instabilitäten auftreten, melden Sie ein Problem.

Mit diesem Update, einem aktuellen System-Image und einer Vorabversion von Android Studio können Sie den Android-Emulator verwenden, um mit ARCore erstellte Augmented-Reality-Apps auszuführen. Ausführliche Anforderungen und Anleitungen finden Sie unter AR-Apps im Android-Emulator ausführen.

27.1.10 (Februar 2018)

  • Auflösung der Kameraaufnahme

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

    Damit eine Webcam mit Android 8.1 (API-Level 27) und höheren System-Images funktioniert, muss sie 720p-Frames erfassen können.

  • Fehlerkorrekturen

    • Bei der Webcam-Aufnahme wurde manchmal ein verzerrtes oder rein grünes Bild ausgegeben. Dieses Problem wurde behoben.
    • Es wurde ein Problem behoben, durch das die folgende Meldung auch dann angezeigt wurde, wenn es nicht tatsächlich aufgehängt war: „emulator: ERROR: erfasst einen hängenden Thread 'Qt-Ereignisschleife'. Keine Antwort für 15.000 ms“.

Wenn weiterhin App-Abstürze oder andere Instabilitäten auftreten, melden Sie ein Problem.

27.1.7 (Februar 2018)

  • Rahmenloses Emulator-Fenster:

    Standardmäßig werden Emulatoren mit Geräte-Skin-Dateien jetzt ohne einen umgebenden Fensterrahmen angezeigt. Wenn der umgebende Window Frame angezeigt werden soll, aktiviere Fensterrahmen um das Gerät anzeigen im Bereich „Einstellungen“ des Fensters Erweiterte Steuerelemente.

  • Verbesserungen beim schnellen Start, 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 reduziert in vielen Fällen die Zeit zum Speichern eines Snapshots, da nur die Differenz zwischen dem aktuellen Status und dem zuvor gespeicherten Snapshot gespeichert wird.

    Weitere Informationen finden Sie in der Dokumentation zu Quick Boot.

  • Der Emulator wurde für die Verwendung von QEMU 2.9 aktualisiert.

    Hier einige der wichtigsten Verbesserungen:

    • Optimierte E/A und detailliertere E/A-Threadsperren für höhere Leistung.
    • Fehlerkorrekturen seit QEMU 2.8 (26.1.4).
    • Neue Implementierung des HAXM-Back-Ends.

    Eine vollständige Liste der Änderungen finden Sie im Änderungsprotokoll von 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 Abschnitt Einstellungen > Erweitert.

  • Fehlerkorrekturen

    • Die Freigabe der Zwischenablage funktionierte nur, wenn die Option Freigabe der Zwischenablage aktivieren deaktiviert und aktiviert wurde. Dieses Problem wurde behoben.
    • Es wurde ein Problem behoben, das bei der Verwendung des Rendering-Back-Ends Swiftshader mit AVDs mit niedriger Auflösung auftrat.

27.0.5 (Januar 2018)

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

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

  • Bei Umschalttaste + B wurde kein großes B-Zeichen eingegeben.

27.0.2 (Dezember 2017)

  • Die neue Quick Boot-Funktion bietet schnellere Startzeiten des Emulators, die auf einem Snapshot Ihrer AVD-Instanz basieren.

    Quick Boot ist standardmäßig für alle AVDs aktiviert. Obwohl Sie ein AVD zum ersten Mal starten, muss es einen Kaltstart durchführen (wie beim Einschalten eines Geräts). Alle nachfolgenden Starts sind jedoch schnell und das System wird in den Zustand zurückgesetzt, in dem Sie den Emulator geschlossen haben (ähnlich wie beim Aktivieren 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. Sie können hier eine der folgenden Einstellungen für Save Quick Boot State on Exit auswählen:

    • Ja: Speichern Sie immer einen Quick Boot-Snapshot, wenn Sie den Emulator schließen. Das ist die Standardeinstellung.
    • Nein: Es wird kein Quick Boot-Snapshot gespeichert. Führen Sie immer einen Kaltstart durch.
    • Fragen: Geben Sie beim Schließen des Emulators an, ob ein Snapshot für den Schnellstart gespeichert werden soll.

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

    Weitere Informationen finden Sie in der Quick Boot-Dokumentation.

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

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

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

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

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

  • Diverse andere Fehlerkorrekturen.

26.1.4 (August 2017)

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

  • Startanimation bei Ausführung auf dem ANGLE-Renderer aktivieren
  • GLES3 bei Ausführung mit dem ANGLE-Renderer deaktivieren

26.1.3 (August 2017)

Dies ist eine Nebenversion mit Fehlerkorrekturen, Leistungsverbesserungen und geringfügigen Funktionsänderungen.

  • Diese Version ist jetzt erforderlich, um die aktuellen System-Images von Android 8.0 zu verwenden. Sie sind Höhen-kompatibel und bieten separate vendor.img-Partitionen.
  • HAXM 6.2.0 ist jetzt verfügbar (siehe SDK Manager) und enthält die folgenden Updates:
    • Verbesserte Arbeitsspeichernutzung. Der von HAXM angepinnte Spitzenarbeitsspeicher entspricht nicht mehr der Größe des RAM des AVD. Stattdessen wird der Arbeitsspeicher bei Bedarf aufgerufen. Dies sollte dazu beitragen, dass der Emulator auf Maschinen mit weniger RAM zuverlässiger läuft.
    • Der Emulator mit HAXM 6.2.0 kann jetzt unter macOS schneller starten, wodurch eine langwierige Initialisierungsphase übersprungen wird.
  • Verbesserungen an der GPU-Konfiguration
    • Es wurden Probleme mit schwarzem Bildschirm beim Starten behoben, die beim Ausführen des gastseitigen Software-Renderings durch den Rückgriff auf das hostseitige Software-Rendering mit Swiftshader aufgetreten sind. Die neuesten Versionen der System-Images für die API-Level 19 bis 25 mit Google APIs sollten ein funktionsfähiges Gast-Rendering haben.
    • Es wurde ein Problem behoben, bei dem der Emulator aufgrund älterer Intel-GPUs auf einen Software-Renderer umgestellt wurde, der Emulator aber tatsächlich auf einer diskreten GPU ausgeführt wurde. Welche GPUs auf ANGLE- oder Swiftshader-Rendering umgestellt werden, wird so festgelegt:
      • Bei älteren Intel-iGPUs treten bei OpenGL- und ANGLE D3D-Treibern Treiberprobleme auf. Nutzer mit Intel HD Graphics 3xxx und älter verwenden Swiftshader.
      • Einige Nutzer meldeten, dass Bilder des API-Levels 25 nicht verwendet werden konnten, da der Fehler „Pixel Launcher hält immer wieder anhält“. Dies scheint ein Treiberproblem bei einigen Intel HD 4xxx-Modellen zu sein. Sie werden also automatisch auf ANGLE umgestellt.
    • Für optimale Ergebnisse bei der GPU-Emulation empfehlen wir die Verwendung einer eigenständigen NVIDIA- oder AMD-GPU oder einer neueren Intel GPU (Iris, HD 5xxx, HD 5xx/6xx).
    • Es wurde ein Problem behoben, bei dem der Emulator nicht gestartet wurde (OpenGL-Emulation konnte nicht initialisiert werden), wenn das AVD mit hw.gpu.mode=host konfiguriert und der Emulator in einem Remote-Desktop-Client gestartet wurde.
    • Die Einstellungen für „OpenGL ES API-Ebene (Neustart erforderlich)“ wurden klarer formuliert. Es wurde eine Option zum Downgrade von OpenGL ES 3 auf OpenGL ES 2 hinzugefügt, wenn Probleme auftreten oder auf niedrigeren OpenGL ES API-Levels getestet werden müssen.
    • Der Mesa-Renderer wurde eingestellt. hw.gpu.mode=mesa wird jetzt automatisch auf Swiftshader auf dem Host umgestellt.
  • Verbesserungen für macOS:
    • Der Emulator ist jetzt vollständig kompatibel mit macOS 10.13 High Sierra, entweder über Hypervisor.Framework oder HAXM 6.2.0.
    • Hypervisor.framework ist jetzt unter macOS standardmäßig für 32-Bit-x86-Images aktiviert, um die Leistung und macOS-Kompatibilität zu verbessern. Falls speziell damit Probleme auftreten, reiche einen Fehlerbericht ein und füge HVF = off an ~/.android/advancedFeatures.ini an (erstellen Sie diese Datei, falls sie noch nicht vorhanden ist).
    • Es wurden Probleme behoben, bei denen kein Internet vorhanden war und der Debugger bei Verwendung von Hypervisor.framework nicht angehängt werden konnte.
    • Um die Kompatibilität und Leistung der Webcam-Aufnahmen zu verbessern, wurde die QTKit-basierte Kameraaufnahme durch eine auf AVFoundation basierende zwischengespeicherte ersetzt.
  • WLAN-Unterstützung in einigen System-Images hinzugefügt (derzeit nur API-Level 25). Ein Zugangspunkt namens „AndroidWifi“ ist verfügbar und Android stellt automatisch eine Verbindung zu ihm her. 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-System-Images mit fester Größe nicht genügend Speicherplatz haben. Daher haben wir die Größe standardmäßig auf 2 GB erhöht (bis zu 800 MB).
  • Die Tastenkombination Strg + Umschalttaste + U wurde hinzugefügt, um die Seite mit der Benutzeroberfläche für Fehlerberichte direkt über die Einstellungsseite zu öffnen.
  • Es wurde ein Problem behoben, bei dem der Emulator nicht gestartet wurde, wenn eine ältere CPU mit Intel x86 EPT, aber ohne UG verwendet wurde, wenn mehr als ein Kern konfiguriert war.
  • Es wurde ein Problem behoben, bei dem HyperV nicht ordnungsgemäß erkannt wurde, wenn der Emulator selbst in einem Xen-Hypervisor ausgeführt wurde.
  • Der Emulator stürzte beim Start in einigen Linux-Konfigurationen ab. Dieses Problem wurde behoben.

26.1.2 (Juli 2017)

Diese Version enthält neue Funktionen und Leistungsverbesserungen.

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

  • VNC-Unterstützung für GPU im Gastmodus wurde hinzugefügt, sodass der Emulator aus der Ferne angesehen und gesteuert werden kann. Sie können beispielsweise den Emulator starten und Port 5901 von VNC so überwachen lassen:

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

      • Zur Verwendung des integrierten Mac-Client für die Bildschirmfreigabe ist beim Starten des Emulators ein VNC-Passwort erforderlich. Verwenden Sie den folgenden Befehl, um ein Passwort festzulegen:

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

        Geben Sie in der Konsole change vnc password und ein Passwort ein.

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

  • Der Hilfebildschirm für erweiterte Steuerelemente wurde die Schaltfläche Programmfehler melden hinzugefügt. Klicken Sie 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 wie den Screenshot, die AVD-Konfigurationsinformationen und ein Fehlerberichtsprotokoll ansehen können. Sie können den Bericht dann für sich selbst speichern oder Probleme mit dem Emulator melden.

  • Dem Emulator und dem Bereich mit virtuellen Sensoren wurde ein Gyroskopsensor hinzugefügt. Dafür ist ein Systembild mit Gyroskopunterstützung erforderlich (derzeit API-Level 24 und 25).

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

  • Zusätzliche experimentelle macOS Hypervisor.Framework-Unterstützung für 32-Bit-x86-Images unter macOS 10.10+ über Server-Flags, was die Startzeit und Leistung verbessern sollte.

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

    • Wenn Probleme mit OpenGL ES 3 auftreten, fügen Sie die Zeile GLESDynamicVersion = off in ~/.android/advancedFeatures.ini hinzu.
  • Der Emulator verwendet jetzt für das gesamte Rendering mit Ausnahme des Renderings von der endgültigen Anzeige von Bildern, die bei Problemen mit der Farbkonsistenz auf verschiedenen Plattformen Probleme mit der Farbkonsistenz beheben sollten.

  • Nachdem wir Daten zu plötzlichen Verlangsamungen des Emulators erfasst haben, haben wir festgestellt, dass das Problem möglicherweise auf eine Interaktion zwischen älteren Intel OpenGL-Treibern und Windows-Updates zurückzuführen ist. Daher ist das Rendering bei Nutzern mit Intel HD 4000, 3000, 2000 (und zugehörigen 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 es eine Reihe von Leistungsverbesserungen und Fehlerkorrekturen.

Nebenversion 26.0.3 (Mai 2017)

  • Fügt Funktions-Flags für online aktualisierbare Features hinzu, um Probleme aufgrund problematischer Hardwarekonfigurationen schnell zu beheben. Google kann dadurch Fehlerkorrekturen und Funktionen bereitstellen, die von Nutzerkonfigurationen abhängig sind. Dazu werden serverseitige Flags aktualisiert. Wenn Sie Probleme mit bestimmter Hardware feststellen, melden Sie einen Fehler, damit wir sie untersuchen können.
  • Neue Unterstützung für die Dreheingabe für Systembilder des Android Wear API-Levels 25. Klicke im erweiterten Fenster auf den Tab Drehknopf, um den Drehknopf auf einem Wear-Gerät zu emulieren.
  • Die Größe des Dialogfelds „Absturzberichte“ kann jetzt geändert werden. Die Option Wann werden Absturzberichte gesendet? ohne Eingabe wird nicht mehr auf Fragen zurückgesetzt.
  • Für den 32-Bit-Emulator muss jetzt die maximale AVD-RAM-Größe kleiner oder gleich 512 MB sein, damit dem Emulator nicht der Platz im virtuellen 2-GB-Adressbereich ausgeht.
  • Unterstützung für absolute Pfade in Emulator-Images.
  • Fügt dem erweiterten Fenster einen neuen Tab für Google Play Store-Bilder hinzu, auf dem die Version der Play-Dienste und eine Schaltfläche zur Suche nach Updates für die Play-Dienste angezeigt werden.
  • Fügt auf der Seite "Emulator-Einstellungen" ein Dropdown-Menü zur Auswahl des OpenGL-Renderers hinzu. Wenn Sie Probleme mit dem OpenGL-Treiber auf einem Windows-Computer haben, versuchen Sie es mit der Option ANGLE (D3D11) oder ANGLE (D3D9) (erfordert einen Neustart). Wenn auf einem Nicht-Windows-Computer Probleme mit dem OpenGL-Treiber auftreten, kannst du versuchen, den Swiftshader-Software-Renderer zu verwenden (erfordert einen Neustart).
  • Der seltene Absturz beim Beenden, wenn der Emulator sowohl den Befehl exit als auch den Befehl minimize empfängt, wurde behoben.
  • Behebt ein Skalierungsproblem beim Ändern von Bildschirmen auf einem Mac-Computer. (Problem 268296)
  • Behebt ein Problem, bei dem der Emulator 300% der CPU in Anspruch nimmt, nachdem der Hostcomputer aus dem Ruhemodus fortgesetzt wurde oder der Emulator lange Zeit gelaufen ist.
  • Ein Absturz beim Herunterfahren des Emulators wurde behoben.

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

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

Version 26.0.0 des Android-Emulators unterstützt HAXM v6.1.1 mit den folgenden Updates:

  • Aktiviert die Emulation von Performance Monitoring Units (PMU). (Problem 223377)
  • Die Koexistenz mit VirtualBox und Docker auf Macs wurde behoben. (Problem 197915)
  • Überarbeitet die Installationsfehlermeldung, die angezeigt wird, wenn das Installationsprogramm Intel VT-x unter Windows nicht erkennt. Dies liegt in der Regel daran, dass Hyper-V aktiviert ist.
  • Zusätzliche Unterstützung für die Beschleunigung des Android-Emulators in einer Hyper-V-basierten Windows-VM. Für dieses Update muss die Hyper-V-Hostinstanz (die Instanz, die die Windows-VM bzw. den Gast verwaltet) die neueste Version von Hyper-V mit aktivierter verschachtelter Virtualisierung verwendet. Hyper-V muss in der Hyper-V-Gastinstanz (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-konform. Da eine Host-GPU über konforme Desktop-OpenGL-Treiber verfügt, besteht der Emulator jetzt 100% der Android CTS dEQP-GLES2-mustpass-Liste. Diese Funktion wurde für x86-Images auf API-Ebene 24 (Version 11 und höher) veröffentlicht und ist bald in allen System-Images enthalten.
  • Verbesserte Wiedergabeleistung von Videos Der Emulator speichert jetzt alle Video-Farbzwischenspeicher im gemeinsamen Host-/Gastspeicher und führt die erforderliche endgültige YUV-zu-RGB-Konvertierung in der GPU durch. 1080p30 sollte nun für die meisten Systeme gut erreichbar sein. Diese Funktion wurde für x86-Images auf API-Ebene 24 (Version 11 und höher) veröffentlicht und ist bald in allen System-Images enthalten.
  • Der Emulator hebt sich beim Beenden jetzt korrekt von der adb devices-Liste auf und schließt offene TCP-Ports auf Linux-Computern.
  • ADB-Verbindungen sind jetzt zuverlässiger. Ein ausgeführter Emulator wird schneller erkannt und wechselt nicht mehr in den Status „Offline“ oder „Nicht autorisiert“.

25.3.0 (März 2017)

Ab dieser Version wird der Android-Emulator getrennt 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, der bei einigen GPU-Konfigurationen durch die standardmäßige Deaktivierung von GLAsyncSwap auftrat, wurde behoben. Diese Funktion wurde in der Version 25.3.0 hinzugefügt, um das Frame-Timing und die Bilder pro Sekunde für Spiele und Videos zu verbessern. Dabei schlägt der Emulator jedoch bei einigen unbekannten Maschinenkonfigurationen aus. Sie können sie 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 Emulations-Engine wurde auf QEMU 2.7 aktualisiert, einschließlich aller aktuellen Fehlerkorrekturen, verbesserter Leistung und neuer Funktionen.
  • Neue IPv6-Unterstützung
  • Der Emulator verwendet nun 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 einiges schneller, hat eine geringere Latenz und eine bessere Multithread-Leistung. Dies führt zu einer Reihe von Leistungsverbesserungen für den Emulator, darunter:
    • Verbesserte ADB-Push/Pull-Geschwindigkeit
    • Bessere Unterstützung für die 3D-Beschleunigung.
    • Die allgemeine Reaktionsfähigkeit des Emulators wurde verbessert.
    • Verbesserte Grafikleistung.
  • Der Emulator verwendet jetzt GPU-basierte Zwischenspeicher (glBindBuffers/glBufferData), wenn der Gast sie anfordert. Dadurch wird der CPU-Aufwand in einigen Anwendungen reduziert.
  • Verbesserte Audiounterstützung
  • Schnellere Laufwerks-E/A: Der Emulator verwendet jetzt separate Threads, um die Laufwerks-E/A weiterzuleiten.Dies führt zu geringerer Latenz und einem besseren Durchsatz (~1,5-mal sequenzielle E/A-Geschwindigkeit, ~5-fache E/A-Geschwindigkeit bei zufälligen Zugriffen). Dies reduziert auch die Anzahl der Leerungen auf dem Laufwerk, was zu einer deutlich geringeren Auslastung des physischen Geräts führt.
  • Der Emulator verwendet jetzt dünnbesetzte Dateien zum Starten von Laufwerken auf Windows-Computern, um sowohl den ersten Start als auch den Start mit "Daten löschen" zu beschleunigen. Beim Erstellen oder Zurücksetzen eines AVD schreibt der Emulator jetzt 100–200 MB Daten auf das Laufwerk anstelle von 2 GB oder mehr.
  • Verschiedene Verbesserungen an der Benutzeroberfläche:
    • Der Emulator verwendet jetzt Qt 5.7.0, das Fehlerkorrekturen und Leistungsverbesserungen enthält.
    • Bei der UI-Initialisierung wird nicht mehr versucht, alle ausführbaren Emulatoren als Qt-Plug-ins zu laden. Daher ist sie deutlich kürzer, insbesondere bei HDDs.
    • Interaktionen über die Benutzeroberfläche sind jetzt schneller und flüssiger, u. a. Drehung, Größenanpassung des Fensters und das Laden und Schließen von Fenstern mit erweiterten Steuerelementen.