Talvez seja necessário testar o app em um dispositivo virtual usando mais do que apenas gestos básicos de tela touchscreen e movimentos do smartphone. Por exemplo, simule diferentes locais ou condições de rede. Esta página aborda recursos avançados do emulador e diferentes maneiras de iniciar o emulador com o Android Studio.
As outras páginas desta seção abordam formas ainda mais avançadas de usar o emulador, que exigem o uso do terminal. Estes são os casos de uso mais específicos:
- Se você não está usando o Studio, pode iniciar o emulador pela linha de comando.
- Para testar recursos que incluem a validação por impressão digital ou para mudar o estado da bateria do dispositivo virtual, você pode enviar comandos do console do emulador.
- Para ter duas instâncias de emulador que podem se comunicar entre si ou configurar outras arquiteturas complexas de rede, configure a rede do emulador.
Para a maioria dos desenvolvedores de apps, os recursos básicos de navegação do emulador e os recursos desta página atendem às necessidades de teste. Para uma comparação lado a lado do que você pode fazer com o emulador, dependendo de como você interage com ele, consulte Comparação de recursos do emulador.
Capturas de tela
Para capturar a tela do dispositivo virtual, clique no botão Take screenshot
.
Na caixa de diálogo Captura de tela, é possível recapturar, editar e copiar
a imagem capturada. Quando estiver tudo certo com a imagem, clique em Save. O
emulador cria um arquivo PNG com o nome
Screenshot_yyyymmdd-hhmmss.png
usando ano, mês,
dia, hora, minuto e segundo da captura. Se quiser, você pode mudar o nome e
escolher onde salvar o arquivo.
É possível fazer capturas de tela na linha de comando com uma das seguintes opções:
screenrecord screenshot [destination-directory]
adb emu screenrecord screenshot [destination-directory]
Gravação de tela
É possível gravar vídeo e áudio no Android Emulator e salvar a gravação em um arquivo WebM ou GIF animado.
Os controles de gravação de tela estão na guia Record and Playback da janela Extended Controls.
Dica: é possível abrir os controles de gravação de tela pressionando Control+Shift+R (Command+Shift+R no macOS).
Para iniciar a gravação da tela, clique no botão Start recording na guia Record and Playback. Para interromper a gravação, clique em Stop recording.
Os controles para mostrar e salvar o vídeo gravado ficam na parte inferior da guia Record and Playback. Para salvar o vídeo, escolha WebM ou GIF no menu localizado na parte de baixo da guia e clique em Save.
Você também pode gravar e salvar uma gravação de tela do emulador usando a seguinte opção na linha de comando:
adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm
Suporte a câmera
O emulador oferece suporte ao uso de funcionalidades básicas da câmera no seu dispositivo virtual para versões anteriores do Android. O Android 11 e versões mais recentes oferecem suporte a estes outros recursos de câmera do Android Emulator:
- Captura RAW
- Reprocessamento YUV
- Dispositivos de nível 3
- Compatibilidade lógica da câmera
- Emular a orientação do sensor usando dados do gerenciador de sensores
- Aplicar a estabilidade do vídeo reduzindo a frequência de handshake
- Aplicar o aprimoramento de borda removendo o aumento da escala geralmente feito no pipeline do YUV
- Câmeras simultâneas
Câmera de cena virtual e ARCore
Use a câmera de cena virtual em um ambiente virtual para realizar experimentos com apps de realidade aumentada (RA) criados com o ARCore.
Para informações sobre como usar esta câmera no emulador, consulte Executar apps de RA no Android Emulator.
Ao usar o emulador com um app de câmera, você pode importar uma imagem em formato PNG ou JPEG e usá-la em uma cena virtual. Para escolher uma imagem a ser usada em uma cena virtual, abra a janela Extended controls, selecione a guia Camera > Virtual scene images e clique em Add image. Esse recurso pode ser usado para importar imagens personalizadas, como códigos QR, para uso com qualquer app baseado em câmera. Para saber mais, consulte Adicionar imagens melhoradas à cena.
Testar ações comuns de RA com macros
É possível reduzir significativamente o tempo necessário para testar ações comuns de RA usando as macros predefinidas no emulador. Por exemplo, use uma macro para redefinir todos os sensores do dispositivo para o estado padrão.
Antes de usar macros, siga as etapas em Executar apps de RA no Android Emulator para configurar a câmera de cena virtual do app, executar seu app no emulador e atualizar o ARCore. Em seguida, siga estas etapas para usar macros no emulador:
- Com o emulador em execução e o app conectado ao ARCore, clique em More
no painel do emulador.
- Selecione Record and Playback > Macro Playback.
Escolha a macro que você quer usar e clique em Play.
Durante a reprodução, é possível interromper uma macro clicando em Stop.
Iniciar o emulador em uma janela separada
O Android Emulator é executado diretamente no Android Studio por padrão. Isso permite usar o espaço da tela de forma eficiente, navegar rapidamente entre o emulador e a janela do editor usando teclas de atalho e organizar o fluxo de trabalho do ambiente de desenvolvimento integrado e do emulador em uma única janela do aplicativo.
No entanto, alguns recursos do emulador estão disponíveis apenas quando você o executa em uma janela separada. Para iniciar o emulador em uma janela separada, acesse File > Settings > Tools > Emulator (Android Studio > Preferences > Tools > Emulator no macOS) e desmarque a opção Launch in a tool window.
Controles estendidos, configurações e ajuda
Use os controles estendidos para enviar dados, mudar propriedades do dispositivo, controlar
apps e muito mais. Para abrir a janela Extended controls, clique em More
no painel do emulador. Algumas dessas opções de controle estendido só
estão disponíveis quando você
executa o emulador em uma janela separada
fora do Android Studio.
Você pode usar atalhos de teclado para realizar muitas dessas tarefas. Para ver uma lista completa de atalhos no emulador, pressione F1 (Command+/ no macOS) para abrir o painel "Help".
Tabela 1. Detalhes dos controles estendidos.
Recurso | Descrição |
---|---|
Local |
O emulador permite simular as informações de "Meu local"
onde o dispositivo emulado está localizado. Por exemplo, se você
clicar em "Meu local" Os controles das informações de local do dispositivo são organizados em duas guias: Single points e Routes. Pontos únicos Na guia Single points, você pode usar a visualização da Web do Google Maps para pesquisar pontos de interesse, assim como faria ao usar o Google Maps em um smartphone ou navegador. Ao pesquisar ou clicar em um local no mapa, você pode salvar o local selecionando Save point próximo à parte de baixo do mapa. Todos os seus locais salvos são listados no lado direito da janela Extended controls. Para definir o local dos emuladores como o local que você selecionou no mapa, clique no botão Set location perto do canto inferior direito da janela Extended controls. Rotas Semelhante à guia Single points, a guia Routes fornece uma visualização da Web do Google Maps que você pode usar para criar um trajeto entre dois ou mais locais. Para criar e salvar uma rota, faça o seguinte:
Para simular o emulador seguindo o trajeto que você salvou, selecione o trajeto na lista de Saved routes e clique em Play route próximo ao canto direito de baixo da janela Extended controls. Para interromper a simulação, clique em Stop route. Para simular continuamente o emulador seguindo o trajeto especificado, ative a chave ao lado de Repeat playback. Para mudar a velocidade com que o emulador segue o trajeto especificado, selecione uma opção no menu Playback speed. Importar dados GPX e KML Para usar dados geográficos de um arquivo GPX (GPS Exchange) ou KML (Keyhole Markup Language):
A velocidade tem o valor padrão Delay (Speed 1X). Você pode aumentar a velocidade em duas vezes (Speed 2X), três vezes (Speed 3X) e assim por diante. |
Telas |
O emulador permite implantar seu app em várias telas, o que possibilita o uso de dimensões personalizáveis e pode ajudar você a testar apps com suporte a várias janelas e várias telas. Enquanto um dispositivo virtual está em execução, é possível colocar até duas telas adicionais da seguinte maneira:
|
Rede celular | O emulador permite que você simule diversas condições de rede. Você pode aproximar a velocidade de rede de diferentes protocolos ou especificar a opção Full, que transfere dados na velocidade máxima permitida pelo computador. Especificar um protocolo de rede é sempre mais lento do que a opção Full. Também é possível especificar o status de rede de dados e voz, como roaming. Os valores padrão são definidos no AVD. Selecione uma opção para Network type:
Selecione uma opção para Signal strength, a intensidade do sinal:
Selecione uma opção para Voice status (status de voz), Data status (status dos dados) ou para ambos:
|
Bateria | Você pode simular as propriedades da bateria de um dispositivo para saber como é o desempenho do app em diferentes condições. Para selecionar um valor para Charge level, o nível de carregamento, use o controle deslizante. Selecione um valor para Charger connection, o tipo de conexão:
Selecione um valor para Battery health, a integridade da bateria:
Selecione um valor para Battery status, o status da bateria:
|
Câmera | Você pode carregar imagens na cena que é simulada quando você abre a câmera do emulador. Para mais informações, consulte Adicionar imagens aumentadas à cena na documentação do ARCore. |
Smartphone | O emulador permite que você simule o recebimento de chamadas telefônicas e mensagens de texto. Para iniciar uma chamada para o emulador:
Para enviar uma mensagem de texto para o emulador:
|
Botão direcional | Se o AVD tiver o botão direcional ativado no perfil de hardware, você poderá usar os controles desse botão com o emulador. No entanto, nem todos os dispositivos oferecem suporte ao botão direcional, por exemplo, relógios Android. Os botões simulam as seguintes ações: ![]() |
Microfone | Quando a opção Virtual microphone uses host audio input está ativada, o emulador recebe a entrada de áudio do microfone do host. Caso contrário, o emulador não recebe nenhuma entrada de áudio. As opções Virtual headset plug inserted, Virtual headset has microphone e Voice Assist não estão implementadas no momento. |
Impressão digital | Esse controle pode simular até 10 verificações de impressões digitais diferentes. Você pode usá-lo para testar a integração de impressões digitais no seu app. Esse recurso está desativado para Android 5.1 (nível 22 da API) e anteriores e para Wear OS. Para simular uma verificação de impressão digital no dispositivo virtual:
|
Virtual sensors > Device Pose |
Esse controle permite que você teste seu app em relação a mudanças na posição do dispositivo, na orientação dele ou em ambos. Por exemplo, você pode simular gestos, como inclinação e rotação. O acelerômetro não acompanha a posição absoluta do dispositivo, ele apenas detecta quando uma alteração está acontecendo. O controle simula a maneira como os sensores do acelerômetro e do magnetômetro respondem quando você move ou gira um dispositivo real. Ative o sensor do acelerômetro no AVD para usar esse controle. O controle informa
eventos O controle também informa eventos
Para girar o dispositivo em torno dos eixos x, y e z, selecione Rotate e siga um destes procedimentos:
Para mais informações sobre como os fatores Yaw, Pitch e Roll são calculados, consulte Calcular a orientação do dispositivo. Para mover o dispositivo horizontalmente (x) ou verticalmente (y), selecione Move e siga um destes procedimentos:
Para posicionar o dispositivo em 0, 90, 180 ou 270 graus:
Conforme você ajusta o dispositivo, os campos Resulting values são alterados. Esses são os valores que um app pode acessar. Para ver mais informações sobre esses sensores, consulte Visão geral dos sensores, Sensores de movimento e Sensores de posição. |
Virtual sensors > Additional sensors | O emulador pode simular vários sensores de posição e de ambiente. Ele permite ajustar os seguintes sensores, para que você possa testá-los com seu app:
Para mais informações sobre esses sensores, consulte Visão geral dos sensores, Sensores de posição e Sensores de ambiente . |
Relatório do bug | Se você tiver problemas com o emulador, prepare e envie um relatório do bug. O emulador coleta automaticamente capturas de tela, registros e outros dados do relatório do bug. |
Gravação e reprodução | Consulte Gravação de tela. |
Google Play | Quando a imagem do sistema do AVD inclui o app Play Store, são mostradas as informações da versão do Google Play Services. |
Settings > General |
|
Settings > Proxy | Por padrão, o emulador usa as configurações de proxy HTTP do Android Studio. Essa tela permite definir manualmente uma configuração de proxy HTTP para o emulador. Para mais informações, consulte Usar o emulador com um proxy. |
Settings > Advanced |
|
Help > Keyboard Shortcuts | Esse painel mostra uma lista completa de atalhos de teclado do emulador. Para abrir esse painel enquanto trabalha no emulador, pressione F1 (no MacOS, Command+/). Para que os atalhos funcionem, a opção Send keyboard shortcuts no painel de configurações General precisa ser definida como Emulator controls (default). |
Help > Emulator Help | Para acessar a documentação on-line do emulador, clique em Documentation. Para informar um bug no emulador, clique em Send feedback. Para mais informações, aprenda a informar bugs do emulador. |
Help > About | Veja que porta do O número de série do emulador é emulator-adb_port,
que você pode especificar como opção de linha de comando do |
Iniciar o emulador sem iniciar um app
Às vezes, você pode querer iniciar o emulador sem executar um app, por exemplo, para ver apenas como dois dispositivos emuladores interagem entre si quando pareados por Bluetooth. Para iniciar o emulador sem iniciar um app, siga estas etapas:
- Abra o Gerenciador de dispositivos.
- Clique duas vezes em um AVD ou selecione e clique em
Run
. O Android Emulator é carregado.
Com o emulador em execução, você pode executar projetos do Android Studio e escolher o emulador como dispositivo de destino. Você também pode instalar um ou mais APKs no emulador, conforme descrito na seção a seguir, e executá-los.
Instalar e adicionar arquivos
Para usar um app que não está disponível na Google Play Store no emulador, instale manualmente o arquivo APK. Para instalar um arquivo de APK no dispositivo emulado, arraste esse arquivo para a tela do emulador. Uma caixa de diálogo do APK Installer aparece. Depois que a instalação for concluída, você poderá ver o app na lista de apps.
Para adicionar um arquivo ao dispositivo emulado, arraste esse arquivo para a tela do emulador.
O arquivo é colocado no diretório /sdcard/Download/
. Para acessar
o arquivo pelo Android Studio, use o
Device File Explorer. Também é possível acessá-lo no dispositivo por meio do app Downloads ou Files,
dependendo da versão do dispositivo.
Snapshots
Um snapshot é uma imagem armazenada de um AVD que preserva todo o estado do dispositivo no momento em que foi salvo. Isso inclui as configurações do SO, o estado do aplicativo e os dados do usuário. É possível retornar a um estado salvo do sistema carregando um snapshot a qualquer momento. Assim, você não perde tempo esperando que o sistema operacional e os aplicativos no dispositivo virtual sejam reiniciados, além de poupar o esforço de fazer seu app voltar para o estado em que você quer retomar o teste. A inicialização de um dispositivo virtual pelo carregamento de um snapshot é muito semelhante a inicializar um dispositivo físico de um estado de suspensão, em vez de inicializá-lo de um estado desligado.
Para cada AVD, você pode ter um snapshot de Quick Boot e quantos snapshots gerais quiser.
A maneira mais simples de usufruir dos snapshots é usar aqueles de Quick Boot. Por padrão, cada AVD é configurado para salvar automaticamente um snapshot de inicialização rápida ao sair e para carregar a partir de um snapshot de Quick Boot ao iniciar.
Na primeira vez que um AVD é iniciado, ele precisa realizar uma inicialização a frio, que é semelhante a ligar um dispositivo. Se o Quick Boot estiver ativado, todas as inicializações seguintes vão ser carregadas do snapshot especificado, e o sistema vai ser restaurado para o estado salvo nesse snapshot.
Os snapshots são válidos para a imagem do sistema, configuração do AVD e recursos do emulador com que são salvos. Ao fazer uma mudança em qualquer uma dessas áreas, todos os snapshots do AVD afetado se tornam inválidos. Qualquer atualização nas configurações do Android Emulator, da imagem do sistema ou do AVD redefine o estado salvo do AVD. Sendo assim, na próxima vez que você iniciar o AVD, ele vai precisar realizar uma inicialização a frio.
A maioria dos controles para salvar, carregar e gerenciar snapshots está nas guias Snapshots e Settings do painel Snapshots. Se você está executando o emulador em uma janela de ferramentas no Android Studio, o botão do painel Snapshots está na barra de ferramentas do emulador. Se você está executando o emulador em uma janela autônoma fora do Android Studio, o painel Snapshots está na janela Extended controls.
Você também pode controlar as opções do Quick Boot ao iniciar o emulador pela linha de comando.
Salvar snapshots de Quick Boot
Você pode especificar se o emulador salva automaticamente um snapshot quando você o fecha. Para controlar esse comportamento, faça o seguinte:
- Abra as configurações de snapshots. Se o emulador estiver incorporado no Android Studio, clique em Snapshots na barra de ferramentas. Se o emulador estiver em uma janela separada, abra a janela Extended controls.
- Na categoria Snapshots de controles, navegue até a guia Settings.
Use o menu Auto-save current state to Quickboot para selecionar uma das seguintes opções:
Yes: sempre salva um snapshot do AVD quando você fecha o emulador. Esse é o padrão.
No: não salva um snapshot do AVD quando você fecha o emulador.
Sua seleção se aplica somente ao AVD que está aberto no momento. Não é possível salvar snapshots enquanto o ADB está off-line. Por exemplo, enquanto o AVD ainda está sendo inicializado.
Salvar snapshots gerais
Embora você só possa ter um snapshot de Quick Boot para cada AVD, pode ter vários snapshots gerais para cada um deles.
Para salvar um snapshot geral, abra o painel Snapshots e clique no botão Take snapshot, no canto inferior direito.
Para editar o nome e a descrição do snapshot selecionado, clique no botão de edição
,
na parte de baixo da janela.
Excluir um snapshot
Para excluir um snapshot manualmente, abra o painel Snapshots, selecione o
desejado e clique no botão de exclusão
na parte de baixo da janela.
Você também pode especificar se quer que o emulador exclua automaticamente os snapshots que se tornam inválidos, por exemplo, quando as configurações do AVD ou a versão do emulador mudarem. Por padrão, o emulador pergunta se você quer excluir snapshots inválidos. Essa configuração pode ser mudada com o menu Delete invalid snapshots na guia Settings do painel Snapshots.
Carregar um snapshot
Para carregar um snapshot a qualquer momento, abra o painel Snapshots do emulador, selecione
a categoria Snapshots, escolha um snapshot e clique no
botão de carregamento ,
localizado na parte de baixo do painel.
No Android Studio 3.2 e versões mais recentes, cada configuração do dispositivo inclui um controle de Opção de inicialização nas configurações avançadas da caixa de diálogo Virtual Device Configuration. Você pode usar o controle para especificar qual snapshot será carregado quando o AVD for iniciado.
Desativar o Quick Boot
Se você quer desativar o Quick Boot para que o AVD sempre realize uma inicialização a frio, siga estas etapas:
- Selecione Tools > Device Manager e clique em Edit this AVD
.
- Clique em Show Advanced Settings e role para baixo até Emulated Performance.
- Selecione Cold boot.
Inicializar a frio uma vez
Em vez de desativar completamente o Quick Boot, você pode fazer uma única inicialização a frio clicando em Cool Boot Now no menu do AVD no Gerenciador de dispositivos.
Requisitos e solução de problemas para snapshots
- Os snapshots não funcionam com o Android 4.0.4 (nível 15 da API) ou anterior.
- Os snapshots não funcionam com imagens de sistema ARM para o Android 8.0 (nível 26 da API).
- Se o emulador falhar durante a inicialização de um snapshot, selecione Cool Boot Now para o AVD no Gerenciador de dispositivos e envie um relatório do bug.
- Os snapshots não são confiáveis quando a renderização de software está ativada. Se os snapshots
não funcionarem, clique em Edit this AVD
no Device Manager e mude a opção Graphics para Hardware ou Automatic.
- Carregar ou salvar um snapshot é uma operação que consome muita memória. Se você não tiver RAM suficiente quando uma operação de carregamento ou de salvamento for iniciada, o sistema operacional poderá alternar o conteúdo da RAM para o disco rígido, o que pode diminuir muito a velocidade da operação. Se você notar uma demora exagerada para carregar ou salvar snapshots, poderá acelerar essas operações liberando RAM. Uma boa maneira de fazer isso é fechar os aplicativos que não são essenciais para seu trabalho.
Wi-Fi
Ao usar um AVD com o nível 25 da API ou mais recente, o emulador disponibiliza um ponto de acesso Wi-Fi simulado ("AndroidWifi") e o Android se conecta automaticamente a ele.
Você pode desativar o Wi-Fi no emulador executando o emulador com o
parâmetro da linha de comando
-feature -Wifi
.
Limitações
O Android Emulator não inclui hardware virtual para:
- Bluetooth
- NFC
- Inserção/ejeção de cartão SD
- Fones de ouvido conectados ao dispositivo
- USB
O emulador de relógio do Wear OS não tem o botão "Visão geral" (Apps recentes), o botão direcional nem o sensor de impressão digital.