Cada dispositivo virtual em execução dispõe de um console que permite consultar e controlar o ambiente do dispositivo emulado. Por exemplo, é possível usar o console para gerenciar redirecionamentos de porta, características de rede e eventos de telefonia enquanto o app está sendo executado no emulador.
Os comandos a seguir exigem que um emulador já esteja em execução. Para saber mais sobre como executar um emulador, consulte Executar aplicativos no Android Emulator e Iniciar o emulador na linha de comando.
Iniciar e parar uma sessão do console
Para acessar o console e inserir comandos, em uma janela de terminal, use telnet
para se
conectar à
porta do console e informe o token de autenticação. Cada vez que o console exibe
OK, ele está pronto para aceitar comandos. Não há um prompt típico.
Para conectar-se ao console de um dispositivo virtual em execução:
- Abra uma janela de terminal e insira o seguinte comando:
- Depois que o console exibir
OK
, insira o comandoauth auth_token
. - Depois de se conectar ao console, insira os comandos.
- Para sair da sessão de console, insira
quit
ouexit
.
telnet localhost console-port
O título da janela do emulador lista o número da porta do console. Por exemplo, o
título da janela de um emulador usando a porta de console 5554 pode ser Nexus_5X_API_23:5554
.
Além disso, o comando adb devices
exibe uma lista de
dispositivos virtuais em execução e os números de porta de console. Para ver mais informações, acesse
Consultar instâncias de emulador/dispositivo.
Observação: o emulador detecta conexões nas portas 5554 a 5585 e aceita conexões apenas do localhost.
Para que você insira comandos, o console do emulador requer
autenticação. auth_token
precisa corresponder ao conteúdo do arquivo .emulator_console_auth_token
no seu diretório inicial.
O comando telnet localhost console-port
criará esse arquivo, que contém um token de autenticação gerado aleatoriamente, caso ele não exista. Para desativar
a autenticação, exclua o token do arquivo
.emulator_console_auth_token
ou crie um arquivo vazio se ele não existir.
Digite help
, help command
ou help-verbose
para ver uma lista de comandos de console e saber mais sobre comandos
específicos.
Veja um exemplo de sessão:
$ 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|? print a list of commands help-verbose print a list of commands with descriptions ping check if the emulator is alive automation manage emulator automation event simulate hardware events geo Geo-location commands gsm GSM related commands cdma CDMA related commands crash crash the emulator instance crash-on-exit simulate crash on exit for the emulator instance kill kill the emulator instance restart restart the emulator instance network manage network settings power power related commands quit|exit quit control session redir manage port redirections sms SMS related commands avd control virtual device execution qemu QEMU-specific commands sensor manage emulator sensors physics manage physical model finger manage emulator finger print debug control the emulator debug output tags rotate rotate the screen clockwise by 90 degrees screenrecord Records the emulator's display fold fold the device unfold unfold the device multidisplay configure the multi-display try 'help <command>' for command-specific help OK exit Connection closed by foreign host.
Referência de comando do emulador
A tabela a seguir descreve os comandos do console do emulador com os parâmetros e valores relacionados.
Tabela 1. Comandos do console do emulador
Comandos gerais | Descrição |
---|---|
avd {stop|start|status|name}
|
Consulta, controla e gerencia o dispositivo virtual da seguinte maneira:
|
avd snapshot {list|save name|load name|delete
name}
|
Salva e restaura o estado do dispositivo em snapshots da seguinte maneira:
O exemplo a seguir salva um snapshot com o nome
avd snapshot save firstactivitysnapshot |
fold
|
Dobra o dispositivo para exibir a menor configuração de tela (se o dispositivo for dobrável e estiver desdobrado no momento). |
unfold
|
Desdobra o dispositivo para exibir a maior configuração de tela (se o dispositivo for dobrável e estiver dobrado no momento). |
kill
|
Encerra o dispositivo virtual. |
ping
|
Verifica se o dispositivo virtual está sendo executado. |
rotate
|
Gira o AVD no sentido anti-horário em incrementos de 45 graus. |
Falha no emulador | Descrição |
crash
|
Causa uma falha no emulador durante a execução do app. |
crash-on-exit |
Causa uma falha no emulador quando o app é encerrado. |
Tags de depuração | Descrição |
debug tags ...
|
Ativa ou desativa mensagens de depuração de partes específicas do emulador.
O parâmetro tags precisa ser um valor da lista de tags de depuração que aparece quando
você executa
O exemplo a seguir ativa a tag debug radio |
Redirecionamento de porta | Descrição |
redir list
|
Lista o redirecionamento de porta atual. |
redir add protocol:host-port:guest-port
|
Adiciona um novo redirecionamento de porta, da seguinte maneira:
|
redir del protocol:host-port
|
Exclui um redirecionamento de porta.
|
Localização geográfica | Descrição |
Define a localização geográfica relatada para os apps em execução dentro de um emulador, enviando um ponto GPS para o emulador.
Você poderá emitir o comando |
|
geo fix longitude latitude satellites [altitude]
|
Envia um ponto GPS simples para o emulador.
Especifique longitude e latitude
em graus decimais. Use um número de 1 a 12 para especificar a quantidade de
satellites a ser usada para determinar a posição e
especifique altitude em metros.
|
geo nmea sentence
|
Envia uma sentença NMEA 0183 para o dispositivo emulado, como se ela tivesse sido enviada de um
modem GPS emulado. Inicie sentence com "$GP".
Apenas as sentenças "$GPGGA" e "$GPRCM" são compatíveis no momento. O exemplo a seguir
é uma sentença de Dados de Posição do Sistema de Posicionamento Global (GPGGA, na sigla em inglês) que recebe o
horário, a posição e os dados de localização de um receptor 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 |
Eventos falsos de hardware | Descrição |
event types
|
Lista todos os tipos de eventos falsos. Para eventos que têm códigos, o número de códigos é listado entre parênteses
à direita.
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 ...]
|
Envia um ou mais tipos de eventos falsos. |
event codes type
|
Lista os códigos de evento para o tipo de evento falso especificado. |
event send type[:code]:[value] [...]
|
Envia um ou mais eventos falsos com códigos opcionais e valores de código.
Para descobrir exatamente que evento enviar, você pode usar o comando Estes são os eventos gerados quando você pressiona o botão liga/desliga: 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 00000000INeste caso específico, precisávamos enviar apenas os dois eventos EV_KEY , keydown e keyup,
para simular um pressionamento do botão liga/desliga:
event send EV_KEY:KEY_POWER:0 OK event send EV_KEY:KEY_POWER:1 OK |
event text message
|
Envia uma string de caracteres que simulam pressionamentos de tecla. A mensagem precisa ser uma string UTF-8. As postagens Unicode são mapeadas de maneira reversa de acordo com o teclado do dispositivo atual, e os caracteres incompatíveis são descartados silenciosamente. |
Controlar o estado de energia relatado pelo emulador para apps | Descrição |
power display
|
Exibe o estado da bateria e do carregador. |
power ac {on|off}
|
Define o estado de carregamento CA como on ou off .
|
power status {unknown|charging|discharging|not-charging|full}
|
Muda o status da bateria conforme especificado. |
power present {true|false}
|
Define o estado de presença da bateria. |
power health {unknown|good|overheat|dead|overvoltage|failure}
|
Define o estado de integridade da bateria. |
power capacity percent
|
Define o estado da capacidade restante da bateria como uma porcentagem de 0 a 100. |
Status da conexão de rede | Descrição |
network status
|
Verifica o status da rede e as características atuais de atraso e velocidade. |
network delay latency
|
Altera a latência da rede emulada.
O emulador permite simular vários níveis de latência de rede para que você possa testar o app em um ambiente mais próximo das condições reais em que ele será executado. Você pode definir um nível de latência ou um intervalo na inicialização do emulador ou usar o console para mudar a latência enquanto o app está sendo executado no emulador. Para definir a latência na inicialização, use a opção de emulador
emulator -netdelay gprs emulator -netdelay 40,100 Para fazer mudanças no atraso da rede enquanto o emulador está em execução, conecte-se ao console e use o
comando network delay gprs network delay 40 100 Formato de latência de rede: O formato de latency da rede é um dos seguintes (os números estão em milésimos de segundo):
|
network speed speed |
O emulador permite simular várias taxas de transferência de rede.
Você pode definir uma taxa de transferência ou um intervalo na inicialização do emulador ou usar o console para mudar a taxa enquanto o app está sendo executado no emulador.
Para definir a velocidade da rede na inicialização, use a
opção de emulador emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Para fazer mudanças na velocidade da rede enquanto o emulador está em execução, conecte-se ao console
e use o comando network speed 14.4 80 Formato de velocidade da rede: O formato de
|
network capture {start|stop} file |
Envia pacotes para um arquivo. A lista a seguir descreve os parâmetros e valores relacionados:
|
Emulação de telefonia | Descrição |
O emulador Android inclui os próprios modems emulados GSM e CDMA que permitem simular funções de telefonia. Por exemplo, com o GSM, é possível simular chamadas recebidas, além de estabelecer e encerrar conexões de dados. Com o CDMA, você informa uma fonte de assinatura e a lista de roaming preferencial. O sistema Android processa chamadas simuladas exatamente como faria com chamadas reais. O emulador não é compatível com áudio de chamada. | |
gsm {call|accept|cancel|busy} phonenumber
|
Os parâmetros gsm são os seguintes:
|
gsm {data|voice} state
|
O comando data state muda o estado da conexão de dados GPRS,
e o data voice state muda o estado da conexão de voz GPRS
da seguinte maneira:
|
gsm hold
|
Muda o estado de uma chamada para hold . Você só pode mudar um
estado de chamada para hold quando o estado atual é active ou
waiting .
|
gsm list
|
Lista todas as chamadas recebidas ou feitas, bem como os estados correspondentes. |
gsm status
|
Informa o estado atual de voz e dados GSM. Os valores são aqueles
descritos para os comandos voice e data .
|
gsm signal {rssi|ber}
|
Altera a intensidade do sinal relatado (rssi) e a taxa de erros de bit (ber) nos próximos 15
segundos de atualização. A lista a seguir descreve os parâmetros e valores relacionados:
|
gsm signal-profile num
|
Define o perfil da intensidade do sinal. Digite um número de 0 a 4. |
cdma ssource source
|
source : define a origem da assinatura CDMA atual, em que
source é uma lista de permissões baseada em rede que contém os assinantes da operadora
CDMA e os valores correspondentes, da seguinte maneira:
|
cdma prl_version version
|
Despeja a versão atual da lista de roaming preferencial (PRL, na sigla em inglês). O número da versão destina-se ao banco de dados da PRL que contém informações usadas durante o processo de seleção e aquisição do sistema. |
Gerenciar sensores no emulador | Descrição |
Esses comandos se referem aos
sensores que estão disponíveis no AVD. Além de usar o comando sensor , você
pode ver e ajustar as configurações no emulador na tela Virtual sensors, nas guias
Accelerometer e Additional sensors. Para ver mais informações, consulte
Trabalhar com os controles estendidos, as configurações
e a ajuda.
|
|
sensor status |
Lista todos os sensores e os status correspondentes. Veja a seguir um exemplo de saída para o comando
sensor status :
|
sensor get sensor-name
|
Veja as configurações de sensor-name . O exemplo a seguir acessa o
valor do sensor de aceleração:
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348
Os valores de |
sensor set sensor-name value-x:value-y:value-z
|
Defina os valores para sensor-name . O exemplo a seguir define o
sensor de aceleração com os seguintes valores de x, y e z
separados por dois pontos. Para ver mais informações, consulte
Trabalhar com os controles estendidos, as configurações
e a ajuda.
sensor set acceleration 2.23517e-07:9.77631:0.812348 |
Emulação de SMS | Descrição |
sms send sender-phone-number textmessage
|
Gera um SMS recebido emulado. A lista a seguir descreve o parâmetro e os
valores relacionados:
O exemplo a seguir envia a mensagem "olá" para o número de telefone 4085555555. sms send 4085555555 hi there O console encaminha a mensagem SMS para o framework do Android, que a passa para um app no emulador que processa SMS, como o app Mensagens. Se você passar dez números, o app os formatará como um número de telefone. Sequências numéricas mais longas ou mais curtas são exibidas da maneira como você as envia.
|
Simulação de impressão digital | Descrição |
finger touch fingerprint-id
|
Simula um dedo tocando o sensor. |
finger remove
|
Simula um dedo deixando o sensor.
Para ver instruções de como usar esses comandos, consulte Simulação e validação de impressão digital. |
Simulação e validação de impressão digital

Figura 1. Tela de autenticação de impressão digital.
Use o comando finger
para simular e validar a autenticação de impressão digital para seu
aplicativo. Você precisa das Ferramentas do SDK 24.3 ou mais recente e do Android 6.0 (API level 23) ou mais recente.
Para simular e validar a autenticação de impressão digital, siga estas etapas:
- Se você ainda não tem um ID de impressão digital, cadastre uma nova impressão digital no emulador selecionando Settings > Security > Fingerprint e seguindo as instruções de cadastro.
- Configure seu app para aceitar a autenticação de impressão digital. Quando essa configuração é concluída, o dispositivo exibe a tela de autenticação de impressão digital.
- Enquanto o app estiver exibindo a tela de autenticação de impressão digital, vá para o console e
insira o comando
finger touch
e o ID de impressão digital que você criou. Isso simula um toque do dedo. - Em seguida, insira o comando
finger remove
para simular a elevação do dedo.Seu app responderá como se o usuário tivesse tocado e elevado o dedo do sensor de impressão digital.