Każde uruchomione urządzenie wirtualne udostępnia konsolę, która umożliwia wysyłanie zapytań dotyczących emulowanego środowiska urządzenia i sterowanie nim. W konsoli możesz na przykład zarządzać przekierowaniem portów, danymi sieciowymi i zdarzeniami telefonicznymi, gdy aplikacja działa w emulatorze.
Poniższe polecenia wymagają uruchomienia emulatora. Więcej informacji o uruchamianiu emulatora znajdziesz w artykułach Uruchamianie aplikacji przy użyciu emulatora Androida oraz Uruchamianie emulatora z poziomu wiersza poleceń.
Rozpoczynanie i zatrzymywanie sesji w konsoli
Aby uzyskać dostęp do konsoli i wpisać polecenia w oknie terminala, połącz się z portem konsoli i podaj token uwierzytelniania za pomocą telnet
. Za każdym razem, gdy w konsoli wyświetli się OK, będzie można przyjąć polecenia. Nie ma typowego promptu.
Aby połączyć się z konsolą uruchomionego urządzenia wirtualnego:
- Otwórz okno terminala i wpisz następujące polecenie:
- Gdy w konsoli wyświetli się
OK
, wpisz polecenieauth auth_token
. - Po nawiązaniu połączenia z konsolą wpisz polecenia konsoli.
- Aby zamknąć sesję konsoli, wpisz
quit
lubexit
.
telnet localhost console-port
Tytuł okna emulatora zawiera numer portu konsoli, gdy aplikacja jest uruchomiona w osobnym oknie, ale nie w oknie narzędzia. Na przykład tytuł okna emulatora używającego portu 5554 w konsoli może mieć nazwę Pixel8_API_34:5554
. Oprócz tego polecenie adb devices
powoduje wyświetlenie listy uruchomionych urządzeń wirtualnych wraz z numerami portów konsoli. Więcej informacji znajdziesz w artykule o wysyłaniu zapytań dotyczących urządzeń.
Uwaga: emulator nasłuchuje połączeń na portach od 5554 do 5585 i akceptuje tylko połączenia od localhost
.
Zanim zaczniesz wpisywać polecenia konsoli, konsola emulatora wymaga uwierzytelnienia. auth_token
musi być zgodny z zawartością pliku .emulator_console_auth_token
w katalogu głównym.
Jeśli taki plik nie istnieje, polecenie telnet localhost console-port
utworzy plik zawierający losowo wygenerowany token uwierzytelniania. Aby wyłączyć uwierzytelnianie, usuń token z pliku .emulator_console_auth_token
lub utwórz pusty plik, jeśli nie istnieje.
Wpisz help
, help command
lub help-verbose
, aby wyświetlić listę poleceń konsoli i dowiedzieć się więcej o konkretnych poleceniach.
Oto przykładowa sesja:
$ 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.
Informacje o poleceniach emulatora
W poniższej tabeli opisano polecenia konsoli emulatora wraz z ich parametrami i wartościami:
Polecenia ogólne | Opis |
---|---|
avd {stop|start|status|name}
|
Wykonuje zapytania dotyczące urządzenia wirtualnego i nim zarządza oraz nim zarządza:
|
avd snapshot {list|save name|load name|delete
name}
|
Zapisuje i przywraca stan urządzenia w zrzutach w ten sposób:
Ten przykład zapisuje zrzut o nazwie avd snapshot save firstactivitysnapshot |
fold
|
Składa urządzenie, aby wyświetlić konfigurację z mniejszym ekranem, jeśli jest składane i obecnie rozłożone. |
unfold
|
Otwiera urządzenie, aby wyświetlić jego większą konfigurację, jeśli jest składane i obecnie złożone. |
kill
|
Zatrzymuje urządzenie wirtualne. |
ping
|
Sprawdza, czy urządzenie wirtualne jest uruchomione. |
rotate
|
Obraca AVD w lewo o 45 stopni. |
Wyłącz emulator | Opis |
crash
|
Powoduje awarię emulatora podczas uruchamiania aplikacji. |
crash-on-exit |
Powoduje awarie emulatora przy zamykaniu aplikacji. |
Tagi debugowania | Opis |
debug tags ...
|
Włącza lub wyłącza komunikaty debugowania pochodzące z określonych części emulatora.
Parametr tags musi należeć do listy tagów debugowania, która pojawia się po wykonaniu polecenia
Poniższy przykład pozwala włączyć tag debug radio |
Przekierowanie portu | Opis |
redir list
|
Wyświetla listę bieżących przekierowań portów. |
redir add protocol:host-port:guest-port
|
Dodaje nowe przekierowanie portów w ten sposób:
|
redir del protocol:host-port
|
Usuwa przekierowanie portów.
|
Lokalizacja geograficzna | Opis |
Określa lokalizację geograficzną zgłaszaną aplikacjom uruchomionym w emulatorze, wysyłając do emulatora sygnał GPS. Gdy tylko urządzenie wirtualne zostanie uruchomione, możesz uruchomić jedno z tych poleceń |
|
geo fix longitude latitude [altitude] [satellites] [velocity]
|
Wysyła do emulatora prosty sygnał GPS.
Podaj longitude i latitude w stopniach dziesiętnych. Wpisz liczbę od 1 do 12, aby określić liczbę elementów satellites , która ma zostać użyta do określenia pozycji, i określ altitude w metrach oraz velocity w węzłach.
|
geo nmea sentence
|
Wysyła zdanie NMEA 0183 do emulowanego urządzenia, tak jakby zostało wysłane z emulowanego modemu GPS. Rozpocznij sentence od „$GP”.
Obecnie obsługiwane są tylko zdania „$GPGGA” i „$GPRCM”. W poniższym przykładzie
jest to zdanie GPGGA (Global Positioning System Fix Data), które podaje czas, położenie i dane stałe dla odbiornika GPS:
geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx |
Zdarzenia związane z fałszywym sprzętem | Opis |
event types
|
Zawiera listę wszystkich fałszywych typów zdarzeń. W przypadku zdarzeń, które mają kody, ich liczba jest podana w nawiasach po prawej stronie.
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 ...]
|
Wysyła co najmniej 1 fałszywy rodzaj zdarzenia. |
event codes type
|
Zawiera listę kodów zdarzeń określonego typu fałszywego zdarzenia. |
event send type[:code]:[value] [...]
|
Wysyła co najmniej 1 fałszywe wydarzenie z opcjonalnymi kodami i wartościami kodu.
Aby dowiedzieć się, które zdarzenie wysłać, możesz użyć polecenia Są to zdarzenia generowane po naciśnięciu przycisku zasilania: 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 00000000Aby na przykład symulować przytrzymanie przycisku zasilania, wyślij 2 zdarzenia EV_KEY związane z naciśnięciem klawisza i naciśnięciem klawisza: event send EV_KEY:KEY_POWER:0 OK event send EV_KEY:KEY_POWER:1 OK |
event text message
|
Wysyła ciąg znaków symulujący naciśnięcia klawiszy. Wiadomość musi być ciągiem znaków UTF-8. Posty w standardzie Unicode są mapowane wstecznie zgodnie z bieżącą klawiaturą urządzenia, a nieobsługiwane znaki są odrzucane bez powiadomienia. |
Elementy sterujące stanem zasilania | Opis |
power display
|
Wyświetla stan baterii i ładowarki. |
power ac {on|off}
|
Ustawia stan ładowania AC na on lub off .
|
power status {unknown|charging|discharging|not-charging|full}
|
Zmienia stan baterii zgodnie z określonym ustawieniem. |
power present {true|false}
|
Ustawia stan obecności baterii. |
power health {unknown|good|overheat|dead|overvoltage|failure}
|
Określa stan baterii. |
power capacity percent
|
Ustawia stan pozostałej pojemności baterii jako procent od 0 do 100. |
Stan połączenia sieciowego | Opis |
network status
|
Sprawdza stan sieci oraz bieżące parametry opóźnienia i szybkości. |
network delay latency
|
Zmienia emulowane opóźnienie sieciowe. Emulator umożliwia symulację różnych poziomów opóźnień w sieci, dzięki czemu możesz przetestować aplikację w środowisku bardziej typowym dla rzeczywistych warunków działania. Możesz ustawić poziom lub zakres opóźnienia podczas uruchamiania emulatora albo zmienić czas oczekiwania, gdy aplikacja działa w emulatorze, za pomocą konsoli. Sieć latency ma jeden z tych formatów (liczby są wyrażone w milisekundach): Format opóźnienia sieciowego:
Aby ustawić czas oczekiwania podczas uruchamiania emulatora, użyj opcji emulatora emulator -netdelay gprs emulator -netdelay 40,100 Aby zmienić opóźnienie sieci, gdy emulator jest uruchomiony, połącz się z konsolą i użyj polecenia network delay gprs network delay 40 100 |
network speed speed |
Emulator pozwala symulować różne szybkości przesyłania danych w sieci.
Możesz ustawić szybkość lub zakres transferu podczas uruchamiania emulatora albo zmienić ją za pomocą konsoli, gdy aplikacja działa w emulatorze. Sieć Format szybkości sieci:
Aby ustawić szybkość sieci podczas uruchamiania emulatora, użyj opcji emulatora emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Aby zmienić szybkość sieci, gdy emulator jest uruchomiony, połącz się z konsolą i użyj polecenia network speed 14.4 80 |
network capture {start|stop} file |
Wysyła pakiety do pliku. Na liście znajdziesz parametry i ich wartości:
|
Emulacja telefonii | Opis |
Emulator Androida zawiera własny modem GSM i CDMA, który pozwala symulować funkcje telefoniczne w emulatorze. W GSM możesz na przykład symulować przychodzące połączenia telefoniczne oraz nawiązywać i kończyć połączenia do transmisji danych. W przypadku CDMA należy podać źródło subskrypcji i preferowaną listę roamingową. System Android obsługuje symulowane połączenia dokładnie tak samo, jak rzeczywiste połączenia. Emulator nie obsługuje dźwięku połączeń. | |
gsm {call|accept|cancel|busy} phonenumber
|
Parametry gsm :
|
gsm {data|voice} state
|
Polecenie data state zmienia stan połączenia danych GPRS, a polecenie data voice state powoduje zmianę stanu połączenia głosowego GPRS w następujący sposób:
|
gsm hold
|
Zmienia stan wywołania na hold . Stan wywołania możesz zmienić na hold tylko wtedy, gdy jego bieżący stan to active lub waiting .
|
gsm list
|
Zawiera listę wszystkich połączeń przychodzących i wychodzących oraz ich stanów. |
gsm status
|
Raportuje bieżący stan głosu/danych GSM. Wartości to wartości opisane dla poleceń voice i data .
|
gsm signal {rssi|ber}
|
Zmienia siłę sygnału (rssi) i współczynnik błędów transmisji bitów (ber) w ciągu kolejnych 15 sekund aktualizacji. Na liście poniżej znajdziesz parametry i ich wartości:
|
gsm signal-profile num
|
Określa profil siły sygnału.
num jest liczbą od 0 do 4.
|
cdma ssource source
|
Ustawia bieżące źródło subskrypcji CDMA, gdzie source to sieciowa lista dozwolonych zawierająca subskrybentów operatora CDMA oraz ich wartości:
|
cdma prl_version version
|
Usuwa bieżącą wersję preferowanej listy roamingowych (PRL). Numer wersji dotyczy bazy danych PRL, która zawiera informacje używane podczas procesu wyboru i pozyskiwania systemu. |
Zarządzaj czujnikami w emulatorze | Opis |
Polecenia te odnoszą się do tego, które czujniki są dostępne w AVD. Oprócz użycia polecenia sensor możesz wyświetlić i dostosować ustawienia emulatora na ekranie Czujniki wirtualne na kartach Akcelerometr i Dodatkowe czujniki.
|
|
sensor status |
Zawiera listę wszystkich czujników i ich stan. Oto przykładowe dane wyjściowe polecenia sensor status :
|
sensor get sensor-name
|
Pobiera ustawienia dla zakresu: sensor-name . W tym przykładzie pobiera się wartość czujnika przyspieszenia:sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348
Wartości |
sensor set sensor-name value-x:value-y:value-z
|
Ustawia wartości dla funkcji sensor-name . W tym przykładzie czujnik przyspieszenia ustawia wartości x, y i Z rozdzielone dwukropkami.
sensor set acceleration 2.23517e-07:9.77631:0.812348 |
Emulacja SMS-ów | Opis |
sms send sender-phone-number textmessage
|
Generowanie emulowanego przychodzącego SMS-a. Na liście znajdziesz parametry i ich wartości:
Poniższy przykład wysyła wiadomość „Cześć” na numer telefonu 4085555555: sms send 4085555555 hi there Konsola przekazuje SMS-a do platformy Androida, co przekazuje go do aplikacji w emulatorze, która obsługuje SMS-y (np. do aplikacji Wiadomości). Jeśli przekażesz 10 numerów, aplikacja sformatuje je jako numer telefonu. Dłuższe lub krótsze ciągi liczbowe będą wyświetlać sposób ich wysłania.
|
Symulacja odcisku palca | Opis |
finger touch fingerprint-id
|
Symuluje palec dotykający czujnika. |
finger remove
|
Symuluje usunięcie palca.
Instrukcje używania tych poleceń znajdziesz w sekcji o symulacji i walidacji odcisku palca. |
Symulacja i weryfikacja odcisku palca
Aby zasymulować i zweryfikować uwierzytelnianie odciskiem palca w swojej aplikacji, użyj polecenia finger
. Aby to zrobić, potrzebujesz pakietu SDK Tools w wersji 24.3 lub nowszej oraz Androida w wersji 6.0 (poziom interfejsu API 23) lub nowszej.
Aby przeprowadzić symulację i zweryfikować uwierzytelnianie odciskiem palca, wykonaj te czynności:
- Jeśli nie masz jeszcze identyfikatora odcisku palca, zarejestruj nowy odcisk palca w emulatorze. Aby to zrobić, wybierz Ustawienia > Zabezpieczenia > Odcisk palca, i postępuj zgodnie z instrukcjami rejestracji.
- Skonfiguruj aplikację tak, aby akceptowała uwierzytelnianie odciskiem palca. Po zakończeniu konfiguracji na urządzeniu wyświetli się ekran uwierzytelniania odciskiem palca.
- Gdy aplikacja wyświetli ekran uwierzytelniania odciskiem palca, otwórz konsolę i wpisz polecenie
finger touch
oraz utworzony identyfikator odcisku palca. Symuluje dotknięcie palca. - Następnie wpisz polecenie
finger remove
, aby zasymulować usuwanie palca.Aplikacja powinna reagować tak, jakby użytkownik dotknął, a potem wyjął palec z czytnika linii papilarnych.