Use dispositivos virtuais do Android Emulator

Você pode usar o Android Emulator para criar emulações de dispositivos Android que executam suas próprias imagens personalizadas do sistema Android. Você também pode compartilhar imagens personalizadas do sistema Android para que outras pessoas possam executar emulações delas. Além disso, você pode adicionar suporte para vários monitores às emulações do Android Emulator.

Arquitetura do emulador Android

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 Android Virtual Device (AVD). O AVD contém a pilha completa de software Android 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 obter mais informações sobre o emulador, consulte Executar aplicativos no Android Emulator .

Arquitetura do emulador Android

Figura 1. Arquitetura do Android Emulator

Crie imagens AVD

Cada AVD inclui uma imagem do sistema Android, que é executada nesse AVD. O AVD Manager inclui algumas imagens do sistema. E você pode criar imagens personalizadas do sistema AVD a partir do seu código-fonte e criar emulações de dispositivos para executá-las.

Para criar e executar uma imagem do sistema AVD:

  1. Baixe a fonte do Android:

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

    Se quiser criar outras versões do Android, você pode encontrar os nomes das ramificações no repositório público do Android . Eles mapeiam para codinomes, tags e números de compilação do Android .

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

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

    Se você preferir construir 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 da linha de comando para obter mais detalhes sobre a execução do emulador. A Figura 2 mostra um exemplo do Android Emulator executando um AVD.

Emulador Android executando um AVD

Figura 2. Android Emulator executando um AVD

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

Siga estas instruções para compartilhar as imagens do seu sistema AVD com outras pessoas. Eles podem usar as imagens do sistema AVD com o Android Studio para desenvolver e testar aplicativos.

  1. Faça pacotes adicionais sdk e sdk_repo :

    Para Android 13 e superior, use o comando emu_img_zip :

    $ make emu_img_zip
    

    Isso gera um arquivo sdk-repo-linux-system-images-eng.[username]].zip .

    Para Android 12 e versões anteriores, use o comando sdk_repo :

    $ make -j32 sdk sdk_repo
    

    O comando make sdk sdk_repo cria dois arquivos em aosp-main/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 acessível aos seus usuários e obtenha seu URL para usar como URL da imagem do sistema AVD .

  3. Para Android 12 e versões anteriores, edite repo-sys-img.xml adequadamente:

    • Atualize <sdk:url> para o URL da imagem do sistema AVD .
    • Consulte sdk-sys-img-03.xsd para saber mais sobre outras atualizações do arquivo.
    • Hospede repo-sys-img.xml em algum lugar acessível aos seus usuários e obtenha seu URL para usar como URL do site de atualização personalizado .

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 de sistema AVD personalizada à página Imagens do sistema.

  2. Crie um AVD baixando e selecionando a imagem personalizada do sistema AVD.

Adicione suporte para vários monitores

O Android 10 aprimora vários monitores (MD) para oferecer melhor suporte a mais casos de uso, como modo automático e desktop. O Android Emulator também oferece suporte à emulação de vários monitores. Assim, você pode criar um ambiente específico de vários monitores sem configurar o hardware real.

Você pode adicionar suporte a vários monitores a um AVD fazendo as alterações a seguir ou selecionando esses CLs .

  • Adicione o provedor de vários monitores à compilação adicionando estas 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
    
  • Habilite o sinalizador de recurso de vários monitores adicionando esta linha ao arquivo device/generic/goldfish/data/etc/advancedFeatures.ini :

    MultiDisplay = on
    

Você pode encontrar os recursos mais recentes do emulador e informações de lançamento nas seguintes fontes: