Emulator über Befehlszeile starten

Das Android SDK umfasst einen Android-Geräteemulator – ein virtuelles Gerät, das auf Ihrem Computer ausgeführt wird. Mit dem Android-Emulator können Sie Android-Apps ohne Verwendung eines physischen Geräts entwickeln und testen.

Auf dieser Seite werden Befehlszeilenfunktionen beschrieben, die Sie mit dem Android-Emulator verwenden können. Informationen zur Verwendung der Android-Emulator-UI finden Sie unter Apps im Android-Emulator ausführen.

Emulator starten

Sie können den Emulator mit dem Befehl emulator starten. Alternativ können Sie auch das Projekt ausführen oder das Projekt über den AVD Manager starten.

Hier ist die grundlegende Befehlszeilensyntax zum Starten eines virtuellen Geräts über eine Terminal-Eingabeaufforderung:

emulator -avd avd_name [ {-option [value]} … ]

oder

emulator @avd_name [ {-option [value]} … ]

Wenn Sie den Emulator beispielsweise in Android Studio auf einem Mac starten, sieht die Standardbefehlszeile wie folgt aus:

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Nexus_5X_API_23 -netdelay none -netspeed full

Sie können die Startoptionen beim Starten des Emulators festlegen, aber nicht nach dem Start.

Geben Sie den folgenden Befehl ein, um eine Liste der AVD-Namen aufzurufen:

emulator -list-avds

Mit dieser Option können Sie eine Liste von AVD-Namen aus Ihrem Android-Basisverzeichnis aufrufen. Sie können das Standard-Basisverzeichnis überschreiben, indem Sie die Umgebungsvariable ANDROID_SDK_HOME festlegen, die das Stammverzeichnis des nutzerspezifischen Verzeichnisses angibt, in dem alle Konfigurations- und AVD-Inhalte gespeichert sind.

Sie können die Umgebungsvariable im Terminalfenster festlegen, bevor Sie ein virtuelles Gerät starten, oder über Ihre Nutzereinstellungen im Betriebssystem. Zum Beispiel in der Datei .bashrc unter Linux.

Schließen Sie das Emulator-Fenster, um den Android-Emulator zu beenden.

App installieren

Du kannst deine App nicht nur über Android Studio oder die Emulator-Benutzeroberfläche, sondern auch mit dem adb-Dienstprogramm auf einem virtuellen Gerät installieren.

Wenn Sie adb zum Installieren, Ausführen und Testen Ihrer Anwendung verwenden möchten, gehen Sie so vor:

  1. Erstellen und verpacken Sie Ihre App in einem APK, wie unter App erstellen und ausführen beschrieben.
  2. Starten Sie den Emulator über die Befehlszeile, wie im vorherigen Abschnitt beschrieben, und verwenden Sie dabei alle erforderlichen Startoptionen.
  3. Installieren Sie die App mit adb.
  4. Anwendung im Emulator ausführen und testen
    Während der Emulator ausgeführt wird, können Sie mit der Emulator-Konsole nach Bedarf Befehle ausgeben.

Deinstallieren Sie eine App wie auf einem Android-Gerät.

Das virtuelle Gerät behält die App und ihre Statusdaten bei einem Neustart in einer Laufwerkpartition für Nutzerdaten (userdata-qemu.img) bei. Um diese Daten zu löschen, starten Sie den Emulator mit der Option -wipe-data oder löschen Sie die Daten im AVD-Manager. Weitere Informationen zur Nutzerdatenpartition und zu anderem Speicher finden Sie im folgenden Abschnitt.

Hinweis:Das adb-Dienstprogramm betrachtet das virtuelle Gerät als tatsächliches physisches Gerät. Aus diesem Grund müssen Sie das Flag -d möglicherweise mit einigen gängigen adb-Befehlen wie install verwenden. Mit dem Flag -d können Sie angeben, welches von mehreren verbundenen Geräten als Ziel für einen Befehl verwendet werden soll. Wenn Sie -d nicht angeben, bezieht sich der Emulator auf das erste Gerät in seiner Liste.

Informationen zu den Standardverzeichnissen und -dateien

Der Emulator verwendet verknüpfte Dateien, von denen das AVD-System und die Datenverzeichnisse die wichtigsten sind. Es ist hilfreich, die Verzeichnisstruktur und die Dateien des Emulators zu verstehen, wenn Sie Befehlszeilenoptionen festlegen, obwohl Sie die Standardverzeichnisse oder -dateien in der Regel nicht ändern müssen.

Der Android Emulator verwendet den QEMU-Hypervisor (Quick Emulator). In den ersten Versionen des Android-Emulators wurde QEMU 1 (goldfish) verwendet, spätere Versionen mit QEMU 2 (Ranchu).

AVD-Systemverzeichnis

Das Systemverzeichnis enthält die Android-System-Images, mit denen der Emulator das Betriebssystem simuliert. Dieses Verzeichnis enthält plattformspezifische, schreibgeschützte Dateien, die von allen AVDs desselben Typs gemeinsam genutzt werden, einschließlich API-Level, CPU-Architektur und Android-Variante. Die Standardspeicherorte sind:

  • macOS und Linux – ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • Microsoft Windows XP – C:\Documents and Settings\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\
  • Windows Vista – C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\

Dabei gilt:

  • apiLevel ist ein numerisches API-Level oder ein Buchstabe für Vorabversionen. Beispielsweise steht android-M für die Android Marshmallow-Vorschau. Beim Release wurde es API-Level 23 erreicht, das durch android-23 gekennzeichnet ist.
  • variant ist ein Name, der bestimmten vom System-Image implementierten Funktionen entspricht. Beispiel: google_apis oder android-wear.
  • arch ist die Ziel-CPU-Architektur. Beispiel: x86.

Verwenden Sie die Option -sysdir, um ein anderes Systemverzeichnis für das AVD anzugeben.

Der Emulator liest die folgenden Dateien aus dem Systemverzeichnis:

Tabelle 1 Vom Android-Emulator gelesene Systemverzeichnisdateien

Datei Beschreibung Option zur Angabe einer anderen Datei
kernel-qemu oder kernel-ranchu Das binäre Kernel-Image für das AVD. kernel-ranchu ist der QEMU 2-Emulator, die neueste Version. -kernel
ramdisk.img Das Bootpartitions-Image. Dies ist eine Teilmenge von system.img, die zuerst vom Kernel geladen wird, bevor das System-Image bereitgestellt wird. Sie enthält normalerweise nur wenige Binärdateien und Initialisierungsskripts. -ramdisk
system.img Die schreibgeschützte, anfängliche Version des System-Images. Insbesondere die Partition mit den Systembibliotheken und Daten, die dem API-Level und der Variante entsprechen. -system
userdata.img Die anfängliche Version der Datenpartition, die im emulierten System als data/ angezeigt wird und alle beschreibbaren Daten für das AVD enthält. Der Emulator verwendet diese Datei, wenn Sie ein neues AVD erstellen oder die Option ‑wipe-data verwenden. Weitere Informationen finden Sie in der Beschreibung der Datei userdata-qemu.img im folgenden Abschnitt. -initdata
-init-data

AVD-Datenverzeichnis

Das AVD-Datenverzeichnis, auch Inhaltsverzeichnis genannt, ist für eine einzelne AVD-Instanz spezifisch und enthält alle veränderbaren Daten für das AVD.

Der Standardspeicherort ist der folgende, wobei name der AVD-Name ist:

  • macOS und Linux – ~/.android/avd/name.avd/
  • Microsoft Windows XP – C:\Documents and Settings\user\.android\name.avd\
  • Windows Vista und höher: C:\Users\user\.android\name.avd\

Verwenden Sie die Option -datadir, um ein anderes AVD-Datenverzeichnis anzugeben.

In der folgenden Tabelle sind die wichtigsten Dateien in diesem Verzeichnis aufgeführt:

Tabelle 2 Wichtige Dateien im AVD-Datenverzeichnis

Datei Beschreibung Option zur Angabe einer anderen Datei
userdata-qemu.img

Der Inhalt der Datenpartition, der im emulierten System als data/ angezeigt wird. Wenn Sie ein neues AVD erstellen oder das AVD mit der Option -wipe-data auf die Werkseinstellungen zurücksetzen, kopiert der Emulator die Datei userdata.img in das Systemverzeichnis, um diese Datei zu erstellen.

Jede virtuelle Geräteinstanz verwendet ein beschreibbares Nutzerdaten-Image, um nutzer- und sitzungsspezifische Daten zu speichern. Das Image wird beispielsweise verwendet, um die installierten Anwendungsdaten, Einstellungen, Datenbanken und Dateien eines einzelnen Nutzers zu speichern. Jeder Nutzer hat ein anderes ANDROID_SDK_HOME-Verzeichnis, in dem die Datenverzeichnisse für die von diesem Nutzer erstellten AVDs gespeichert sind. Jedes AVD hat eine einzelne userdata-qemu.img-Datei.

-data
cache.img Das Cache-Partitions-Image, das im emulierten System als cache/ angezeigt wird. Wenn Sie zum ersten Mal ein AVD erstellen oder die Option -wipe-data verwenden, ist dieses leer. Er speichert temporäre Downloaddateien und wird vom Download-Manager und manchmal auch vom System aufgefüllt. Der Browser verwendet ihn beispielsweise, um heruntergeladene Webseiten und Bilder im Cache zu speichern, während der Emulator ausgeführt wird. Wenn Sie das virtuelle Gerät ausschalten, wird die Datei gelöscht. Sie können die Datei mit der Option -cache dauerhaft speichern. -cache
sdcard.img

(Optional) Ein SD-Kartenpartitions-Image, mit dem Sie eine SD-Karte auf einem virtuellen Gerät simulieren können. Sie können eine Bilddatei für die SD-Karte in AVD Manager oder mit dem mksdcard-Tool erstellen. Die Datei ist auf Ihrem Entwicklungscomputer gespeichert und muss beim Start geladen werden.

Beim Definieren eines AVD im AVD-Manager können Sie eine automatisch verwaltete SD-Kartendatei oder eine Datei verwenden, die Sie mit dem mksdcard-Tool erstellt haben. Sie können die mit einem AVD verknüpfte Datei sdcard.img im AVD-Manager aufrufen. Die Option -sdcard überschreibt die im AVD angegebene SD-Kartendatei.

Mit der Emulator-UI oder dem adb-Dienstprogramm können Sie Dateien suchen, an sie senden sowie Dateien von einer simulierten SD-Karte kopieren und entfernen, während das virtuelle Gerät ausgeführt wird. Es ist nicht möglich, eine simulierte SD-Karte von einem laufenden virtuellen Gerät zu entfernen.

Wenn Sie Dateien vor dem Laden auf die SD-Kartendatei kopieren möchten, stellen Sie die Bilddatei als Schleifengerät bereit und kopieren Sie dann die Dateien. Alternativ können Sie ein Dienstprogramm wie das Paket mtools verwenden, um die Dateien direkt in das Image zu kopieren.

Der Emulator behandelt die Datei als einen Byte-Pool, sodass das SD-Kartenformat keine Rolle spielt.

Die Option -wipe-data hat keine Auswirkungen auf diese Datei. Wenn Sie die Datei löschen möchten, löschen Sie sie und erstellen Sie sie dann mit AVD Manager oder dem mksdcard-Tool neu. Wenn Sie die Größe der Datei ändern, wird sie auch gelöscht und eine neue Datei erstellt.

-sdcard

Vom Emulator verwendete Verzeichnisse und Dateien auflisten

Es gibt zwei Möglichkeiten, den Speicherort von Dateien zu ermitteln:

  • Verwenden Sie die Option -verbose oder -debug init, wenn Sie den Emulator über die Befehlszeile starten. Sehen Sie sich die Ausgabe an.
  • Verwenden Sie den Befehl emulator -help-option, um ein Standardverzeichnis aufzulisten. Beispiel:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

Startoptionen über die Befehlszeile

In diesem Abschnitt werden Optionen aufgeführt, die Sie beim Starten des Emulators in der Befehlszeile angeben können.

Hinweis: Der Android-Emulator wird ständig weiterentwickelt, um seine Zuverlässigkeit zu erhöhen. Informationen zum Status der für verschiedene Befehlszeilenoptionen gemeldeten Probleme sowie zum Melden von Fehlern finden Sie im Android Issue Tracker.

Häufig verwendete Optionen

In der folgenden Tabelle sind die Befehlszeilen-Startoptionen aufgeführt, die Sie möglicherweise häufiger verwenden:

Tabelle 3 Häufig verwendete Befehlszeilenoptionen

Befehlszeilenoption Beschreibung
Schnellstart
-no-snapshot-load Führt einen Kaltstart aus und speichert beim Beenden den Emulatorstatus.
-no-snapshot-save Führt wenn möglich einen schnellen Start durch, speichert jedoch den Emulatorstatus beim Beenden nicht.
-no-snapshot Deaktiviert die Quick Boot-Funktion vollständig und lädt oder speichert den Emulatorstatus nicht.
Gerätehardware
-camera-back mode
-camera-front mode
Legt den Emulationsmodus für eine nach vorn oder nach hinten gerichtete Kamera fest. Dadurch werden alle Kameraeinstellungen im AVD überschrieben.

mode kann einer der folgenden Werte sein:

  • emulated: Der Emulator simuliert eine Kamera in der Software.
  • webcamn: Der Emulator verwendet eine Webcam, die mit Ihrem Entwicklungscomputer verbunden ist und durch eine Zahl angegeben wird. Für eine Liste der Webcams verwenden Sie die Option -webcam-list. z. B. webcam0.
  • none: Die Kamera im virtuellen Gerät wird deaktiviert.

Beispiel:

emulator @Nexus_5X_API_23 -camera-back webcam0

-webcam-list Listet die Webcams auf Ihrem Entwicklungscomputer auf, die für die Emulation zur Verfügung stehen. Beispiel:
emulator @Nexus_5X_API_23 -webcam-list
        List of web cameras connected to the computer:
        Camera 'webcam0' is connected to device 'webcam0'
        on channel 0 using pixel format 'UYVY'

Im Beispiel ist die erste webcam0 der Name, den Sie in der Befehlszeile verwenden. Der zweite webcam0 ist der Name, der vom Betriebssystem auf dem Entwicklungscomputer verwendet wird. Der zweite Name variiert je nach Betriebssystem.

Ab SDK-Tools 25.2.4 ist der AVD-Name erforderlich.

Laufwerk-Images und -Arbeitsspeicher
-memory size

Gibt die physische RAM-Größe von 128 bis 4.096 MB an. Beispiele:

emulator @Nexus_5X_API_23 -memory 2048

Dieser Wert überschreibt die AVD-Einstellung.

-sdcard filepath Gibt den Dateinamen und den Pfad zu einer SD-Kartenpartitions-Image-Datei an. Beispiel:

emulator @Nexus_5X_API_23 -sdcard C:/sd/sdcard.img

Wenn die Datei nicht gefunden wird, wird der Emulator zwar gestartet, allerdings ohne SD-Karte. Der Befehl gibt die Warnung Kein Bild auf SD-Karte zurück.

Wenn Sie diese Option nicht angeben, wird der Standardwert sdcard.img im Datenverzeichnis verwendet, es sei denn, das AVD gibt etwas anderes an. Weitere Informationen zu emulierten SD-Karten finden Sie im AVD-Datenverzeichnis.

-wipe-data Löscht Nutzerdaten und kopiert Daten aus der ursprünglichen Datendatei. Mit dieser Option werden die Daten für das virtuelle Gerät gelöscht und in den Zustand bei der anfänglichen Definition zurückversetzt. Alle installierten Apps und Einstellungen werden entfernt. Beispiele:

emulator @Nexus_5X_API_23 -wipe-data

Die Nutzerdatendatei ist standardmäßig userdata-qemu.img und die ursprüngliche Datendatei ist userdata.img. Beide Dateien befinden sich im Datenverzeichnis. Die Option -wipe-data wirkt sich nicht auf die Datei sdcard.img aus. Weitere Informationen zu Nutzerdaten finden Sie im Abschnitt Grundlegendes zu Standardverzeichnissen und -dateien.

Fehler beheben
-debug tags Aktiviert oder deaktiviert die Anzeige von Debug-Meldungen für ein oder mehrere Tags. Trennen Sie mehrere Tags durch ein Leerzeichen, Komma oder eine Spalte. Beispiele:

$ emulator @Nexus_5X_API_23 -debug init,metrics

Um ein Tag zu deaktivieren, setzen Sie einen Bindestrich (-) davor. Mit der folgenden Option werden beispielsweise alle Debug-Meldungen angezeigt, mit Ausnahme der Meldungen, die sich auf Netzwerk-Sockets und Messwerte beziehen:

-debug all,-socket,-metrics

Verwenden Sie die Option -help-debug-tags, um eine Liste der Tags und Beschreibungen zu erhalten. Beispiele:

emulator -help-debug-tags

Sie können die Standard-Debug-Tags in der Umgebungsvariable ANDROID_VERBOSE definieren. Definieren Sie die Tags, die Sie in einer durch Kommas getrennten Liste verwenden möchten. Das folgende Beispiel zeigt, wie die Tags socket und gles angegeben werden:

ANDROID_VERBOSE=socket,gles

Dies entspricht der Verwendung von:

-debug-socket -debug-gles

oder

-debug socket,gles

-debug-tag
-debug-no-tag
Aktiviert einen bestimmten Debug-Nachrichtentyp. Verwenden Sie das Formular no, um einen Debug-Meldungstyp zu deaktivieren. Beispiele:

emulator @Nexus_5X_API_23 -debug-all -debug-no-metrics

Verwenden Sie den Befehl emulator -help-debug-tags, um eine Liste von Tags zu erhalten.

-logcat logtags Aktiviert die Anzeige von Logcat-Nachrichten für ein oder mehrere Tags und schreibt sie in das Terminalfenster. Der folgende Befehl aktiviert beispielsweise Fehlermeldungen von allen Komponenten:

emulator @Nexus_5X_API_23 -logcat *:e

logtags verwendet dasselbe Format wie der Befehl adb logcat logtags. Geben Sie adb logcat -help ein, um weitere Informationen zu erhalten. Es ist eine Liste mit durch Leerzeichen oder Kommas getrennten Logfiltern im Format componentName:logLevel. componentName ist entweder ein Platzhaltersternchen (*) oder ein Komponentenname, z. B. ActivityManager, SystemServer, InputManager oder WindowManager.

logLevel ist einer der folgenden Werte:

  • v – ausführlich
  • d – Fehlerbehebung
  • i – informativ
  • w – Warnungslogebene
  • e – Fehler
  • s – lautlos

Im folgenden Beispiel werden Meldungen von GSM-Komponenten auf aussagekräftiger Logebene angezeigt:

emulator @Nexus_5X_API_23 -logcat '*:s GSM:i'

Wenn Sie die Option -logcat nicht in der Befehlszeile angeben, sucht der Emulator nach der Umgebungsvariable ANDROID_LOG_TAGS. Wenn ANDROID_LOG_TAGS mit einem gültigen logtags-Wert definiert und nicht leer ist, verwendet der Emulator den Wert, um die Logcat-Ausgabe an das Terminal standardmäßig zu aktivieren. Sie können dieselben oder andere Logeinträge auch über adb an das Terminal weiterleiten.

Weitere Informationen zu Logcat und adb finden Sie unter Logcat-Befehlszeilentool, Logs mit Logcat ansehen und schreiben, zur Klasse Log und ADB-Befehle ausgeben.

-show-kernel Zeigt Kernel-Debug-Meldungen im Terminalfenster an. Beispiele:

emulator @Nexus_5X_API_23 -show-kernel

Mit dieser Option können Sie z. B. prüfen, ob der Bootvorgang ordnungsgemäß funktioniert.

-verbose Gibt Initialisierungsmeldungen des Emulators im Terminalfenster aus. Beispiel:

emulator @Nexus_5X_API_23 -verbose

Zeigt an, welche Dateien und Einstellungen tatsächlich ausgewählt werden, wenn ein virtuelles Gerät gestartet wird, das in einem AVD definiert ist. Diese Option entspricht der Angabe von -debug-init.

Netzwerk
-dns-server servers Verwendet die angegebenen DNS-Server. servers ist eine durch Kommas getrennte Liste von bis zu vier DNS-Servernamen oder IP-Adressen. Beispiel:
emulator @Nexus_5X_API_23 -dns-server 192.0.2.0,
192.0.2.255

Standardmäßig versucht der Emulator, die verwendeten DNS-Server zu erkennen, und richtet im emulierten Firewallnetzwerk spezielle Aliasse ein, damit das Android-System eine direkte Verbindung zu den Servern herstellen kann. Verwenden Sie die Option -dns-server, um eine andere Liste von DNS-Servern anzugeben.

-http-proxy proxy Stellt alle TCP-Verbindungen über einen angegebenen HTTP-/HTTPS-Proxy her. Wenn der Emulator über einen Proxyserver auf das Internet zugreifen muss, können Sie diese Option oder die Umgebungsvariable http_proxy verwenden, um die entsprechende Weiterleitung einzurichten. Beispiele:

emulator @Nexus_5X_API_23 -http-proxy myserver:1981

proxy kann einer der folgenden Werte sein:

http://server:port
http://username:password@server:port

Das Präfix http:// kann weggelassen werden.

Wenn diese Option nicht angegeben ist, sucht der Emulator nach der Umgebungsvariable http_proxy und verwendet automatisch jeden Wert, der dem Format proxy entspricht. Weitere Informationen finden Sie unter Emulator mit einem Proxy verwenden.

-netdelay delay

Legt die Emulation der Netzwerklatenz auf einen der folgenden delay-Werte in Millisekunden fest:

  • gsm: GSM/CSD (mind. 150, max. 550).
  • hscsd: HSCSD (mind. 80, max. 400).
  • gprs: GPRS (min. 35, max. 200)
  • edge – EDGE/EGPRS (min. 80, max. 400)
  • umts: UMTS/3G (min. 35, max. 200)
  • hsdpa – HSDPA (min. 0, max. 0).
  • lte – LTE (min. 0, max. 0).
  • evdo – EVDO (min. 0, max. 0).
  • none: Keine Latenz, der Standardwert (min. 0, max. 0).
  • num gibt die genaue Latenz an.
  • min:max: gibt die einzelnen minimalen und maximalen Latenzen an.

Beispiel:

emulator @Nexus_5X_API_23 -netdelay gsm

Der Emulator unterstützt Netzwerkdrosselung und höhere Verbindungslatenzen. Sie können ihn entweder über die Skin-Konfiguration oder mit den Optionen ‑netspeed und -netdelay definieren.

-netfast Deaktiviert die Netzwerkdrosselung. Beispiele:

emulator @Nexus_5X_API_23 -netfast

Diese Option entspricht der Angabe von -netspeed full -netdelay none. Dies sind die Standardwerte für diese Optionen.

-netspeed speed

Legt die Emulation der Netzwerkgeschwindigkeit fest. Gibt die maximale Upload- und Downloadgeschwindigkeit im Netzwerk mit einem der folgenden speed-Werte in Kbit/s an:

  • gsm: GSM/CSD (nach oben: 14,4, unten: 14,4).
  • hscsd: HSCSD (nach oben: 14,4, unten: 57,6).
  • gprs – GPRS (nach oben: 28,8, unten: 57,6).
  • edge – EDGE/EGPRS (nach oben: 473,6, unten: 473,6).
  • umts – UMTS/3G (nach oben: 384,0, unten: 384,0).
  • hsdpa – HSDPA (nach oben: 5760,0, unten: 13.980,0).
  • lte – LTE (nach oben: 58.000, unten: 173.000)
  • evdo: EVDO (hochgeladen: 75.000, unten: 280.000).
  • full: Kein Limit, die Standardeinstellung (nach oben: 0,0, nach unten: 0,0).
  • num: Gibt die Upload- und die Downloadgeschwindigkeit an.
  • up:down: Gibt einzelne Hoch- und Abwärtsgeschwindigkeiten an.

Beispiel:

emulator @Nexus_5X_API_23 -netspeed edge

Der Emulator unterstützt Netzwerkdrosselung und höhere Verbindungslatenzen. Sie können ihn entweder über die Skin-Konfiguration oder mit den Optionen ‑netspeed und -netdelay definieren.

-port port Legt die TCP-Portnummer fest, die für die Konsole und adb verwendet wird. Beispiele:

emulator @Nexus_5X_API_23 -port 5556

Der Standardwert ist 5554 für die erste virtuelle Geräteinstanz, die auf Ihrer Maschine ausgeführt wird. Ein virtuelles Gerät belegt normalerweise zwei benachbarte Ports: einen Konsolenport und einen adb-Port. Die Konsole des ersten virtuellen Geräts, das auf einer bestimmten Maschine ausgeführt wird, verwendet den Konsolenport 5554 und den adb-Port 5555. Nachfolgende Instanzen verwenden Portnummern, die um zwei erhöht werden. Beispiel: 5556/5557, 5558/5559 usw. Der Bereich liegt zwischen 5.554 und 5.682, sodass 64 virtuelle Geräte gleichzeitig möglich sind.

Die Portzuweisungen sind oft mit der Angabe von -ports port,{port + 1} identisch. {port + 1} muss kostenlos sein und ist für adb reserviert. Wenn einer der Konsolen- oder adb-Ports bereits verwendet wird, wird der Emulator nicht gestartet.

Die Option ‑port meldet, welche Ports und Seriennummern das virtuelle Gerät verwendet, und warnt, wenn Probleme mit den angegebenen Werten auftreten. In der Benutzeroberfläche des Emulators sehen Sie die Portnummer der Konsole im Fenstertitel und die Portnummer adb, indem Sie Hilfe > Info auswählen.

Wenn der Wert für port nicht gerade ist und im Bereich 5554 bis 5584 liegt, wird das virtuelle Gerät zwar gestartet, ist aber bei Verwendung des Befehls adb devices nicht sichtbar, wenn adb server nach dem Emulator gestartet wird. Aus diesem Grund empfehlen wir die Verwendung einer geraden Konsolenportnummer.

-ports
console-port,adb-port
Legt die für die Konsole und adb verwendeten TCP-Ports fest. Beispiele:

emulator @Nexus_5X_API_23 -ports 5556,5559

Der gültige Portbereich liegt zwischen 5554 und 5682, sodass 64 virtuelle Geräte gleichzeitig möglich sind. Die Option -ports meldet, welche Ports und Seriennummern die Emulatorinstanz verwendet, und warnt, wenn Probleme mit den angegebenen Werten auftreten.

Wir empfehlen, nach Möglichkeit stattdessen die Option -port zu verwenden. Die Option -ports ist für Netzwerkkonfigurationen verfügbar, die spezielle Einstellungen erfordern.

Weitere Informationen zum Festlegen von Konsolen- und adb-Ports finden Sie unter der Option -port.

-tcpdump filepath Erfasst Netzwerkpakete und speichert sie in einer Datei. Beispiele:

emulator @Nexus_5X_API_23 -tcpdump /path/dumpfile.cap

Verwenden Sie diese Option, um mit der Erfassung aller Netzwerkpakete zu beginnen, die über das virtuelle Ethernet-LAN des Emulators gesendet werden. Anschließend können Sie den Traffic mit einem Tool wie Wireshark analysieren.

Beachten Sie, dass mit dieser Option alle Ethernet-Pakete erfasst werden und nicht auf TCP-Verbindungen beschränkt ist.

System
-accel mode Konfiguriert die Emulator-VM-Beschleunigung. Beispiele:

emulator @Nexus_5X_API_23 -accel auto

Die beschleunigte Emulation ist nur für x86- und x86_64-System-Images verfügbar. Unter Linux basiert es auf KVM. Unter Windows und Mac sind eine Intel-CPU und Intel HAXM-Treiber erforderlich. Diese Option wird ignoriert, wenn Sie kein x86- oder x86_64-Gerät emulieren.

Gültige Werte für mode sind:

  • auto: Ermittelt automatisch, ob die Beschleunigung unterstützt wird, und verwendet sie, wenn möglich (Standardeinstellung).
  • off: Deaktiviert die Beschleunigung vollständig, was vor allem für die Fehlerbehebung nützlich ist.
  • on: Erzwingt eine Beschleunigung. Wenn KVM oder HAXM nicht installiert oder nicht verwendbar ist, wird der Emulator nicht gestartet und gibt eine Fehlermeldung aus.

Weitere Informationen finden Sie unter Hardwarebeschleunigung für den Android-Emulator konfigurieren.

-accel-check Prüft, ob ein erforderlicher Hypervisor zur Emulator-VM-Beschleunigung installiert ist (HAXM oder KVM). Beispiele:

emulator -accel-check

Weitere Informationen finden Sie unter Prüfen, ob ein Hypervisor installiert ist.

-engine engine

Gibt die Emulator-Engine an:

  • auto: Es wird automatisch eine Suchmaschine ausgewählt (Standardeinstellung).
  • classic: Verwendet die ältere QEMU 1-Engine.
  • qemu2: Verwendet die neuere QEMU 2-Engine.

Beispiele:

emulator @Nexus_5X_API_23 -engine auto

Die automatische Erkennung sollte den Wert auswählen, der bei der Emulation eines bestimmten AVD die beste Leistung bietet. Verwenden Sie die Option -engine nur zum Debugging und zum Vergleich.

-gpu mode Wählt den GPU-Emulationsmodus aus. Beispiele:

emulator @Nexus_5X_API_23 -gpu swiftshader_indirect

Weitere Informationen finden Sie unter Grafikbeschleunigung konfigurieren.

-no-accel Deaktiviert die Emulator-VM-Beschleunigung bei Verwendung eines x86- oder x86_64-System-Images. Dies ist nur für die Fehlerbehebung nützlich und entspricht der Angabe von -accel off. Beispiele:

emulator @Nexus_5X_API_23 -no-accel

Weitere Informationen finden Sie unter Hardwarebeschleunigung für den Android-Emulator konfigurieren.

-nojni
-no-jni
Deaktiviert erweiterte JNI-Prüfungen (Java Native Interface) in der Android Dalvik- oder ART-Laufzeit. Beispiele:

emulator @Nexus_5X_API_23 -nojni

Wenn Sie ein virtuelles Gerät starten, sind erweiterte JNI-Prüfungen standardmäßig aktiviert. Weitere Informationen finden Sie in den JNI-Tipps.

-selinux {disabled|permissive} Legt das Security-Enhanced Linux-Sicherheitsmodul (SELinux) unter einem Linux-Betriebssystem auf den Modus disabled oder permissive fest. Beispiele:

me-linux$ emulator @Nexus_5X_API_23 -selinux permissive

Standardmäßig befindet sich SELinux im Modus enforcing, d. h., die Sicherheitsrichtlinie wird erzwungen. Im permissive-Modus wird die SELinux-Richtlinie geladen, aber nicht erzwungen. Mit dieser Option werden nur Richtlinienverstöße protokolliert. Im disabled-Modus wird die Kernel-Unterstützung für SELinux deaktiviert.

-timezone timezone

Legt die Zeitzone für das virtuelle Gerät auf timezone anstelle der Hostzeitzone fest. Beispiel:

emulator @Nexus_5X_API_23 -timezone Europe/Paris

Standardmäßig verwendet der Emulator die Zeitzone Ihres Entwicklungscomputers. Verwenden Sie diese Option, wenn Sie eine andere Zeitzone angeben möchten oder wenn die automatische Erkennung nicht korrekt funktioniert. Der Wert für timezone muss das Format zoneinfo haben, also area/location oder area/subarea/location. Beispiele:

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

Die angegebene Zeitzone muss sich in der zoneinfo-Datenbank befinden.

-version Zeigt die Versionsnummer des Emulators an. Beispiele:

emulator @Nexus_5X_API_23 -version

oder

emulator -version

Benutzeroberfläche
-no-boot-anim Deaktiviert die Boot-Animation während des Emulator-Starts, um den Start zu beschleunigen. Beispiele:

emulator @Nexus_5X_API_23 -no-boot-anim

Auf langsameren Computern kann diese Option die Startsequenz erheblich beschleunigen.

-screen mode Legt den emulierten Touchscreen-Modus fest. Beispiele:

emulator @Nexus_5X_API_23 -screen no-touch

mode kann einer der folgenden Werte sein:

  • touch: Emuliert einen Touchscreen (Standardeinstellung).
  • multi-touch: Emuliert einen Multi-Touch-Bildschirm.
  • no-touch: Deaktiviert die Touchscreen- und Multi-Touchscreen-Emulation.

Erweiterte Optionen

Die Befehlszeilen-Startoptionen in der folgenden Tabelle sind verfügbar, werden aber von durchschnittlichen App-Entwicklern nicht häufig verwendet.

In den Beschreibungen ist das Arbeitsverzeichnis das aktuelle Verzeichnis in dem Terminal, in dem Sie Befehle eingeben. Informationen zum AVD-Systemverzeichnis und zum Datenverzeichnis sowie zu den darin gespeicherten Dateien finden Sie im Abschnitt zu Standardverzeichnissen und -dateien.

Einige dieser Optionen sind für externe App-Entwickler geeignet, andere werden hauptsächlich von Plattformentwicklern verwendet. App-Entwickler erstellen Android-Apps und führen sie auf bestimmten AVDs aus. Plattformentwickler arbeiten am Android-System und führen es im Emulator ohne vorab erstelltes AVD aus.

Tabelle 4 Erweiterte Befehlszeilenoptionen

Fortgeschrittene Option Kurzbeschreibung
-bootchart timeout

Aktiviert das Bootcharting mit einem Zeitlimit in Sekunden. Einige Android-System-Images haben ein modifiziertes Init-System, das eine Bootcharting-Funktion integriert. Mit dieser Option können Sie ein Zeitlimit für das Bootcharting an das System übergeben. Wenn in Ihrem Init-System kein Bootcharting aktiviert ist, geschieht nichts. Diese Option ist in erster Linie für Plattformentwickler und nicht für externe App-Entwickler nützlich.

Beispiele:

emulator @Nexus_5X_API_23 -bootchart 120
-cache filepath

Gibt eine Cache-Partitions-Image-Datei an. Stellt einen Dateinamen und einen absoluten Pfad oder einen Pfad relativ zum Datenverzeichnis bereit, um eine persistente Cache-Datei einzurichten. Wenn die Datei nicht vorhanden ist, erstellt der Emulator sie als leere Datei.

Beispiele:

emulator @Nexus_5X_API_23 -cache
   ~/.android/avd/Nexus_5X_API_23.avd/cache_persistent.img

Wenn Sie diese Option nicht verwenden, wird standardmäßig eine temporäre Datei mit dem Namen cache.img verwendet. Weitere Informationen finden Sie unter AVD-Datenverzeichnis.

-cache-size size

Legt die Cache-Partitionsgröße in MB fest.

Beispiele:

emulator @Nexus_5X_API_23 -cache-size 1000

Wenn Sie diese Option nicht angeben, beträgt der Standardwert 66 MB. Normalerweise benötigen die meisten Anwendungsentwickler diese Option nicht, es sei denn, sie müssen sehr große Dateien herunterladen, die größer als der Standardcache sind. Weitere Informationen zur Cache-Datei finden Sie unter AVD-Datenverzeichnis.

-data filepath

Legt die Image-Datei für die Nutzerdatenpartition fest. Gibt einen Dateinamen und einen absoluten Pfad oder einen Pfad relativ zum Arbeitsverzeichnis an, um eine persistente Nutzerdatendatei einzurichten. Wenn die Datei nicht vorhanden ist, erstellt der Emulator ein Image aus der Standarddatei userdata.img, speichert es unter dem von Ihnen angegebenen Dateinamen und speichert die Nutzerdaten beim Herunterfahren.

Beispiele:

emulator @Nexus_5X_API_23 -data
   ~/.android/avd/Nexus_5X_API_23.avd/userdata-test.img

Wenn Sie diese Option nicht verwenden, wird standardmäßig die Datei userdata-qemu.img verwendet. Weitere Informationen zur Nutzerdatendatei finden Sie unter AVD-Datenverzeichnis.

-datadir dir

Gibt ein Datenverzeichnis mit einem absoluten Pfad an. Weitere Informationen finden Sie im AVD-Datenverzeichnis.

Beispiele:

emulator @Nexus_5X_API_23 -datadir
   ~/.android/avd/Nexus_5X_API_23.avd/mytest
-force-32bit

Verwendet den 32-Bit-Emulator auf 64-Bit-Plattformen. Gelegentlich ist diese Option zum Testen oder Debuggen nützlich. Es gab beispielsweise ein Problem, bei dem der Emulator manchmal unter 64-Bit-Windows nicht ausgeführt wurde, aber 32-Bit-Versionen. Diese Option war hilfreich, um Vergleiche zur Fehlerbehebung durchzuführen. Hier ein Beispiel:

emulator @Nexus_5X_API_23 -force-32bit
-help-disk-images

Holt Hilfe zu Laufwerk-Images. Diese Option bietet Informationen, die sowohl für App- als auch Plattformentwickler relevant sind. Beispiele:

emulator -help-disk-images
-help-char-devices

Holt Hilfe zu den Spezifikationen für device. Für einige Emulatoroptionen ist der Parameter device erforderlich. Beispiele:

emulator -help-char-devices
-help-sdk-images

Holt Hilfe zu Laufwerk-Images, die für App-Entwickler relevant sind. Mit dieser Option werden Informationen darüber abgerufen, wo sich die Bilddateien für ein AVD befinden, das mit den SDK-Tools erstellt wurde. Beispiele:

emulator -help-sdk-images
-help-build-images

Hier erhalten Sie Hilfe zu Laufwerk-Images, die für Plattformentwickler relevant sind. Beispiele:

emulator -help-build-images
-initdata filepath
-init-data filepath

Gibt die anfängliche Version der Datenpartition an. Nach dem Löschen der Nutzerdaten kopiert der Emulator den Inhalt der angegebenen Datei in die Nutzerdaten (standardmäßig die Datei userdata-qemu.img), anstatt die Standarddatei userdata.img als Anfangsversion zu verwenden. Gibt den Dateinamen und einen absoluten Pfad oder einen Pfad relativ zum Arbeitsverzeichnis an.

Beispiele:

emulator @Nexus_5X_API_23 -initdata
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/userdata-test.img

Wenn Sie keinen Pfad angeben, wird die Datei im Systemverzeichnis abgelegt. Weitere Informationen finden Sie im AVD-Systemverzeichnis.

-kernel filepath

