Criar e gerenciar dispositivos virtuais

Um Dispositivo virtual Android (AVD, na sigla em inglês) é uma configuração que define as características de um smartphone ou tablet Android, Wear OS, Android TV ou um dispositivo Automotive OS que você queira simular no Android Emulator. O Gerenciador de dispositivos é uma ferramenta que pode ser iniciada no Android Studio para criar e gerenciar AVDs.

Para abrir o novo Gerenciador de dispositivos, siga um destes procedimentos:

  • Na tela de boas-vindas do Android Studio, selecione More Actions > Virtual Device Manager.

Abrindo o Gerenciador de dispositivos pela tela de boas-vindas

  • Depois de abrir um projeto, selecione View > Tool Windows > Device Manager na barra de menus principal, clique no + e em Create Virtual Device.

Nova janela do Gerenciador de dispositivos

Depois de criar os dispositivos, você vai poder conferir uma lista de todos eles no painel do gerenciador de dispositivos.

Lista do Gerenciador de dispositivos

Se você quiser usar dispositivos virtuais para executar testes instrumentados automatizados de maneira escalonável e autogerenciada, recomendamos o uso de dispositivos gerenciados pelo Gradle.

Sobre AVDs

Os AVDs contêm perfil de hardware, imagem do sistema, área de armazenamento, skin e outras propriedades.

Recomendamos que você crie um AVD para cada imagem do sistema a que seu app possa oferecer suporte, de acordo com a configuração <uses-sdk> do seu manifesto.

Perfil de hardware

O perfil de hardware define as características de fábrica de um dispositivo. O Gerenciador de dispositivos inclui alguns perfis de hardware carregados previamente, como no caso de dispositivos Pixel. É possível definir e personalizar esses perfis conforme necessário.

Caixa de diálogo &quot;Select Hardware&quot;

Uma definição de dispositivo identificada com o logotipo do Google Play na coluna Play Store inclui o app Google Play Store e o acesso ao Google Play Services, além da guia Google Play na caixa de diálogo Extended controls, que oferece um botão para atualização do Google Play Services no dispositivo.

Dispositivos com esse logotipo e um tipo de dispositivo "Smartphone" também oferecem compliance com o CTS e podem usar imagens do sistema que incluam o app da Play Store.

Imagens do sistema

Uma imagem do sistema identificada como Google APIs inclui acesso ao Google Play Services.

Caixa de diálogo &quot;System Image&quot;

A guia Recommended lista as imagens do sistema recomendadas. As demais guias incluem uma lista mais completa. O painel direito descreve a imagem do sistema selecionada.

O ícone de download exibido ao lado de uma imagem do sistema indica que essa imagem não está instalada na máquina de desenvolvimento em uso. Clique nele para fazer o download. É necessário estar conectado à Internet.

O nível da API do dispositivo de destino é importante, porque o app não é executado em uma imagem do sistema que tenha um nível de API menor que o exigido, conforme especificado no atributo minSdk no arquivo de manifesto do app. Para mais informações sobre a relação entre o nível da API do sistema e o minSdk, consulte Controlar versões do app.

Se o app declara um elemento <uses-library> no arquivo de manifesto, isso indica que ele precisa de uma imagem do sistema que inclua essa biblioteca externa. Para executar o app em um emulador, crie um AVD que inclua a biblioteca necessária. Para isso, talvez você tenha que usar um componente de complemento para a plataforma do AVD. Por exemplo, o complemento de APIs do Google contém a biblioteca Google Maps.

Para garantir a segurança do app e uma experiência consistente em dispositivos físicos, as imagens do sistema que incluem a Google Play Store são assinadas com uma chave de versão, o que significa que não é possível receber privilégios elevados (raiz) com elas.

Se você precisar de privilégios elevados (raiz) para auxiliar na solução de problemas do app, use as imagens do sistema do Android Open Source Project (AOSP) que não incluem apps ou serviços do Google. Em seguida, use os comandos adb root e adb unroot para alternar entre privilégios normais e elevados:

  % adb shell
  emu64a:/ $
  emu64a:/ $ exit
  % adb root
  restarting adbd as root
  % adb shell
  emu64a:/ #
  emu64a:/ # exit
  % adb unroot
  restarting adbd as non root
  % adb shell
  emu64a:/ $
  emu64a:/ $ exit
  %
  

Área de armazenamento

O AVD tem uma área de armazenamento dedicada na sua máquina de desenvolvimento. Ele armazena dados de usuários de dispositivos, por exemplo, apps instalados e configurações, além de um cartão SD emulado. Se necessário, você pode usar o Gerenciador de dispositivos para excluir dados do usuário de forma permanente, de modo que o dispositivo fique como novo.

Skin

Uma aparência de emulador especifica o visual de um dispositivo. O Gerenciador de dispositivos oferece algumas skins predefinidas. Também é possível definir skins próprias ou usar aquelas disponibilizadas por terceiros.

AVD e recursos do app

Verifique se a definição do AVD inclui os recursos de dispositivo necessários para o app. Consulte as seções Propriedades de um perfil de hardware e Propriedades de um AVD para encontrar listas de recursos que podem ser definidos nos AVDs.

Criar um AVD

Para criar um novo AVD, faça o seguinte:

  1. Abra o Gerenciador de dispositivos.
  2. Clique em Create Device.

    A janela Select Hardware vai aparecer.

    Apenas alguns perfis de hardware incluem a Play Store. Eles precisam estar em total compliance com o CTS e podem usar imagens do sistema que incluem o app da Play Store.

  3. Selecione um perfil de hardware e clique em Next.

    Se o perfil de hardware que você quer usar não estiver disponível, é possível criar ou importar um, conforme descrito em outras seções desta página.

    A janela System Image é exibida.

  4. Selecione a imagem do sistema de um nível de API específico e clique em Next.
  5. A janela Verify Configuration é exibida.

  6. Mude as propriedades do AVD conforme necessário e, em seguida, clique em Finish.

    Clique em Show Advanced Settings para mostrar mais configurações, por exemplo, a skin.

  7. O novo AVD é exibido na guia Virtual do Gerenciador de dispositivos e no menu do dispositivo de destino.

Para criar um AVD usando uma cópia:

  1. Na guia Virtual do Gerenciador de dispositivos, clique em Menu e selecione Duplicate.

    A janela Verify Configuration é exibida.

  2. Clique em Previous se precisar fazer mudanças nas janelas System Image ou Select Hardware.
  3. Faça as mudanças necessárias e, em seguida, clique em Finish.

    O AVD aparece na guia Virtual do Gerenciador de dispositivos.

Criar um perfil de hardware

O Gerenciador de dispositivos oferece perfis de hardware predefinidos para dispositivos comuns. Assim, eles podem ser adicionados facilmente às definições do seu AVD. Caso precise definir outro dispositivo, é possível criar um novo perfil de hardware.

Você pode definir um novo perfil de hardware do início ou copiar um como ponto de partida. Os perfis de hardware pré-carregados não são editáveis.

Para criar um novo perfil de hardware desde o início:

  1. Na janela Select Hardware, clique em New Hardware Profile.
  2. Na janela Configure Hardware Profile, mude as propriedades do perfil de hardware conforme necessário.

    Caixa de diálogo &quot;Configure hardware profile&quot;
  3. Clique em Finish.

    O novo perfil de hardware é exibido na janela Select Hardware. Você pode criar um AVD que use o perfil de hardware, clicando em Next, ou clicar em Cancel para voltar à guia Virtual ou ao menu do dispositivo de destino.

Para criar um perfil de hardware usando uma cópia como ponto de partida:

  1. Na janela Select Hardware, selecione um perfil e clique em Clone Device. Se preferir, clique com o botão direito do mouse em um perfil de hardware e selecione Clone.

  2. Na janela Configure Hardware Profile, mude as propriedades do perfil de hardware conforme necessário.
  3. Clique em Finish.
  4. O novo perfil de hardware é exibido na janela Select Hardware. Você pode criar um AVD que use o perfil de hardware, clicando em Next, ou clicar em Cancel para voltar à guia Virtual ou ao menu do dispositivo de destino.

Editar AVDs já existentes

Você pode executar as seguintes operações em um AVD na guia Virtual do Gerenciador de dispositivos:

  • Para editar um AVD, clique em Edit this AVD e faça as modificações.
  • Para excluir um AVD, clique em Menu e selecione Delete.
  • Para mostrar o AVD INI associado e os arquivos IMG no disco, clique em Menu e selecione Show on Disk.
  • Para conferir as informações de configuração de um AVD que podem ser incluídas em relatórios de bugs para a equipe do Android Studio, clique em Menu e selecione View Details.

Editar perfis de hardware já existentes

Não é possível editar ou excluir os perfis de hardware carregados previamente, mas você pode realizar as seguintes operações em outros perfis na janela Select Hardware:

  • Para editar um perfil de hardware, selecione-o e clique em Edit Device. Se preferir, clique com o botão direito do mouse em um perfil de hardware e selecione Edit. Em seguida, faça as modificações.
  • Para excluir um perfil de hardware, clique nele com o botão direito e selecione Delete.

Executar e parar um emulador e limpar os dados

Na guia Virtual, é possível executar as seguintes operações em um emulador:

  • Para executar um emulador que usa um AVD, clique em Launch .
  • Para interromper a execução do emulador, clique em Menu e selecione Stop.
  • Para limpar os dados de um emulador, clique em Menu e selecione Wipe Data.

Importar e exportar perfis de hardware

Na janela Select Hardware, é possível importar e exportar perfis de hardware da seguinte maneira:

  • Para importar um perfil de hardware, clique em Import Hardware Profiles e, no seu computador, selecione o arquivo XML que contém a definição.
  • Para exportar um perfil de hardware, clique nele com o botão direito e selecione Export. Especifique o local onde o arquivo XML que contém a definição deve ser armazenado.

Propriedades de um AVD

A configuração do AVD especifica a interação entre o computador de desenvolvimento e o emulador, bem como as propriedades que você pretende substituir no perfil de hardware. É possível especificar as propriedades a seguir para as configurações do AVD, na página Verify Configuration. Uma propriedade identificada como (Avançada) só é exibida quando você clica em Show Advanced Settings.

As propriedades de configuração de um AVD substituem as propriedades de um perfil de hardware, e as propriedades do emulador definidas enquanto ele está em execução substituem as duas.

Tabela 1. Propriedades de configuração de um AVD

Propriedade do AVD Descrição
AVD Name Insira um nome para o AVD. O nome pode conter letras maiúsculas e minúsculas, números, pontos, sublinhados, parênteses, traços e espaços. O nome do arquivo que armazena as configurações do AVD é derivado do nome do AVD.
AVD ID (Advanced) Confira o ID do AVD. Ele é derivado do nome do AVD. Você pode usar o ID para se referir ao AVD na linha de comando.
Hardware Profile Clique em Change para selecionar outro perfil de hardware na janela Select Hardware.
System Image Clique em Change para selecionar outra imagem do sistema na janela System Image. É necessário ter uma conexão de Internet ativa para fazer o download de uma nova imagem.
Startup orientation

Selecione uma opção para a orientação inicial do emulador:

  • Portrait: orientação mais alta do que larga.
  • Landscape: orientação mais larga do que alta.

A opção só vai ser ativada se houver suporte para ela no perfil de hardware. É possível mudar a orientação ao executar o AVD no emulador, desde que haja suporte para as duas opções no perfil de hardware.

Camera (Advanced)

Selecione uma opção para qualquer câmera ativada. As configurações "Emulated" e "VirtualScene" criam uma imagem gerada por software, e a configuração "Webcam" usa a câmera do computador de desenvolvimento para tirar uma foto.

Só há opções de câmera disponíveis quando existe suporte para esse tipo de dispositivo no perfil de hardware. Câmeras não estão disponíveis para Wear OS, Android TV ou Google TV.

Network: Speed (Advanced)

Selecione um protocolo de rede para determinar a velocidade da transferência de dados:

  • GSM: Global System for Mobile Communications
  • HSCSD: High-Speed Circuit-Switched Data
  • GPRS: Generic Packet Radio Service
  • EDGE: Enhanced Data rates for GSM Evolution
  • UMTS: Universal Mobile Telecommunications System
  • HSDPA: High-Speed Downlink Packet Access
  • LTE: Long-Term Evolution
  • Full (default): transfira dados com a velocidade máxima permitida pelo computador
Network: Latency (Advanced) Selecione um protocolo de rede para definir quanto tempo é necessário para que o protocolo transfira um pacote de dados de um ponto a outro.
Emulated Performance: Graphics

Selecione a forma como os gráficos são renderizados no emulador:

  • Hardware: use a placa de vídeo do computador para renderizar mais rapidamente.
  • Software: emule os elementos gráficos no software. Isso é útil quando há problemas de renderização na placa de vídeo.
  • Auto: deixe o emulador decidir a melhor opção de acordo com a placa de vídeo.
Emulated Performance: Boot option (Advanced)

    Selecione a forma como o AVD deve ser inicializado:

  • Cold boot: o dispositivo é inicializado de um estado desligado.
  • Quick boot: o dispositivo carrega o estado de um snapshot salvo.
Emulated Performance: Multi-Core CPU (Advanced) Selecione o número de núcleos de processador que você quer usar para o emulador no computador. O uso de mais núcleos de processador agiliza o emulador.
Memory and Storage: RAM (Advanced) Modifique a quantidade de RAM no dispositivo que foi definida pelo fabricante do hardware. Ao aumentar o tamanho, mais recursos são consumidos no computador, mas as operações do emulador ficam mais rápidas. Insira um tamanho de RAM e selecione a unidade: B (byte), KB (kilobyte), MB (megabyte), GB (gigabyte) ou TB (terabyte).
Memory and Storage: VM Heap (Advanced) Modifique o tamanho de heap da VM que foi definido pelo fabricante do hardware. Insira um tamanho de heap e selecione a unidade: B (byte), KB (kilobyte), MB (megabyte), GB (gigabyte) ou TB (terabyte).
Memory and Storage: Internal Storage (Advanced) Modifique a quantidade de espaço disponível na memória não removível do dispositivo que foi definida pelo fabricante do hardware. Insira um tamanho e selecione a unidade B: (byte), KB (kilobyte), MB (megabyte), GB (gigabyte) ou TB (terabyte).
Memory and Storage: SD Card (Advanced)

Especifique a quantidade de espaço disponível para armazenar dados na memória removível do dispositivo.

Para usar um cartão SD virtual gerenciado pelo Android Studio, selecione Studio-managed, insira um tamanho e selecione a unidade: B (byte), KB (kilobyte), MB (megabyte), GB (gigabyte) ou TB (terabyte). É recomendável um mínimo de 100 MB para usar a câmera.

Para gerenciar o espaço em um arquivo, selecione External file e clique em ... para especificar o arquivo e o local.

Para saber mais, consulte mksdcard e o diretório de dados do AVD.

Device Frame: Enable Device Frame Selecione para ativar um quadro em volta da janela do emulador, imitando a aparência de um dispositivo real.
Custom Skin Definition (Advanced) Selecione uma skin que controle a aparência do dispositivo quando ele é exibido no emulador. A especificação de uma tela muito grande para a skin pode fazer com que a imagem fique cortada, o que impede a visualização completa. Consulte a seção Criar uma aparência do emulador para mais informações.
Keyboard: Enable Keyboard Input (Advanced) Selecione essa opção para usar o teclado de hardware para interagir com o emulador. Ela não está disponível para Wear OS e Android TV.

Propriedades de um perfil de hardware

Você pode especificar as propriedades a seguir para perfis de hardware na janela Configure Hardware Profile. As propriedades de configuração de um AVD substituem as propriedades de um perfil de hardware, e as propriedades do emulador definidas enquanto ele está em execução substituem as duas.

Os perfis de hardware predefinidos do Gerenciador de dispositivos não são editáveis. No entanto, você pode copiá-los e editar as cópias.

Algumas propriedades estão desativadas em alguns tipos de dispositivos. Por exemplo, a propriedade "Round" só está disponível em dispositivos Wear OS.

Tabela 2. Propriedades de configuração de um perfil de hardware

Propriedade do perfil de hardware Descrição
Device Name Insira um nome para o perfil de hardware. Ele pode conter letras maiúsculas e minúsculas, números, pontos, sublinhados, parênteses e espaços. O nome do arquivo que armazena o perfil de hardware é derivado do nome desse mesmo perfil.
Device Type

Selecione uma das seguintes opções:

  • Smartphone/Tablet
  • Wear OS
  • Android TV
  • Google TV
  • Dispositivo ChromeOS
  • Android Automotive
Screen: Screen Size Especifique o tamanho físico da tela em polegadas, medido na diagonal. Se esse tamanho é maior que a tela do computador, ele é reduzido durante a inicialização.
Screen: Screen Resolution Insira uma largura e uma altura em pixels para especificar o total de pixels na tela simulada.
Screen: Round Selecione essa opção se o dispositivo tiver uma tela redonda, como é o caso de alguns dispositivos Wear OS.
Memory: RAM Insira o tamanho da RAM do dispositivo e selecione a unidade: B (byte), KB (kilobyte), MB (megabyte), GB (gigabyte) ou TB (terabyte).
Input: Has Hardware Buttons (Back/Home/Menu) Marque essa opção se seu dispositivo tiver botões de navegação de hardware. Desmarque-a se esses botões forem implementados apenas no software. Se você selecionar essa opção, os botões não vão aparecer na tela. Em ambos os casos, é possível usar o painel lateral do emulador para simular o pressionamento dos botões.
Input: Has Hardware Keyboard Marque essa opção se o dispositivo tiver um teclado de hardware. Desmarque-a, caso contrário. Se você selecionar essa opção, o teclado não vai aparecer na tela. Em ambos os casos, é possível usar o teclado do computador para enviar pressionamentos de tecla ao emulador.
Input: Navigation Style

Selecione uma das seguintes opções:

  • None: nenhum controle de hardware. A navegação é feita pelo software.
  • D-pad: suporte para botão direcional.
  • Trackball
  • Wheel

Essas opções são destinadas aos controles de hardware do próprio dispositivo. No entanto, os eventos enviados para o dispositivo por um controlador externo são os mesmos.

Supported device states

Selecione uma ou ambas as opções:

  • Portrait: orientação mais alta do que larga.
  • Landscape: orientação mais larga do que alta.

É necessário selecionar pelo menos uma opção. Você pode selecionar ambas para alternar entre as orientações no emulador.

Cameras

Para ativar a câmera, selecione uma ou ambas as opções:

  • Back-Facing Camera: lente na direção oposta ao usuário.
  • Front-Facing Camera: lente na direção do usuário.

Quando a câmera está ativada, é possível usar a webcam da máquina de desenvolvimento ou a imagem fornecida pelo emulador para simular uma foto, dependendo das opções selecionadas na configuração do AVD.

Sensors: Accelerometer Selecione essa opção se o dispositivo tiver um hardware que o ajude a determinar a própria orientação.
Sensors: Gyroscope Selecione essa opção se o dispositivo tiver um hardware que detecte rotação ou giro. Combinado ao acelerômetro, um giroscópio pode oferecer uma detecção mais estável da orientação e suporte a um sistema de orientação de seis eixos.
Sensors: GPS Selecione essa opção se o dispositivo tiver um hardware com suporte à navegação baseada em satélite do Sistema de Posicionamento Global (GPS).
Sensors: Proximity Sensor Selecione essa opção se o dispositivo tiver um hardware que detecta quando ele está perto do rosto do usuário durante uma chamada para desativar entradas na tela.
Skin padrão Selecione uma opção que controle a aparência do dispositivo quando ele é exibido no emulador. Especificar uma tela muito grande para a resolução pode fazer com que a imagem fique cortada, impedindo a visualização completa. Consulte a seção a seguir sobre como criar uma aparência do emulador para saber mais.

Criar uma aparência do emulador

Uma aparência de emulador do Android é um conjunto de arquivos que definem os elementos visuais e de controle da tela de um emulador. Se as definições de skin disponíveis nas configurações do AVD não atendem aos seus requisitos, você pode criar uma definição de skin personalizada e a aplicar ao AVD.

Cada aparência de emulador contém:

  • Um arquivo hardware.ini
  • Arquivos de layout para as orientações e configurações físicas com suporte
  • Arquivos de imagem para elementos de exibição, como plano de fundo, teclas e botões

Para criar e usar uma skin personalizada:

  1. Crie um diretório em que você possa salvar os arquivos de configuração da skin.
  2. Defina a aparência visual em um arquivo de texto com o nome layout. Esse arquivo define muitas características da aparência, como o tamanho e os recursos de imagem para botões específicos. Exemplo:

    parts {
        device {
            display {
                width   320
                height  480
                x       0
                y       0
            }
        }
    
        portrait {
            background {
                image background_port.png
            }
    
            buttons {
                power {
                    image  button_vertical.png
                    x 1229
                    y 616
                }
            }
        }
        ...
    }
    

  3. Adicione arquivos bitmap das imagens do dispositivo ao mesmo diretório.
  4. Determine outras configurações do dispositivo específicas de hardware em um arquivo INI para as configurações do dispositivo, por exemplo, hw.keyboard e hw.lcd.density.
  5. Coloque os arquivos na pasta de skins e selecione o arquivo como uma skin personalizada.

Para conferir informações mais detalhadas sobre como criar aparências do emulador, consulte Especificação de arquivos de aparência do emulator do Android no código-fonte das ferramentas.