Para usar dispositivos virtuais Android (AVDs), o Android Emulator oferece suporte a uma interface gráfica do usuário (GUI) e a 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 simples oferecida para a maioria dos desenvolvedores e usuários de apps.
- Iniciar o emulador pela linha de comando oferece uma maneira flexível para usuários avançados e automação. Por exemplo, para usar vários AVDs ou configurar testes e integração contínuos. Para começar, consulte os exemplos em ferramentas.
Criar um AVD de carro do AOSP
O processo para criar um AVD do AOSP Car é semelhante a Criar imagens de AVD para um smartphone (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, consulte
  Como fazer o download da origem:
ANDROID_BRANCH="android12L-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 do AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32 
- Execute a imagem do AVD (adicione outras opções de inicialização de linha de comando
conforme necessário):
emulator & Exemplo:  Figura 1. Tela do Android Virtual Emulator Observações sobre esse processo: - Como o processo de build é o mesmo necessário para criar o Android para um dispositivo físico, aguarde um pouco para baixar a origem e depois criar o build.
- Para trabalhar em outros branches, defina $ANDROID_BRANCHcomo outro branch/tag.
- As imagens do AVD, como system.img, são criadas em$ANDROID_PRODUCT_OUT. Para saber mais sobre imagens principais, consulte o diretório do sistema AVD.
- Consulte o arquivo README para saber como os binários pré-criados do emulador na sua árvore do Android são usados para executar o emulador.
 
Criar um AVD de carro
Adicionar uma nova 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. O exemplo usa
  $ANDROID_BUILD_TOP/device/google_car/avd_car.
- Crie o makefile do produto, avd_car.mk, que define como criar o AVD.
- Crie uma pasta de dispositivo, avd_car_device, para conterBoardConfig.mkesource.properties.
- Adicione a nova makefilee a nova opçãolunchaAndroidProducts.mk.
- Para criar e executar o novo AVD avd_car:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator & 
Compactar um arquivo ZIP de imagem do AVD
Você pode compactar 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 do AVD:
- Depois de criar o AVD, defina emu_img_zipcomo destino:m emu_img_zip 
- O arquivo ZIP da imagem do AVD, com o prefixo sdk-repo-linux-system-images, é criado na pasta chamada$ANDROID_PRODUCT_OUT.
Criar um kernel do AVD
Os kernels do AVD são semelhantes a outros kernels do Android, já que todos são imagens pré-criadas. Normalmente, é possível usar as imagens pré-criadas padrão do kernel goldfish como estão em cada versão do Android.
Para testar mudanças no 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,
    
    device/generic/goldfish/board/emu64x/details.mkincluidevice/generic/goldfish/board/kernel/x86_64.mk.
O código e a configuração do kernel estão localizados da seguinte maneira:
| Nome | Valor | 
|---|---|
| Filial | common-android11-5.4(usado no Android 11) | 
| Manifesto | kernel/manifest/common-android11-5.4 | 
| common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 | 
| Kernel | kernel/common/android11-5.4 | 
Criar um novo perfil de dispositivo
Para permitir que os usuários criem um AVD específico no AVD Manager do Android Studio, consulte
Criar e gerenciar dispositivos virtuais.
Os fabricantes de dispositivos podem definir as próprias especificações de hardware, como tamanho da tela e DPI, usando um arquivo devices.xml incluído na imagem do AVD.
- Por exemplo, consulte os perfis de dispositivos automotivos em automotive.xml.
- Para desenvolvimento ou prototipagem de IHM, vários dispositivos podem ser adicionados ao arquivo para a mesma imagem de AVD.
- Inclua o arquivo no arquivo ZIP da imagem AVD do OEM na pasta [ABI]. Por exemplo,x86_64.
- Os fabricantes de dispositivos também podem criar uma aparência de emulador. Por exemplo, para definir outros botões de hardware para uma 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.
Criar o arquivo XML da imagem do AVD
Os fabricantes de dispositivos podem criar um arquivo XML de imagem de AVD para o Android Studio fazer o download.
- Por exemplo, confira o arquivo XML de imagem AVD do AAOS, sys-img2-1.xml.
- Os fabricantes de dispositivos podem definir o próprio contrato de licença do AVD OEM para os usuários-alvo (usando o sistema de honra), com a licença do Android Emulator. O Android Studio recebe o consentimento do usuário quando uma licença desse tipo é incluída.
Para criar a imagem:
- Prepare um arquivo ZIP de imagem do 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,oem_avd_img_x86_64.zip.
- Atualize o oem-sys-img2-1.xml.
- Atualize o nome, o tamanho e o shasum do arquivo ZIP. Os arquivos XML de amostra estão disponíveis em
  tools.
Por exemplo, para hospedar o AVD no Cloud Storage do Google, consulte Como criar buckets de armazenamento.
Para fazer upload e tornar o AVD acessível publicamente, consulte Como tornar 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 do URL do 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.
Compartilhar uma imagem do AVD com usuários do Android Studio
Para que os usuários possam baixar imagens de AVD e usar seu AVD pelo Android Studio, você pode fornecer um arquivo XML de complemento do SDK. Para mais detalhes, consulte Atualizar o ambiente de desenvolvimento integrado e as Ferramentas do SDK.
Para fazer o download do AVD da rede:
- Hospede o arquivo ZIP de imagem e os arquivos XML em um servidor.
- Forneça o URL aos usuários segmentados.
- (Opcional) Limite o acesso por nome de usuário e senha.
Como alternativa, para acelerar o desenvolvimento, faça o download do 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 do AVD) chamada ADDON_DIR.
- Especifique o URL como file://$ADDON_DIR/oem-sys-img2-1.xml.