Verwendet einen bestimmten emulierten Kernel. Wenn Sie keinen Pfad angeben, sucht der Emulator im Systemverzeichnis.

Verwenden Sie die Option ‑show‑kernel, um Meldungen zur Kernel-Fehlerbehebung anzusehen.

Beispiele:

emulator @Nexus_5X_API_23 -kernel
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/kernel-test.img -show-kernel

Wenn Sie diese Option nicht angeben, wird der Standardwert kernel-ranchu verwendet. Weitere Informationen finden Sie im AVD-Systemverzeichnis.

-noaudio
-no-audio

Deaktiviert die Audiounterstützung für dieses virtuelle Gerät. Einige Linux- und Windows-Computer haben fehlerhafte Audiotreiber, die unterschiedliche Symptome verursachen, z. B. verhindern, dass der Emulator gestartet wird. Verwenden Sie in diesem Fall diese Option, um das Problem zu beheben. Alternativ können Sie die Umgebungsvariable QEMU_AUDIO_DRV verwenden, um das Audio-Back-End zu ändern.

Beispiele:

emulator @Nexus_5X_API_23 -noaudio
-nocache
-no-cache

Startet den Emulator ohne Cache-Partition. Wenn Sie diese Option nicht verwenden, wird standardmäßig eine temporäre Datei mit dem Namen cache.img verwendet. Diese Option ist nur für Plattformentwickler verfügbar. Weitere Informationen finden Sie im AVD-Datenverzeichnis.

Beispiele:

emulator @Nexus_5X_API_23 -nocache
-no-snapshot

Verhindert sowohl das automatische Laden als auch das Speichern, was dazu führt, dass der Emulator eine vollständige Startsequenz ausführt und seinen Status beim Schließen verliert. Sie überschreibt die Option -snapshot.

Beispiele:

emulator @Nexus_5X_API_23 -no-snapshot
-no-snapshot-load

Verhindert, dass der AVD-Status aus dem Snapshot-Speicher vom Emulator geladen wird. Führt einen vollständigen Start durch.

Beispiele:

emulator @Nexus_5X_API_23 -no-snapshot-load
-no-snapshot-save

Verhindert, dass der Emulator den AVD-Status beim Beenden im Snapshot-Speicher speichert. Dies bedeutet, dass alle Änderungen verloren gehen.

Beispiele:

emulator @Nexus_5X_API_23 -no-snapshot-save
-no-snapshot-update-time

Es wird nicht versucht, die AVD-Taktzeit sofort bei der Snapshot-Wiederherstellung zu korrigieren. Diese Option kann während des Tests nützlich sein, da so ein plötzlicher Zeitsprung vermieden wird. Zeitaktualisierungen werden weiterhin etwa alle 15 Sekunden an das AVD gesendet.

Beispiele:

emulator @Nexus_5X_API_23 -no-snapshot-update-time
-no-snapstorage

Startet den Emulator, ohne eine Datei zum Speichern oder Laden von Status-Snapshots bereitzustellen. Dadurch wird ein vollständiger Bootvorgang erzwungen und die Funktion für Status-Snapshots deaktiviert. Diese Option überschreibt die Optionen -snapstorage und -snapshot.

Beispiele:

emulator @Nexus_5X_API_23 -no-snapstorage
-no-window

Deaktiviert die grafische Fensteranzeige im Emulator. Diese Option ist nützlich, wenn der Emulator auf Servern ohne Bildschirm ausgeführt wird. Sie können über adb oder die Console auf den Emulator zugreifen. Beispiele:

emulator @Nexus_5X_API_23 -no-window
-partition-size size

Gibt die Größe der Systemdatenpartition in MB an. Beispiele:

emulator @Nexus_5X_API_23 -partition-size 1024
-prop name=value

Legt eine Android-Systemeigenschaft im Emulator fest, wenn dieser gestartet wird. name muss ein Attributname mit dem Label qemu_prop und maximal 32 Zeichen ohne Leerzeichen sein. value muss ein String mit maximal 92 Zeichen sein. Ein Beispiel finden Sie in der Datei property_contexts. In einer Befehlszeile können mehrere ‑prop-Optionen angegeben werden. Diese Option kann für die Fehlerbehebung hilfreich sein. Beispiele:

emulator @Nexus_5X_API_23 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args Übergibt Argumente an die QEMU-Emulatorsoftware. Beachten Sie, dass QEMU 1 und QEMU 2 unterschiedliche Argumente verwenden können. Wenn Sie diese Option verwenden, muss es die letzte angegebene Option sein, da alle nachfolgenden Optionen als QEMU-spezifische Optionen interpretiert werden. Diese Option ist recht komplex und sollte nur von Entwicklern verwendet werden, die sehr mit QEMU und Android-Emulation vertraut sind.
-qemu -h

Zeigt die -qemu-Hilfe an. Beispiele:

emulator -qemu -h
-ramdisk filepath

Gibt ein Ramdisk-Boot-Image an. Gibt den Dateinamen und einen absoluten Pfad oder einen Pfad relativ zum Arbeitsverzeichnis an.

Beispiele:

emulator @Nexus_5X_API_23 -ramdisk
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/ramdisk-test.img

Wenn Sie diese Option nicht verwenden, wird standardmäßig die Datei ramdisk.img im Systemverzeichnis verwendet. Weitere Informationen finden Sie im AVD-Systemverzeichnis.

-report-console socket

Meldet den Konsolenport einem Remote-Drittanbieter, bevor die Emulation gestartet wird. Dies kann bei einem automatisierten Testskript nützlich sein. socket muss eines der folgenden Formate verwenden:

  • tcp:port[,server][,max=seconds][,ipv6]
  • unix:port[,server][,max=seconds][,ipv6]

Verwenden Sie für weitere Informationen die Option -help-report-console, wie im Abschnitt über die Hilfe für bestimmte Optionen beschrieben.

-shell

Erstellt eine Root-Shell-Konsole auf dem aktuellen Terminal. Diese Option unterscheidet sich so vom Befehl adb shell:

  • Damit wird eine Root-Shell erstellt, mit der Sie viele Teile des Systems ändern können.
  • Sie funktioniert auch dann, wenn adb daemon im emulierten System fehlerhaft ist.
  • Drücken Sie Strg + C (oder Befehlstaste + C unter macOS), um den Emulator anstelle der Shell zu beenden.

Beispiele:

emulator @Nexus_5X_API_23 -shell
-snapshot name

Gibt den Namen eines Snapshots in einer Snapshot-Speicherdatei für automatische Start- und Speichervorgänge an.

