É possível usar o Android Emulator para criar emulações de dispositivos Android que executam as próprias imagens personalizadas do sistema Android. Além disso, é possível adicionar suporte para várias telas para emulações do Android Emulator.
Arquitetura do Android Emulator
O Android Emulator executa o sistema operacional Android em uma máquina virtual chamada Dispositivo virtual Android (AVD, na sigla em inglês). Cada AVD contém a pilha de softwares do Android completa e é executado como se estivesse em um dispositivo físico. A Figura 1 ilustra a arquitetura de alto nível do Android Emulator. Para saber mais sobre o emulador, consulte Executar apps no Android Emulator.
 
 
Figura 1. Arquitetura do Android Emulator.
Criar imagens no 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 no 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 no AVD:
- Faça o download da origem do Android: - mkdir aosp-main; cd aosp-main- 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. Eles correspondem aos da página Codinomes, tags e números de build do Android.
- Crie uma imagem do sistema no AVD. É o mesmo processo que o de criar uma imagem do sistema no dispositivo Android. Por exemplo, para criar um AVD x86 de 64 bits: - source ./build/envsetup.sh- lunch sdk_phone_x86_64- make -j32
- Execute a imagem do sistema no AVD usando o Android Emulator: - emulator
Consulte as Opções de inicialização de linha de comando para mais detalhes sobre a execução do emulador. A Figura 2 mostra um exemplo do Android Emulator executando um AVD.
 
 
Figura 2. Android Emulator executando um AVD.
Compartilhar imagens do sistema no AVD para outras pessoas usarem com o Android Studio
Siga estas instruções para compartilhar suas imagens do sistema no AVD com outras pessoas. Elas podem usar essas imagens com o Android Studio para desenvolver e testar apps.
- Crie pacotes - sdke- sdk_repoextras:- No Android 13 e versões mais recentes, use o comando - emu_img_zip:- $ make emu_img_zip- Isso gera um arquivo - sdk-repo-linux-system-images-eng.[username]].zip.- No Android 12 e versões anteriores, use o comando - sdk_repo:- $ make -j32 sdk sdk_repo- O comando - make sdk sdk_repocria 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
 
- Hospede o arquivo - sdk-repo-linux-system-images-eng.[username].zipem algum lugar que seus usuários possam acessar e providencie o URL dele para usar como o URL de imagem do sistema no AVD.
- No Android 12 e versões anteriores, edite - repo-sys-img.xmlda forma apropriada:- Atualize <sdk:url>para o URL da imagem do sistema criada no AVD.
- Consulte sdk-sys-img-03.xsd para conferir as outras atualizações no arquivo.
- Hospede repo-sys-img.xmlem algum lugar que seus usuários possam acessar e providencie o URL dele para usar como o URL do site de atualização personalizada.
 
- Atualize 
Para usar uma imagem AVD personalizada, faça o seguinte no SDK Manager:
- Adicione o URL do site de atualização personalizado como um site de atualização do SDK. - Isso adiciona à página System Images sua imagem personalizada do sistema no AVD. 
- Crie um AVD fazendo o download e selecionando a imagem personalizada do sistema no AVD. 
Adicionar suporte para várias telas
O Android 10 aprimora o recurso Várias telas para oferecer melhor suporte a mais casos de uso, como os modos área de trabalho e automotivo. O Android Emulator também oferece suporte à 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 o suporte para várias telas a um AVD fazendo as mudanças abaixo ou escolhendo um destes CLs.
- Adicione o provedor de várias telas ao build 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
- Ative a flag de recurso "Várias telas" adicionando esta 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 nestas fontes:
