Para usar dispositivos virtuais Android (AVDs), o Android Emulator é compatível com uma interface gráfica de usuário (GUI) e uma interface de linha de comando (CLI). Você seleciona o fluxo de trabalho ideal para seu ambiente.
- A GUI de criação e gerenciamento de dispositivos virtuais é uma ferramenta direta fornecida para a maioria dos desenvolvedores e usuários de aplicativos.
 - Iniciar o emulador a partir da linha de comando fornece uma maneira flexível para usuários avançados e automação. Por exemplo, para usar vários AVDs ou para configurar testes contínuos e integração contínua. Para começar, veja os exemplos em tools .
 
Construir um AVD de carro AOSP
O processo de construção de um AOSP Car AVD é semelhante à construção de imagens AVD para um telefone (por exemplo, aosp_car_x86_64 ):
-  Para configurar o ambiente de desenvolvimento e identificar uma ramificação, consulte Ferramentas de controle de origem . Em seguida, revise o download da fonte :
ANDROID_BRANCH="android11-qpr2-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 -  Crie a imagem AVD:
. build/envsetup.sh && lunch aosp_car_x86_64-userdebug && m -j32
 -  Execute a imagem AVD (anexe opções de inicialização de linha de comando adicionais conforme necessário):
emulator &
Por exemplo:

Figura 1. Tela do emulador virtual do Android
Observações sobre este processo:
- Como o processo de compilação é o mesmo necessário para compilar o Android para um dispositivo físico, aguarde algum tempo para fazer o download do código-fonte e, em seguida, compile-o.
 -  Para trabalhar em outras ramificações, defina 
$ANDROID_BRANCHpara outra ramificação/tag . -  Imagens AVD, como 
system.img, são criadas em$ANDROID_PRODUCT_OUT. Para saber mais sobre imagens-chave, consulte Diretório do sistema AVD . - Consulte o arquivo README para saber como os binários do emulador pré-criados em sua árvore do Android são usados para executar o emulador.
 
 
Criar um AVD de carro
 Adicionar um novo AVD de carro é quase idêntico a Adicionar um novo dispositivo . Por exemplo, 1660554 cria um novo AVD avd_car .
Para criar um AVD de carro:
-  Crie uma empresa e uma pasta de dispositivo conforme necessário. Este exemplo usa 
$ANDROID_BUILD_TOP/device/google_car/avd_car. -  Crie o makefile do produto, 
avd_car.mk, que define como construir o AVD. -  Crie uma pasta de dispositivo, 
avd_car_device, na qual conteráBoardConfig.mkesource.properties. -  Adicione o novo 
makefilee a nova opção delunchaAndroidProducts.mk. -  Para construir e executar o novo AVD 
avd_car:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
 
Empacote um arquivo zip de imagem AVD
Você pode embalar e compartilhar seu AVD com outras pessoas ou usá-lo em outro computador. Use emu_img_zip.mk para gerar o arquivo zip da imagem AVD:
-  Depois de construir o AVD, faça 
emu_img_zipo destino:m emu_img_zip
 -  O arquivo zip de imagem AVD, prefixado com 
sdk-repo-linux-system-images, é criado na pasta denominada$ANDROID_PRODUCT_OUT. 
Construir um kernel AVD
Os kernels AVD são semelhantes a outros kernels do Android, pois todos são imagens pré-criadas. Normalmente, você pode usar as imagens pré-criadas do kernel goldfish padrão como é de cada versão do Android.
Para experimentar as alterações do kernel:
-  Execute a seguinte série de instruções:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
 - Substitua o binário do kernel na base de código de acordo com o makefile do AVD. Por exemplo, x86_64-vendor.mk inclui x86_64-kernel.mk .
 
O código e a configuração do kernel estão localizados da seguinte forma:
| Item | Valor | 
|---|---|
| Ramo |  common-android11-5.4 (usado no Android 11) | 
| Manifesto |  kernel/manifest/common-android11-5.4 | 
| módulos-comuns/dispositivo-virtual |  kernel/common-modules/virtual-device/android11-5.4 | 
| Núcleo |  kernel/common/android11-5.4 | 
Criar um novo perfil de dispositivo
 Para permitir que os usuários criem um AVD específico no Android Studio AVD Manager, consulte Criar e gerenciar dispositivos virtuais . Os fabricantes de dispositivos podem definir suas próprias especificações de hardware, como tamanho da tela e DPI, por meio do uso de um arquivo devices.xml incluído na imagem do AVD.
-  Por exemplo, consulte os perfis Automotive Device em 
automotive.xml. - Para desenvolvimento ou prototipagem de HMI, vários dispositivos podem ser adicionados ao arquivo para a mesma imagem AVD.
 -  Inclua o arquivo no arquivo zip de imagem OEM AVD na pasta 
[ABI]. Por exemplo, comox86_64. - Os fabricantes de dispositivos também podem criar uma capa de emulador . Por exemplo, para definir botões de hardware adicionais para UX de maior fidelidade. Isso não é útil apenas para fluxos de trabalho de desenvolvedores, mas também para outras tarefas, como pesquisa e revisão de UX.
 
Crie o arquivo XML de imagem AVD
Os fabricantes de dispositivos podem criar um arquivo XML de imagem AVD para o Android Studio para baixá-lo.
-  Por exemplo, consulte o arquivo XML de imagem AAOS AVD, 
sys-img2-1.xml. - Os fabricantes de dispositivos podem definir seu próprio contrato de licença OEM AVD para seus usuários-alvo (empregando o sistema de honra), com a licença para Android Emulator. O Android Studio obtém o consenso do usuário quando essa licença é incluída.
 
Para criar a imagem:
- Prepare um arquivo zip de imagem AVD.
 -  Descompacte 
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip. -  Adicione 
devices.xmlà pastax86_64e compacte o arquivo em um arquivo zip. Por exemplo, comooem_avd_img_x86_64.zip. -  Atualize 
oem-sys-img2-1.xml. -  Atualize o nome, o tamanho e o shasum do arquivo zip (os arquivos XML de amostra são fornecidos em 
tools). 
Por exemplo, para hospedar o AVD no Google Cloud Storage , consulte Como criar buckets de armazenamento .
Para fazer upload e tornar o AVD acessível publicamente, consulte Tornando os dados públicos :
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
 O formato de URL de complemento do SDK de imagem do AVD é: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml . Por exemplo, se o BUCKET_NAME for aaos-avd, o URL será: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml .
Compartilhando uma imagem AVD com usuários do Android Studio
Para que seus usuários possam baixar imagens AVD e usar seu AVD pelo Android Studio, você pode fornecer um arquivo XML de complemento do SDK. Para obter detalhes, consulte Atualizar as ferramentas IDE e SDK .
Para baixar o AVD da rede:
- Hospede o arquivo zip de imagem e os arquivos XML em um servidor.
 - Forneça o URL para seus usuários de destino.
 - ( Opcional ) Limite o acesso por nome de usuário e senha.
 
Como alternativa, para acelerar o desenvolvimento, baixe o AVD para um diretório local:
-  Salve os arquivos XML e todos os artefatos especificados no arquivo XML em uma pasta (por exemplo, todos os arquivos zip de imagem AVD) chamada 
ADDON_DIR. -  Especifique a URL como 
file://$ADDON_DIR/oem-sys-img2-1.xml.