Usar dispositivos virtuais do Android Emulator

É possível usar o Android Emulator para criar emulações de dispositivos Android que executam as próprias imagens personalizadas do sistema Android. Você também pode compartilhar suas imagens personalizadas do sistema Android para que outras pessoas possam executar emulações delas. Além disso, é possível adicionar compatibilidade com várias telas para emulações do Android Emulator.

Arquitetura do Android Emulator

O Android Emulator permite executar emulações de dispositivos Android em máquinas Windows, MacOS ou Linux. O Android Emulator executa o sistema operacional Android em uma máquina virtual chamada Dispositivo virtual Android (AVD, na sigla em inglês). O AVD contém a pilha de software do Android completa e é executado como se estivesse em um dispositivo físico. A Figura 1 é um diagrama da arquitetura de alto nível do Android Emulator. Para saber mais sobre o emulador, consulte Executar apps no Android Emulator.

Arquitetura do Android Emulator

Figura 1. Arquitetura do Android Emulator.

Criar imagens para AVD

Cada AVD inclui uma imagem do sistema Android, que é executada nesse AVD. O AVD Manager inclui algumas imagens do sistema. É possível criar imagens personalizadas do sistema AVD usando seu código-fonte e criar emulações de dispositivos para fazer a execução.

Para criar e executar uma imagem do sistema AVD:

  1. Faça o download da origem do Android:

    mkdir aosp-master; cd aosp-master
    repo init -u
    repo sync -j24

    Se você quiser criar outras versões do Android, os nomes de ramificação delas podem ser encontrados no repositório público do Android (link em inglês). Eles correspondem aos da página Codinomes, tags e números de build do Android.

  2. Crie uma imagem do sistema AVD. É o mesmo processo que o de criação de uma imagem do sistema do dispositivo Android. Por exemplo, para criar um AVD x86 de 32 bits:

    mkdir aosp-master; cd aosp-master
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32

    Se você preferir criar um AVD x86 de 64 bits, execute lunch para o destino de 64 bits:

    lunch sdk_phone_x86_64
  3. Execute a imagem do sistema AVD no Android Emulator:

    emulator

Consulte as Opções de inicialização de linha de comando para saber mais detalhes sobre a execução do emulador. A Figura 2 mostra um exemplo do Android Emulator executando um AVD.

Android Emulator executando um AVD

Figura 2. Android Emulator executando um AVD.

Compartilhar imagens do sistema AVD para outras pessoas usarem com o Android Studio

Siga estas instruções para compartilhar suas imagens do sistema AVD com outras pessoas. Elas podem usar essas imagens com o Android Studio para desenvolver e testar apps.

  1. Faça pacotes sdk e sdk_repo adicionais:

    $ make -j32 sdk sdk_repo
    

    Isso cria dois arquivos em aosp-master/out/host/linux-x86/sdk/sdk_phone_x86:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Hospede o arquivo sdk-repo-linux-system-images-eng.[username].zip em algum lugar que seus usuários possam acessar e providencie o URL dele para usar como o URL de imagem do sistema AVD.

  3. Edite repo-sys-img.xml adequadamente:

    • Atualize <sdk:url> para seu URL de imagem do sistema AVD.
    • Consulte sdk-sys-img-03.xsd (link em inglês) para ver as outras atualizações no arquivo.
  4. Hospede repo-sys-img.xml em algum lugar que seus usuários possam acessar e providencie o URL dele para usar como o URL do site de atualização personalizada.

Para usar uma imagem AVD personalizada, faça o seguinte no SDK Manager:

  1. Adicione o URL do site de atualização personalizado como um site de atualização do SDK.

    Isso adiciona sua imagem personalizada do sistema AVD à página System Images.

  2. Crie um AVD fazendo o download da imagem personalizada do sistema AVD e selecionando-a.

Adicionar compatibilidade com várias telas

O Android 10 aprimora o recurso Várias telas (MD, na sigla em inglês) para oferecer melhor suporte a mais casos de uso, como os modos área de trabalho e automotivo. O Android Emulator também é compatível com a emulação de várias telas. Assim, é possível criar um ambiente de várias telas específico sem configurar o hardware real.

Você pode adicionar a compatibilidade com várias telas a um AVD fazendo as seguintes alterações ou escolhendo um destes CLs (link em inglês).

  • Adicione o provedor de várias telas à versão adicionando as seguintes linhas ao arquivo build/target/product/sdk_phone_x86.mk:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • Ative a sinalização do recurso "Várias telas" adicionando a seguinte linha ao arquivo device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

Os recursos e as informações de versão mais recentes do emulador estão disponíveis nas seguintes fontes: