Jedes laufende virtuelle Gerät stellt eine Konsole bereit, mit der Sie das emulierte Geräteumgebung. Sie können die Konsole beispielsweise zur Verwaltung der Portweiterleitung, des Netzwerks Eigenschaften und Telefonieereignisse, während die App im Emulator ausgeführt wird.
Für die folgenden Befehle muss bereits ein Emulator ausgeführt werden. Weitere Informationen Informationen zum Ausführen eines Emulators findest du unter Apps im Android-Emulator ausführen und Starten Sie den Emulator über die Befehlszeile.
Konsolensitzung starten und beenden
Wenn Sie auf die Konsole zugreifen und Befehle über ein Terminalfenster eingeben möchten, verwenden Sie telnet
, um
Stellen Sie eine Verbindung zum Port der Konsole her und geben Sie Ihr Authentifizierungstoken an. Jedes Mal, wenn in der Konsole
OK, jetzt können Befehle angenommen werden. Es gibt keinen typischen Prompt.
So stellen Sie eine Verbindung zur Konsole eines laufenden virtuellen Geräts her:
- Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein:
- Wenn in der Konsole
OK
angezeigt wird, geben Sie den Befehlauth auth_token
ein. - Wenn Sie mit der Konsole verbunden sind, geben Sie Konsolenbefehle ein.
- Geben Sie zum Beenden der Konsolensitzung
quit
oderexit
ein.
telnet localhost console-port
Bei Ausführung in einem separaten Fenster wird im Titel des Emulatorfensters die Portnummer der Konsole aufgeführt.
nicht in einem Tool-Fenster. Beispiel: Fenstertitel für einen Emulator, der den Konsolenport 5554 verwendet
könnte Pixel8_API_34:5554
sein. Außerdem gibt der Befehl adb devices
Liste laufender virtueller Geräte und ihrer Konsolen-Portnummern Weitere Informationen finden Sie unter
Geräteabfrage
Hinweis: Der Emulator wartet auf Verbindungen an den Ports 5554 bis 5585.
und akzeptiert nur Verbindungen von localhost
.
Bevor Sie Konsolenbefehle eingeben können,
erfordert eine Authentifizierung. auth_token
muss
Sie suchen nach dem Inhalt der Datei .emulator_console_auth_token
in Ihrem Basisverzeichnis.
Sollte die Datei nicht vorhanden sein, wird der telnet localhost console-port
-Befehl erstellt die Datei, die ein zufällig generiertes Authentifizierungstoken enthält. Zum Deaktivieren
-Authentifizierung, löschen Sie das Token aus der
.emulator_console_auth_token
-Datei oder erstellen Sie eine leere Datei, falls sie noch nicht vorhanden ist.
help
, help command
oder help-verbose
eingeben
um eine Liste der Konsolenbefehle anzuzeigen und
.
Hier ist eine Beispielsitzung:
$ telnet localhost 5554 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Android Console: Authentication required Android Console: type 'auth <auth_token>' to authenticate Android Console: you can find your <auth_token> in '/Users/me/.emulator_console_auth_token' OK auth 123456789ABCdefZ Android Console: type 'help' for a list of commands OK help-verbose Android console command help: help|h|? Prints a list of commands help-verbose Prints a list of commands with descriptions ping Checks if the emulator is alive automation Manages emulator automation event Simulates hardware events geo Geo-location commands gsm GSM related commands cdma CDMA related commands crash Crashes the emulator instance crash-on-exit Simulates crash on exit for the emulator instance kill Terminates the emulator instance restart Restarts the emulator instance network Manages network settings power Power related commands quit|exit Quits control session redir Manages port redirections sms SMS related commands avd Controls virtual device execution qemu QEMU-specific commands sensor Manages emulator sensors physics Manages physical model finger Manages emulator finger print debug Controls the emulator debug output tags rotate Rotates the screen clockwise by 90 degrees screenrecord Records the emulator's display fold Folds the device unfold Unfolds the device multidisplay Configures the multi-display nodraw turn on/off NoDraw mode. (experimental) resize-display resize the display resolution to the preset size virtualscene-image customize virtualscene image for virtulscene camera proxy manage network proxy server settings phonenumber set phone number for the device try 'help <command>' for command-specific help OK exit Connection closed by foreign host.
Emulator-Befehlsreferenz
In der folgenden Tabelle werden die Emulator-Konsolenbefehle mit ihren Parametern und Werten beschrieben:
Tabelle 1 Emulator-Konsolenbefehle
Allgemeine Befehle | Beschreibung |
---|---|
avd {stop|start|status|name}
|
Das virtuelle Gerät wird wie folgt abgefragt, gesteuert und verwaltet:
<ph type="x-smartling-placeholder">
|
avd snapshot {list|save name|load name|delete
name}
|
So wird der Gerätestatus in Snapshots gespeichert und wiederhergestellt:
<ph type="x-smartling-placeholder">
Im folgenden Beispiel wird ein Snapshot mit dem Namen
avd snapshot save firstactivitysnapshot |
fold
|
Lässt sich das Gerät zusammenklappen, um die kleinere Bildschirmkonfiguration anzuzeigen, wenn es faltbar und gerade geöffnet. |
unfold
|
Klappt das Gerät auf, um das größere Display anzuzeigen, wenn es faltbar und zugeklappt ist. |
kill
|
Beendet das virtuelle Gerät. |
ping
|
Prüft, ob das virtuelle Gerät ausgeführt wird. |
rotate
|
Dreht das AVD in 45-Grad-Schritten gegen den Uhrzeigersinn. |
Emulator zum Absturz bringen | Beschreibung |
crash
|
Stürzt den Emulator während der App-Ausführung ab. |
crash-on-exit |
Stürzt den Emulator ab, wenn die App beendet wird. |
Tags zur Fehlerbehebung | Beschreibung |
debug tags ...
|
Aktiviert oder deaktiviert Debug-Meldungen von bestimmten Teilen des Emulators.
Der Parameter tags muss ein Wert aus der Liste der Debug-Tags sein, die angezeigt wird, wenn
führen Sie
Im folgenden Beispiel wird das debug radio |
Portweiterleitung | Beschreibung |
redir list
|
Listet die aktuelle Portweiterleitung auf. |
redir add protocol:host-port:guest-port
|
Dadurch wird eine neue Portweiterleitung hinzugefügt:
<ph type="x-smartling-placeholder">
|
redir del protocol:host-port
|
Löscht eine Portweiterleitung.
|
Geografischer Standort | Beschreibung |
Legt den geografischen Standort fest, der an die in einem Emulator ausgeführten Apps gemeldet wird durch Senden einer GPS-Position an den Emulator. Sie können einen der folgenden |
|
geo fix longitude latitude [altitude] [satellites] [velocity]
|
Sendet ein einfaches GPS-Signal an den Emulator.
longitude und latitude angeben
in Dezimalgraden angegeben werden. Verwenden Sie eine Zahl zwischen 1 und 12, um die Anzahl der
satellites zur Bestimmung der Position,
und altitude in Metern und
velocity in Knoten.
|
geo nmea sentence
|
Sendet einen NMEA 0183-Satz an das emulierte Gerät, als ob es von einem emulierten Gerät gesendet wurde
GPS-Modem. Beginnen Sie sentence mit "$GP".
Nur '$GPGGA' und "$GPRCM" Sätze werden derzeit unterstützt. Im folgenden Beispiel
ist ein GPGGA-Satz (Global Positioning System Fix Data), der
Uhrzeit, Position und Korrektur der Daten eines GPS-Empfängers:
geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx |
Gefälschte Hardwareereignisse | Beschreibung |
event types
|
Listet alle gefälschten Ereignistypen auf. Für Ereignisse mit Codes wird die Anzahl der Codes in
Klammern auf der rechten Seite.
event types event <type> can be an integer or one of the following aliases: EV_SYN EV_KEY (405 code aliases) EV_REL (2 code aliases) EV_ABS (27 code aliases) EV_MSC EV_SW (4 code aliases) EV_LED EV_SND EV_REP EV_FF EV_PWR EV_FF_STATUS EV_MAX OK |
event send types [types ...]
|
Sendet einen oder mehrere gefälschte Ereignistypen. |
event codes type
|
Listet die Ereigniscodes für den angegebenen fiktiven Ereignistyp auf. |
event send type[:code]:[value] [...]
|
Sendet ein oder mehrere gefälschte Ereignisse mit optionalen Codes und Codewerten.
Um genau zu ermitteln, welches Ereignis gesendet werden soll, können Sie den Befehl Folgende Ereignisse werden erzeugt, wenn Sie die Ein/Aus-Taste drücken: adb shell getevent -lt /dev/input/event12: EV_KEY KEY_POWER DOWN /dev/input/event12: EV_SYN SYN_REPORT 00000000 /dev/input/event12: EV_KEY KEY_POWER UP /dev/input/event12: EV_SYN SYN_REPORT 00000000Wenn Sie beispielsweise ein langes Drücken der Ein/Aus-Taste simulieren möchten, senden Sie zwei EV_KEY -Ereignisse für Keydown und Keyup:
event send EV_KEY:KEY_POWER:0 OK event send EV_KEY:KEY_POWER:1 OK |
event text message
|
Sendet eine Zeichenfolge, die Tastendrücke simuliert. Die Nachricht muss ein UTF-8-String sein. Unicode-Beiträge werden entsprechend der aktuellen Gerätetastatur umgekehrt zugeordnet und nicht unterstützt. Zeichen werden ohne Meldung verworfen. |
Ein/Aus-Taste | Beschreibung |
power display
|
Zeigt den Akku- und Ladegerätstatus an. |
power ac {on|off}
|
Legt den AC-Ladestatus auf on oder off fest.
|
power status {unknown|charging|discharging|not-charging|full}
|
Ändert den Akkustatus wie angegeben. |
power present {true|false}
|
Legt den Akku-Anwesenheitsstatus fest. |
power health {unknown|good|overheat|dead|overvoltage|failure}
|
Legt den Akkuzustand fest. |
power capacity percent
|
Legt die verbleibende Akkukapazität fest Prozentangabe von 0 bis 100 angeben. |
Status der Netzwerkverbindung | Beschreibung |
network status
|
Prüft den Netzwerkstatus sowie die aktuellen Verspätungs- und Geschwindigkeitsmerkmale. |
network delay latency
|
Ändert die emulierte Netzwerklatenz. Mit dem Emulator können Sie verschiedene Netzwerk-Latenzstufen simulieren, um Ihre in einer Umgebung, die eher für die tatsächlichen Laufbedingungen geeignet ist. Sie können Latenzstufe oder -bereich beim Start des Emulators festlegen oder die Methode Konsole, um die Latenz zu ändern, während die Anwendung im Emulator ausgeführt wird. Das Netzwerk latency hat folgendes Format (Zahlen sind Millisekunden): Netzwerklatenzformat:
Verwenden Sie emulator -netdelay gprs emulator -netdelay 40,100 Wenn Sie Änderungen an der Netzwerkverzögerung vornehmen möchten, während der Emulator ausgeführt wird, stellen Sie eine Verbindung zur Konsole her und verwenden Sie
den Befehl network delay gprs network delay 40 100 |
network speed speed |
Mit dem Emulator können Sie verschiedene Netzwerkübertragungsraten simulieren.
Sie können beim Start des Emulators eine Übertragungsrate oder einen Bereich festlegen die Rate ändern, während die App im Emulator ausgeführt wird. Das Netzwerk Format der Netzwerkgeschwindigkeit:
Verwende emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Wenn du die Netzwerkgeschwindigkeit ändern möchtest, während der Emulator ausgeführt wird, stelle eine Verbindung zur Konsole her
und verwenden Sie den Befehl network speed 14.4 80 |
network capture {start|stop} file |
Sendet Pakete an eine Datei. In der folgenden Liste werden die Parameter und
Parameterwerte verwenden:
<ph type="x-smartling-placeholder">
|
Telefonieemulation | Beschreibung |
Der Android Emulator enthält eigene GSM- und CDMA-emulierte Modems, mit denen Sie Telefonie simulieren können Funktionen im Emulator. Mit GSM können Sie beispielsweise eingehende Anrufe simulieren und und Datenverbindungen beenden. Mit CDMA geben Sie eine Abonnementquelle und die bevorzugte Roaming-Liste. Das Android-System verarbeitet simulierte Anrufe genau wie tatsächliche Anrufe. Die Emulator unterstützt Anrufe nicht. | |
gsm {call|accept|cancel|busy} phonenumber
|
Die gsm -Parameter sind:
<ph type="x-smartling-placeholder">
|
gsm {data|voice} state
|
Der Befehl data state ändert den Status der GPRS-Datenverbindung.
und der Befehl data voice state ändert den Status der GPRS-Stimme.
Verbindung:
<ph type="x-smartling-placeholder">
|
gsm hold
|
Ändert den Status eines Aufrufs in hold . Sie können einen
Aufruf von hold nur dann, wenn der aktuelle Status active ist oder
waiting
|
gsm list
|
Listet alle ein- und ausgehenden Anrufe und deren Status auf |
gsm status
|
Meldet den aktuellen GSM-Sprach-/Datenstatus. Werte sind diejenigen,
für die Befehle voice und data beschrieben.
|
gsm signal {rssi|ber}
|
Ändert die gemeldete Signalstärke (rssi) und Bitfehlerrate (Ber) auf den nächsten 15 Tagen
Sekunden nach dem Update. In der folgenden Liste werden die Parameter und ihre Werte beschrieben:
<ph type="x-smartling-placeholder">
|
gsm signal-profile num
|
Legt das Signal für die Signalstärke fest.
num ist eine Zahl zwischen 0 und 4.
|
cdma ssource source
|
Legt die aktuelle CDMA-Aboquelle fest, wobei
source ist eine netzwerkbasierte Zulassungsliste, die Folgendes enthält:
Abonnenten des CDMA-Anbieters und ihre Werte:
<ph type="x-smartling-placeholder">
|
cdma prl_version version
|
Speichert die aktuelle Version der bevorzugten Roaming-Liste (PRL). Die Versionsnummer ist für die PRL. Datenbank, die Informationen enthält, die während der Systemauswahl und -erfassung verwendet werden. |
Sensoren im Emulator verwalten | Beschreibung |
Diese Befehle beziehen sich
welche Sensoren im AVD verfügbar sind. Neben dem Befehl sensor
die Einstellungen im Emulator auf dem Bildschirm Virtuelle Sensoren in
die Tabs Beschleunigungsmesser und Zusätzliche Sensoren.
|
|
sensor status |
Listet alle Sensoren und deren Status auf. Hier sehen Sie eine Beispielausgabe für den
Befehl sensor status :
|
sensor get sensor-name
|
Ruft die Einstellungen für sensor-name ab. Im folgenden Beispiel wird der
Wert für den Beschleunigungssensor:
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348
Die durch Doppelpunkt(:) getrennten |
sensor set sensor-name value-x:value-y:value-z
|
Legt die Werte für sensor-name fest. Im folgenden Beispiel wird der Parameter
Beschleunigungssensor auf die x-, y- und z-Werte
durch Doppelpunkte getrennt.
sensor set acceleration 2.23517e-07:9.77631:0.812348 |
SMS-Emulation | Beschreibung |
sms send sender-phone-number textmessage
|
Generiert eine emulierte eingehende SMS. In der folgenden Liste werden die Parameter und
ihre Werte:
<ph type="x-smartling-placeholder">
Im folgenden Beispiel wird die Nachricht „Hallo“ gesendet. an die Telefonnummer 4085555555: sms send 4085555555 hi there Die Konsole leitet die SMS-Nachricht an das Android-Framework weiter, das sie anschließend an einen App im Emulator, der SMS verarbeitet, z. B. die Messages App. Wenn Sie 10 Zahlen übergeben, in der App als Telefonnummer formatiert. Längere oder kürzere numerische Zeichenfolgen zeigen die Art und Weise an, die Sie gesendet haben.
|
Fingerabdrucksimulation | Beschreibung |
finger touch fingerprint-id
|
Simuliert einen Finger, der den Sensor berührt. |
finger remove
|
Simuliert die Fingerentfernung.
Anweisungen zur Verwendung dieser Befehle finden Sie im folgenden Abschnitt zu Fingerabdrucksimulation und -validierung testen. |
Fingerabdrucksimulation und -validierung
![](https://developer.android.com/static/studio/images/run/fingerprint_2x.png?authuser=0000&hl=de)
Abbildung 1: Bildschirm zur Authentifizierung per Fingerabdruck.
Verwenden Sie den Befehl finger
, um die Fingerabdruckauthentifizierung für Ihr
Sie benötigen SDK Tools 24.3 oder höher und Android 6.0 (API-Level 23) oder höher.
So simulieren und validieren Sie die Fingerabdruckauthentifizierung:
- Wenn Sie noch keine Fingerabdruck-ID haben, registrieren Sie einen neuen Fingerabdruck im Emulator indem Sie Einstellungen > Sicherheit > Fingerabdruck unter Einhaltung der Registrierungsanleitung.
- Richte deine App so ein, dass sie akzeptiert wird Fingerabdruck Authentifizierung. Nach dieser Einrichtung wird auf deinem Gerät der Fingerabdruck angezeigt Authentifizierungsbildschirm.
- Während Ihre App den Authentifizierungsbildschirm für den Fingerabdruck anzeigt, rufen Sie die Konsole auf und
Geben Sie den Befehl
finger touch
und die von Ihnen erstellte Fingerabdruck-ID ein. Dieses eine Fingerberührung simuliert. - Geben Sie dann den Befehl
finger remove
ein, um die Fingerentfernung zu simulieren.Ihre App sollte so reagieren, als hätte ein Nutzer den Finger auf dem Gerät Fingerabdrucksensor verwenden.