Anstatt eine vollständige Startsequenz auszuführen, kann der Emulator die Ausführung von einem Snapshot eines früheren Zustands fortsetzen, was in der Regel deutlich schneller geht. Wenn Sie diese Option angeben, lädt der Emulator den Snapshot dieses Namens aus dem Snapshot-Image und speichert ihn beim Beenden unter demselben Namen.

Wenn Sie diese Option nicht verwenden, wird standardmäßig eine vollständige Startsequenz verwendet. Wenn der angegebene Snapshot nicht vorhanden ist, führt der Emulator stattdessen eine vollständige Bootsequenz und einen Speichervorgang durch.

Informationen zum Angeben einer Snapshot-Speicherdatei und der Standarddatei finden Sie unter der Option -snapstorage.

emulator @Nexus_5X_API_23 -snapshot snapshot2

Beim Laden eines Snapshots werden alle Inhalte des Systems, die Nutzerdaten und die SD-Karten-Images mit den Inhalten überschrieben, die zum Zeitpunkt der Erstellung des Snapshots vorhanden waren. Wenn Sie diese Informationen nicht in einem anderen Snapshot speichern, gehen alle seither vorgenommenen Änderungen verloren.

Mit dem Befehl avd snapshot save name können Sie auch einen Snapshot über die Emulatorkonsole erstellen. Weitere Informationen finden Sie unter Befehle der Emulator-Konsole senden.

-snapshot-list

Zeigt eine Liste der verfügbaren Snapshots an. Dieser Befehl gibt eine Tabelle mit Snapshots aus, die in der Snapshot-Speicherdatei gespeichert sind, mit der der Emulator gestartet wurde. Dann wird er beendet. Wenn Sie auch -snapstorage file angeben, gibt dieser Befehl eine Tabelle der in der Datei gespeicherten Snapshots aus.

Beispiele:

emulator @Nexus_5X_API_23 -snapshot-list -snapstorage
   ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img

Sie können die Werte der Spalten ID und TAG in der Ausgabe als Argumente für die Option -snapshot verwenden.

-snapstorage filepath

Gibt eine Repository-Datei an, die alle Status-Snapshots enthält. Alle während der Ausführung erstellten Snapshots werden in dieser Datei gespeichert. Nur Snapshots in dieser Datei können während der Emulatorausführung wiederhergestellt werden.

Beispiele:

emulator @Nexus_5X_API_23 -snapstorage
   ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img

Wenn Sie diese Option nicht angeben, wird im Datenverzeichnis der Standardwert snapshots.img verwendet. Wenn die angegebene Datei nicht vorhanden ist, wird der Emulator gestartet, allerdings ohne Unterstützung für das Speichern oder Laden von Status-Snapshots.

-sysdir dir

Gibt ein Systemverzeichnis mithilfe eines absoluten Pfads an. Weitere Informationen finden Sie im AVD-Systemverzeichnis. Beispiele:

emulator @Nexus_5X_API_23 -sysdir
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/test
-system filepath

Gibt eine anfängliche Systemdatei an. Gibt den Dateinamen und einen absoluten Pfad oder einen Pfad relativ zum Arbeitsverzeichnis an.

Beispiele:

emulator @Nexus_5X_API_23 -system
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/system-test.img

Wenn Sie diese Option nicht verwenden, wird standardmäßig die Datei system.img im Systemverzeichnis verwendet. Weitere Informationen finden Sie im AVD-Systemverzeichnis.

-use-system-libs

Verwendet unter Linux das System-libstdc++ anstelle der mit dem Emulatorsystem gebündelten Version. Verwenden Sie diese Option nur, wenn der Emulator nicht normal startet und nicht immer funktioniert. Alternativ können Sie die Umgebungsvariable ANDROID_EMULATOR_USE_SYSTEM_LIBS auf 1 festlegen.

Beispiele:

me-linux$ emulator @Nexus_5X_API_23 -use-system-libs
-writable-system

Verwenden Sie diese Option, um während der Emulationssitzung ein beschreibbares System-Image zu haben. Gehen Sie dazu so vor:

  1. Starten Sie ein virtuelles Gerät mit der Option -writable-system.
  2. Geben Sie den Befehl adb remount über ein Befehlsterminal ein, um den Emulator anzuweisen, system/ mit Lese-/Schreibzugriff wieder bereitzustellen. Standardmäßig wird es schreibgeschützt bereitgestellt.

Mit diesem Flag wird eine temporäre Kopie des System-Images erstellt. Diese kann sehr groß sein und mehrere hundert MB umfassen. Sie wird jedoch gelöscht, wenn der Emulator beendet wird.

Eingestellte Optionen

Die folgenden Befehlszeilenoptionen wurden eingestellt:

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -trace
  • -useaudio

Hilfe zu Befehlszeilenoptionen

In diesem Abschnitt wird beschrieben, wie Sie Hilfe zu den Befehlszeilenoptionen erhalten. Sie enthält ausführlichere Informationen zu den häufig verwendeten Befehlszeilenoptionen für Emulatoren, die beim Starten des Emulators verfügbar sind.

Alle Emulatoroptionen auflisten

Geben Sie den folgenden Befehl ein, um eine Liste aller Emulatoroptionen einschließlich einer kurzen Beschreibung auszugeben:

emulator -help

Detaillierte Hilfe zu einer bestimmten Option erhalten

Geben Sie den folgenden Befehl ein, um die Hilfe für eine bestimmte Startoption zu drucken:

emulator -help-option

Beispiele:

emulator -help-netspeed

Diese Hilfe ist ausführlicher als die Beschreibung der Option -help.

Detaillierte Hilfe zu allen Optionen

Geben Sie den folgenden Befehl ein, um ausführliche Hilfe zu allen Emulatoroptionen zu erhalten:

emulator -help-all

Emulator-Umgebungsvariablen auflisten

Geben Sie den folgenden Befehl ein, um eine Liste der Emulator-Umgebungsvariablen abzurufen:

emulator -help-environment

Sie können Umgebungsvariablen im Terminalfenster festlegen, bevor Sie ein virtuelles Gerät starten, oder über Ihre Nutzereinstellungen im Betriebssystem. Legen Sie das beispielsweise unter Linux in der Datei .bashrc fest.

Debug-Tags auflisten

Geben Sie den folgenden Befehl ein, um eine Liste der Tags für die -debug-Optionen auszugeben:

emulator -help-debug-tags

Mit den Optionen für -debug können Sie Fehlerbehebungsmeldungen von bestimmten Emulatorkomponenten aktivieren oder deaktivieren, wie in den Tags angegeben.