Każde uruchomione urządzenie wirtualne udostępnia konsolę, która umożliwia wysyłanie zapytań do emulowanych urządzeń oraz sterowanie nimi. środowisku urządzenia. Za pomocą konsoli możesz na przykład zarządzać przekierowaniem portów, siecią charakterystyki i zdarzeń telefonicznych, gdy aplikacja działa z emulatorem.
Poniższe polecenia wymagają uruchomienia emulatora. Więcej informacje na temat uruchamiania emulatora, zobacz Uruchamianie aplikacji za pomocą emulatora Androida oraz Uruchom emulator z wiersza poleceń.
Rozpoczynanie i zatrzymywanie sesji w konsoli
Aby uzyskać dostęp do konsoli i wpisać polecenia w oknie terminala, naciśnij telnet
do
połączyć się z portem konsoli i podać token uwierzytelniania. Za każdym razem, gdy konsola wyświetli się
OK, aplikacja jest gotowa do akceptowania poleceń. 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 jest uruchomiony w osobnym oknie, ale
a nie podczas uruchamiania w oknie narzędzia. Na przykład tytuł okna emulatora używającego portu 5554 w konsoli
może wynosić Pixel8_API_34:5554
. Oprócz tego polecenie adb devices
generuje
lista uruchomionych urządzeń wirtualnych wraz z numerami portów konsoli. Więcej informacji:
Zapytanie dotyczące urządzeń.
Uwaga: emulator nasłuchuje połączeń na portach od 5554 do 5585.
i akceptuje tylko połączenia z localhost
.
Zanim wpiszesz polecenia konsoli, konsola emulatora
wymaga uwierzytelnienia. auth_token
musi
pasują do zawartości pliku .emulator_console_auth_token
w katalogu głównym.
Jeśli taki plik nie istnieje, telnet localhost console-port
tworzy plik, który zawiera losowo wygenerowany token uwierzytelniania. Aby wyłączyć
do uwierzytelniania, usuń token z
.emulator_console_auth_token
lub utwórz pusty plik, jeśli taki plik nie istnieje.
Wpisz help
, help command
lub help-verbose
aby zobaczyć listę poleceń konsoli i dowiedzieć się więcej na temat
poleceń.
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 następujący sposób:
Poniższy 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, rozłożony. |
unfold
|
Otwiera urządzenie, aby wyświetlić jego większą konfigurację (jeśli jest składane). 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 awarię 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 być wartością z listy tagów debugowania, która pojawia się, gdy
wykonujesz
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 |
Ustawia lokalizację geograficzną zgłaszaną aplikacjom działającym w emulatorze wysyłając sygnał GPS do emulatora. Natychmiast po uruchomieniu wirtualnym możesz wydać jedno z poniższych 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ę z zakresu od 1 do 12, aby określić liczbę
satellites , aby użyć do określenia pozycji,
i określ altitude w metrach,
velocity w węzłach.
|
geo nmea sentence
|
Wysyła zdanie NMEA 0183 do emulowanego urządzenia w taki sposób, jakby zostało wysłane z emulowanego urządzenia
Modem GPS. Rozpocznij sentence od „$GP”.
Tylko „$GPGGA” i „$GPRCM” zdania są obecnie obsługiwane. Przykład poniżej
to zdanie GPGGA (Global Positioning System Fix Data), w którym
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 wydarzeń z kodami liczba kodów jest podana w
nawiasy 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 Oto 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 00000000 EV_KEY dla Keydown i Keyupa:
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 i nie są obsługiwane są odrzucane po cichu. |
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 pozostałą pojemność 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 pozwala symulować różne poziomy opóźnień sieci, by można było w środowisku bardziej typowym dla rzeczywistego środowiska. Dostępne opcje ustaw poziom lub zakres czasu oczekiwania przy uruchamianiu emulatora. Możesz też użyć funkcji w konsoli, aby zmienić czas oczekiwania, gdy aplikacja działa w emulatorze. 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 funkcji emulator -netdelay gprs emulator -netdelay 40,100 Aby zmienić opóźnienie sieci, gdy emulator jest uruchomiony, połącz się z konsolą i użyj
z 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 za pomocą konsoli zmienia szybkość działania aplikacji w emulatorze. Sieć Format szybkości sieci:
Aby ustawić szybkość sieci podczas uruchamiania emulatora, użyj opcji emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Aby zmienić szybkość sieci, gdy działa emulator, 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 poniżej znajdziesz parametry
wartości parametrów:
|
Emulacja telefonii | Opis |
Emulator Androida zawiera własny modem GSM i CDMA, który pozwala symulować połączenia telefoniczne. w emulatorze. W GSM można na przykład symulować przychodzące połączenia telefoniczne i ustalać, i zakończyć połączenia do transmisji danych. W przypadku CDMA podajesz źródło subskrypcji i preferowane 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 zmienia stan głosu GPRS
w następujący sposób:
|
gsm hold
|
Zmienia stan wywołania na hold . Możesz zmienić
stan wywołania 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 te
opisanych dla poleceń voice i data .
|
gsm signal {rssi|ber}
|
W kolejnych 15 zmienia siłę sygnału (rssi) i liczbę błędów transmisji bitów (ber).
sekund aktualizacji. Poniższa lista zawiera opis parametrów 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, która zawiera
Subskrybenci operatora CDMA wraz z ich wartościami:
|
cdma prl_version version
|
Usuwa bieżącą wersję preferowanej listy roamingowych (PRL). Numer wersji dotyczy listy PRL baza danych zawierająca informacje używane podczas procesu wyboru i pozyskiwania systemu. |
Zarządzaj czujnikami w emulatorze | Opis |
Te polecenia odnoszą się do
które czujniki są dostępne w AVD. Poza używaniem polecenia sensor możesz
będzie mógł wyświetlać i zmieniać ustawienia emulatora na ekranie Czujniki wirtualne w
karty Akcelerometr i Dodatkowe czujniki.
|
|
sensor status |
Zawiera listę wszystkich czujników i ich stan. Poniżej znajdziesz przykładowe dane wyjściowe funkcji
Polecenie sensor status :
|
sensor get sensor-name
|
Pobiera ustawienia dla zakresu: sensor-name . W poniższym przykładzie
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 . Ten przykład ustawia
czujnik przyspieszenia do 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
|
Generuje emulowane przychodzące SMS-y. Na liście poniżej znajdziesz parametry
ich wartości:
Poniższy przykład wysyła wiadomość „Cześć” pod numer telefonu 4085555555: sms send 4085555555 hi there Konsola przekazuje SMS-a do platformy Androida, która przekazuje go do w emulatorze, który obsługuje SMS-y, np. Wiadomości. Jeśli przekażesz 10 cyfr, formatuje go jako numer telefonu. Dłuższe lub krótsze ciągi liczbowe pokazują sposób od Ciebie.
|
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 poniżej symulacji i walidacji odcisku palca. |
Symulacja i weryfikacja odcisku palca
Użyj polecenia finger
, aby zasymulować i zweryfikować uwierzytelnianie odciskiem palca na urządzeniu
. Potrzebujesz pakietu SDK Tools w wersji 24.3 lub nowszej i Androida 6.0 (poziom interfejsu API 23) lub nowszego.
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 wybierając Ustawienia > Bezpieczeństwo > Odcisk palca i postępuj zgodnie z instrukcje rejestracji.
- Skonfiguruj aplikację tak, aby akceptowała odcisk cyfrowy Po przeprowadzeniu tej konfiguracji urządzenie wyświetli odcisk palca ekranu uwierzytelniania.
- Gdy w aplikacji wyświetli się ekran uwierzytelniania odciskiem palca, otwórz konsolę i
wpisz polecenie
finger touch
i utworzony identyfikator odcisku palca. Ten symuluje dotknięcie palca. - Następnie wpisz polecenie
finger remove
, aby zasymulować usuwanie palca.Aplikacja powinna reagować tak, jakby użytkownik dotknął, a potem wysunął palec czytnik linii papilarnych.