Dispositivo virtual Android como plataforma de desenvolvimento

Para usar dispositivos virtuais Android (AVDs), Android Emulator (link em inglês) oferece suporte a uma interface gráfica do usuário (GUI) e uma interface de linha de comando (CLI). Você seleciona o fluxo de trabalho ideal para seu ambiente.

Iniciar um AVD de carro no AOSP usando modelos pré-criados

Para iniciar e testar rapidamente usando o AVD Car do AOSP pré-criado, faça o download de um script de código aberto e iniciar um build do emulador ci.android.com O script foi testado macOS e Linux.

Você precisa de Curl para usar esse script.

Para executar o script:

  1. Copie o launch_emu.sh conteúdo do script para seu arquivo local, supondo que você use launch_emu.sh como o nome do arquivo local.
  2. Torne seu script local executável. Por exemplo, execute chmod +x ./launch_emu.sh.
  3. Verifique as opções disponíveis executando o script com ./launch_emu.sh -h.
  4. Em ci.android.com, acesse o aosp-main-throttled e selecionar um build recente em que sdk_car_x86_64 é verde. Por exemplo, 11370359. Se você não vir o build saia da sua Conta do Google e tente novamente.
  5. Faça o download e instale os arquivos binários relevantes para o emulador com o ID do build. Por exemplo, ./launch_emu.sh -i -a 11370359.
  6. Depois disso, use ./launch_emu.sh para iniciar o download e a instalação emulador (não use as opções -i ou -a).
  7. Para fazer o download e instalar outro ID do build, execute ./launch_emu.sh -c para limpar o e repita as etapas 4 e 5 acima.

Para especificar o Android Emulator Opções de inicialização de linha de comando ao iniciar o emulador, use a opção -v. Por exemplo:

  ./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"

Criar um AVD de carro no AOSP

O processo de criação de um AVD de carro no AOSP é semelhante ao Como criar imagens AVD para um smartphone (por exemplo, aosp_car_x86_64):

  1. Para configurar o ambiente de desenvolvimento e identificar uma ramificação, consulte Ferramentas de controle de origem. Depois revise 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
  2. Crie a imagem do AVD:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. Execute a imagem do AVD (anexe 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 compilação é o mesmo necessário para compilar no Android para um dispositivo físico, reserve um tempo para fazer o download da origem e depois criá-la.
    • Para trabalhar em outras ramificações, defina $ANDROID_BRANCH como outra ramificação/tag.
    • Imagens AVD, como system.img, são criadas em $ANDROID_PRODUCT_OUT. Para saber mais sobre as imagens principais, consulte AVD diretório do sistema.
    • Consulte a README para saber como os binários pré-criados do emulador na á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 Como adicionar um novo dispositivo. Por exemplo: 1660554 cria um novo AVD avd_car.

Para criar um AVD de carro:

  1. Crie uma empresa e uma pasta do dispositivo, conforme necessário. Este exemplo usa $ANDROID_BUILD_TOP/device/google_car/avd_car:
  2. Crie o makefile do produto, avd_car.mk, que define como criar o AVD.
  3. Crie uma pasta do dispositivo avd_car_device para conter BoardConfig.mk e source.properties.
  4. Adicione o novo makefile e a nova opção lunch ao AndroidProducts.mk
  5. Para criar e executar o novo AVD avd_car:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
. Agora está tudo pronto para prototipar a maioria dos recursos de HMI e apps no seu novo AVD.

Empacotar um arquivo ZIP de imagem do AVD

Você pode empacotar e compartilhar seu AVD com outras pessoas ou usá-lo em outro computador. Usar emu_img_zip.mk para gerar o arquivo ZIP da imagem do AVD:

  1. Depois de criar o AVD, torne emu_img_zip o destino:
    m emu_img_zip
  2. O arquivo zip da imagem AVD, prefixado com sdk-repo-linux-system-images, é criado na pasta $ANDROID_PRODUCT_OUT.

Criar um kernel do AVD

Os kernels AVD são semelhantes a outros kernels do Android, porque todos são imagens pré-criadas. Normalmente, você pode usar as imagens pré-criadas padrão do kernel goldfish no estado em que se encontram cada versão do Android.

Para testar as mudanças do kernel:

  1. Execute esta 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/
    
  2. Substitua o binário do kernel na base do 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 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 Android Studio AVD Manager, 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 HMI, vários dispositivos podem ser adicionados ao para a mesma imagem AVD.
  • Inclua o arquivo no arquivo ZIP da imagem do AVD do OEM na pasta [ABI]. Por exemplo, como x86_64.
  • Os fabricantes de dispositivos também podem Criar um aparência do emulador. Por exemplo, para definir outros botões de hardware para uma UX de maior fidelidade. Isso não é útil apenas para os fluxos de trabalho do desenvolvedor, mas também para outras tarefas, como a pesquisa de UX e revisão.

Criar o arquivo XML da imagem do AVD

Os fabricantes de dispositivos podem criar um arquivo XML de imagem do AVD para o Android Studio fazer o download reimplantá-lo.

  • Por exemplo, consulte o arquivo XML de imagem do AVD do AAOS, sys-img2-1.xml.
  • Os fabricantes de dispositivos podem definir o próprio contrato de licença de AVD de OEM para seus usuários-alvo (implementando o sistema de honra), com a licença do Android Emulator. Android O Studio chega a um consenso entre os usuários quando essa licença é incluída.

Para criar a imagem:

  1. Prepare um arquivo ZIP de imagem do AVD.
  2. Descompacte o arquivo ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip.
  3. Adicione devices.xml à pasta x86_64 e compacte o arquivo um arquivo ZIP. Por exemplo, como oem_avd_img_x86_64.zip.
  4. Atualize o oem-sys-img2-1.xml.
  5. 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, faça o seguinte: 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 é como: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml. Por exemplo, se 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 fazer o download de imagens AVD e usar o AVD pelo Android Studio, você pode forneça um arquivo XML de complemento do SDK. Para mais detalhes, consulte Atualize o ambiente de desenvolvimento integrado e o SDK Tools.

Para fazer o download do AVD pela rede:

  1. Hospede o arquivo ZIP e os arquivos XML da imagem em um servidor.
  2. Forneça o URL para seus usuários-alvo.
  3. (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:

  1. Salve os arquivos XML e todos os artefatos especificados no arquivo XML em uma pasta (por exemplo, todos os arquivos ZIP de imagem AVD) chamados ADDON_DIR.
  2. Especifique o URL como file://$ADDON_DIR/oem-sys-img2-1.xml.