Each running virtual device provides a console that lets you query and control the emulated device environment. For example, you can use the console to manage port redirection, network characteristics, and telephony events while your app is running on the emulator.
The following commands require that you already have an emulator running. For more information about running an emulator, see Run apps on the Android Emulator and Start the emulator from the command line .
Запуск и остановка консольной сессии
To access the console and enter commands from a terminal window, use telnet to connect to the console port and provide your authentication token. Each time the console displays OK , it's ready to accept commands. There isn't a typical prompt.
Для подключения к консоли запущенного виртуального устройства:
- Откройте окно терминала и введите следующую команду:
- После того, как в консоли отобразится
OK, введите командуauth auth_token. - После подключения к консоли введите консольные команды .
- Для выхода из консольной сессии введите
quitилиexit.
telnet localhost console-port
The emulator window title lists the console port number when running in a separate window but not when running in a tool window. For example, the window title for an emulator using console port 5554 could be Pixel8_API_34:5554 . Also, the adb devices command prints a list of running virtual devices and their console port numbers. For more information, see Query for devices .
Примечание: Эмулятор принимает соединения на портах 5554–5585 и принимает соединения только с localhost .
Прежде чем вы сможете вводить консольные команды , эмулятору потребуется аутентификация. auth_token должен совпадать с содержимым файла .emulator_console_auth_token в вашем домашнем каталоге.
If that file doesn't exist, the telnet localhost console-port command creates the file, which contains a randomly generated authentication token. To disable authentication, delete the token from the .emulator_console_auth_token file or create an empty file if it doesn't exist.
Введите help , help command или help-verbose , чтобы увидеть список консольных команд и узнать о конкретных командах.
Вот пример сессии:
$ 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 (ethernet and cellular only)
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.
Команды "выстрелил и забыл"
Если вам не нужно открывать сессию, используйте ярлык adb emu , который выполнит команду и немедленно вернет управление вызывающей оболочке:
adb emu command commandParameter
Вызов команды adb emu подключается к доступному эмулятору. Если у вас одновременно запущено несколько эмуляторов, необходимо передать серийный номер конкретного целевого эмулятора:
adb -s emulator-serial emu command commandParameter
Справочник команд эмулятора
В таблице ниже описаны команды консоли эмулятора с указанием их параметров и значений:
Таблица 1. Команды консоли эмулятора
| Общие команды | Описание |
|---|---|
avd {stop|start|status|name} | Осуществляет запросы, управление и контроль виртуального устройства следующим образом:
|
avd snapshot {list|save name |load name |delete name } | Сохраняет и восстанавливает состояние устройства в виде снимков следующим образом:
В следующем примере сохраняется снимок с именем avd snapshot save firstactivitysnapshot |
fold | Если устройство складное и в данный момент разложено, оно складывается для отображения меньшего размера экрана. |
unfold | Если устройство складное и в данный момент сложено, оно раскладывается для отображения увеличенного экрана. |
kill | Завершает работу виртуального устройства. |
ping | Проверяет, запущено ли виртуальное устройство. |
rotate | Поворачивает AVD против часовой стрелки с шагом в 45 градусов. |
| Вызвать сбой эмулятора | Описание |
crash | Эмулятор аварийно завершает работу во время выполнения приложения. |
crash-on-exit | При закрытии приложения эмулятор аварийно завершает работу. |
| Отладочные теги | Описание |
debug tags ... | Enables or disables debug messages from specific parts of the emulator. The tags parameter must be a value from the list of debug tags that appears when you execute В следующем примере активируется debug radio |
| Перенаправление портов | Описание |
redir list | Отображает текущее перенаправление портов. |
redir add protocol : host-port : guest-port | Добавляет новое перенаправление портов следующим образом:
|
redir del protocol : host-port | Удаляет перенаправление порта.
|
| Географическое местоположение | Описание |
Устанавливает географическое местоположение, передаваемое приложениям, работающим внутри эмулятора, путем отправки GPS-сигнала в эмулятор. Как только виртуальное устройство будет запущено, вы можете выполнить одну из следующих команд | |
geo fix longitude latitude [altitude] [satellites] [velocity] | Sends a simple GPS fix to the emulator. Specify longitude and latitude in decimal degrees. Use a number from 1 to 12 to specify the number of satellites to use to determine the position, and specify altitude in meters and velocity in knots. |
geo nmea sentence | Sends an NMEA 0183 sentence to the emulated device as if it were sent from an emulated GPS modem. Start sentence with '$GP'. Only '$GPGGA' and '$GPRCM' sentences are currently supported. The following example is a GPGGA (Global Positioning System Fix Data) sentence that gets the time, position, and fix data for a GPS receiver: geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx |
| Фальшивые аппаратные события | Описание |
event types | Список всех типов фиктивных событий. Для событий, имеющих коды, количество кодов указано в скобках справа.
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 ...] | Отправляет один или несколько фиктивных типов событий. |
event codes type | Выводит список кодов событий для указанного типа фиктивных событий. |
event send type [: code ]:[ value ] [...] | Отправляет одно или несколько фиктивных событий с необязательными кодами и значениями кодов. Чтобы точно определить, какое событие нужно отправить, можно использовать команду Вот события, которые генерируются при нажатии кнопки питания:
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 : keydown и keyup:
event send EV_KEY:KEY_POWER:0
OK
event send EV_KEY:KEY_POWER:1
OK
|
event text message | Sends a string of characters that simulate keypresses. The message must be a UTF-8 string. Unicode posts are reverse-mapped according to the current device keyboard, and unsupported characters are discarded silently. |
| Управление состоянием питания | Описание |
power display | Отображает состояние батареи и зарядного устройства. |
power ac {on|off} | Устанавливает состояние зарядки от сети переменного тока: on или off . |
power status {unknown|charging|discharging|not-charging|full} | Изменяет состояние батареи в соответствии с указанными параметрами. |
power present {true|false} | Устанавливает состояние наличия батареи. |
power health {unknown|good|overheat|dead|overvoltage|failure} | Устанавливает состояние здоровья батареи. |
power capacity percent | Устанавливает оставшийся уровень емкости батареи в процентах от 0 до 100. |
| Состояние сетевого подключения (Только Ethernet и сотовая связь) | Описание |
network status | Проверяет состояние сети, а также текущие характеристики задержки и скорости. |
network delay latency | Изменяет задержку эмулируемой сети. The emulator lets you simulate various network latency levels so that you can test your app in an environment more typical of actual running conditions. You can set a latency level or range at emulator startup, or you can use the console to change the latency while the app is running in the emulator. Формат измерения сетевой latency может быть одним из следующих (числа указаны в миллисекундах): Формат задержки сети:
Чтобы задать задержку при запуске эмулятора, используйте параметр эмулятора emulator -netdelay gprs emulator -netdelay 40,100 To make changes to network delay while the emulator is running, connect to the console and use the network delay gprs network delay 40 100 |
network speed speed | Эмулятор позволяет имитировать различные скорости передачи данных по сети. Вы можете установить скорость или диапазон передачи данных при запуске эмулятора, или же изменить скорость с помощью консоли во время работы приложения в эмуляторе. Формат скорости сети:
Чтобы задать скорость сети при запуске эмулятора, используйте параметр эмулятора emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 To make changes to network speed while the emulator is running, connect to the console and use the network speed 14.4 80 |
network capture {start|stop} file | Отправляет пакеты в файл. Ниже приведен список параметров и их значений:
|
| Эмуляция телефонии | Описание |
| Эмулятор Android включает в себя собственные эмулируемые модемы GSM и CDMA, позволяющие имитировать телефонные функции в эмуляторе. Например, с GSM можно имитировать входящие телефонные звонки, а также устанавливать и завершать соединения для передачи данных. С CDMA вы указываете источник подписки и предпочтительный список роуминга. Система Android обрабатывает имитированные звонки точно так же, как и реальные. Эмулятор не поддерживает аудиосвязь во время звонков. | |
gsm {call|accept|cancel|busy} phonenumber | Параметры gsm следующие:
|
gsm {data|voice} state | Команда data state изменяет состояние соединения GPRS, а команда data voice state изменяет состояние соединения GPRS для передачи данных, следующим образом:
|
gsm hold | Изменяет состояние вызова на hold . Вы можете изменить состояние вызова на hold только тогда, когда его текущее состояние — active или waiting . |
gsm list | Отображает список всех входящих и исходящих вызовов и их статус. |
gsm status | Сообщает о текущем состоянии голосовой связи/передачи данных GSM. Значения соответствуют значениям, указанным для команд voice и data . |
gsm signal {rssi|ber} | Изменяет сообщаемый уровень сигнала (RSSI) и частоту битовых ошибок (BER) в течение следующих 15 секунд обновления. Ниже приведен список параметров и их значений:
|
gsm signal-profile num | Задает профиль уровня сигнала. num — число от 0 до 4. |
cdma ssource source | Устанавливает текущий источник подписки CDMA, где source — это список разрешенных абонентов на основе сети, содержащий абонентов оператора CDMA и их значения, следующим образом:
|
cdma prl_version version | Выводит текущую версию списка предпочтительных роуминговых номеров (PRL). Номер версии относится к базе данных PRL, содержащей информацию, используемую в процессе выбора и приобретения системы. |
| Управление датчиками в эмуляторе | Описание |
These commands relate to which sensors are available in the AVD. Besides using the sensor command, you can see and adjust the settings in the emulator in the Virtual sensors screen in the Accelerometer and Additional sensors tabs. | |
sensor status | Выводит список всех датчиков и их состояние. Ниже приведен пример вывода команды sensor status : |
sensor get sensor-name | Получает настройки для sensor-name . В следующем примере получается значение для акселерометра:sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348 Значения |
sensor set sensor-name value-x : value-y : value-z | Задает значения для sensor-name . В следующем примере датчик ускорения задается значениями x, y и z, разделенными двоеточиями. sensor set acceleration 2.23517e-07:9.77631:0.812348 |
| эмуляция SMS | Описание |
sms send sender-phone-number textmessage | Генерирует эмулированное входящее SMS-сообщение. Ниже приведен список параметров и их значений:
В следующем примере сообщение "hi there" отправляется на номер телефона 4085555555: sms send 4085555555 hi there The console forwards the SMS message to the Android framework, which passes it to an app on the emulator that handles SMS, such as the Messages app. If you pass 10 numbers, the app formats it as a phone number. Longer or shorter numeric strings display the way you sent them. |
| имитация отпечатков пальцев | Описание |
finger touch fingerprint-id | Имитирует касание датчика пальцем. |
finger remove | Имитирует удаление пальца. Инструкции по использованию этих команд см. в следующем разделе, посвященном моделированию и проверке отпечатков пальцев . |
Моделирование и проверка отпечатков пальцев

Рисунок 1. Экран аутентификации по отпечатку пальца.
Используйте команду finger для имитации и проверки аутентификации по отпечатку пальца в вашем приложении. Вам потребуется SDK Tools 24.3 или выше и Android 6.0 (уровень API 23) или выше.
Для имитации и проверки аутентификации по отпечатку пальца выполните следующие действия:
- Если у вас еще нет отпечатка пальца, зарегистрируйте новый отпечаток в эмуляторе, выбрав «Настройки» > «Безопасность» > «Отпечаток пальца» и следуя инструкциям по регистрации.
- Настройте приложение для аутентификации по отпечатку пальца . После выполнения этой настройки на вашем устройстве отобразится экран аутентификации по отпечатку пальца.
- Пока ваше приложение отображает экран аутентификации по отпечатку пальца, перейдите в консоль и введите команду
finger touchи созданный вами идентификатор отпечатка пальца. Это имитирует касание пальца. - Затем введите команду
finger remove, чтобы имитировать удаление пальца.Ваше приложение должно реагировать так, как если бы пользователь коснулся датчика отпечатков пальцев, а затем убрал палец.