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:
- Erstellen und verpacken Sie Ihre App in einem APK, wie unter App erstellen und ausführen beschrieben.
- Starten Sie den Emulator über die Befehlszeile, wie im vorherigen Abschnitt beschrieben, und verwenden Sie dabei alle erforderlichen Startoptionen.
- Installieren Sie die App mit
adb
. - 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 stehtandroid-M
für die Android Marshmallow-Vorschau. Beim Release wurde es API-Level 23 erreicht, das durchandroid-23
gekennzeichnet ist.variant
ist ein Name, der bestimmten vom System-Image implementierten Funktionen entspricht. Beispiel:google_apis
oderandroid-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:
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:
Datei | Beschreibung | Option zur Angabe einer anderen Datei |
---|---|---|
userdata-qemu.img
|
Der Inhalt der Datenpartition, der im emulierten System als
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 |
-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
Beim Definieren eines AVD im AVD-Manager können Sie eine automatisch verwaltete SD-Kartendatei oder eine Datei verwenden, die Sie mit dem
Mit der Emulator-UI oder dem
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 Der Emulator behandelt die Datei als einen Byte-Pool, sodass das SD-Kartenformat keine Rolle spielt.
Die Option |
-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:
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.
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 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 |
-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 |
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:
Verwenden Sie die Option
emulator -help-debug-tags
Sie können die Standard-Debug-Tags in der Umgebungsvariable
ANDROID_VERBOSE=socket,gles Dies entspricht der Verwendung von:
oder
|
-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 |
-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
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 Weitere Informationen zu Logcat und |
-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 |
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,
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 |
-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
Das Präfix
Wenn diese Option nicht angegeben ist, sucht der Emulator nach der Umgebungsvariable |
-netdelay delay
|
Legt die Emulation der Netzwerklatenz auf einen der folgenden
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 |
-netfast
|
Deaktiviert die Netzwerkdrosselung. Beispiele:
emulator @Nexus_5X_API_23 -netfast
Diese Option entspricht der Angabe von |
-netspeed speed
|
Legt die Emulation der Netzwerkgeschwindigkeit fest. Gibt die maximale Upload- und Downloadgeschwindigkeit im Netzwerk mit einem der folgenden
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 |
-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
Die Portzuweisungen sind oft mit der Angabe von Die Option
Wenn der Wert für |
-ports
|
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
Wir empfehlen, nach Möglichkeit stattdessen die Option
Weitere Informationen zum Festlegen von Konsolen- und |
-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
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:
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 |
-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 |
-timezone timezone
|
Legt die Zeitzone für das virtuelle Gerät auf 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
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
|
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.
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-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 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 |
-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 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 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 |
-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 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 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 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 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 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.
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 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 |
-report-console socket
|
Meldet den Konsolenport einem Remote-Drittanbieter, bevor die Emulation gestartet wird. Dies kann bei einem automatisierten Testskript nützlich sein.
Verwenden Sie für weitere Informationen die Option |
-shell
|
Erstellt eine Root-Shell-Konsole auf dem aktuellen Terminal. Diese Option unterscheidet sich so vom Befehl
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 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 |
-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 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 |
-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 |
-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 |
-use-system-libs
|
Verwendet unter Linux das System- 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:
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.