Fazer o download, criar e executar

Esta página explica como fazer o download, criar e executar o SDV do AAOS no Cuttlefish.

Acessar o código-fonte do SDV do AAOS

Use as instruções fornecidas em Fazer o download do código-fonte do Android.

Configurar o ambiente de build

No diretório de trabalho, crie o script envsetup.sh para configurar seu ambiente de build:

source build/envsetup.sh

Esse script importa vários comandos que permitem trabalhar com o código-fonte do Android, incluindo os comandos usados nesta página. Para conferir a origem do script, consulte platform/build/envsetup.sh. Para conferir a ajuda integrada, digite hmm.

Escolher um destino

Antes de criar o SDV, identifique um destino. Para identificar seu destino de criação, use o comando lunch seguido por uma string que representa o destino para o qual você está criando. Por exemplo, use este comando para criar um destino para o emulador Cuttlefish:

lunch sdv_core_cf-trunk_staging-userdebug

Esse comando seleciona o produto, a configuração de lançamento e a variante a serem criados e armazena a seleção no ambiente.

Os destinos lunch para SDV são fornecidos em um projeto Git separado localizado no diretório devices/google/sdv. Consulte uma descrição detalhada dos destinos disponíveis em device/google/sdv/README.md. Os principais destinos do Cuttlefish (cf) são:

  • sdv_core_cf-trunk_staging-userdebug - Cria uma imagem do SDV Core do AAOS (sdv_core) que é executada no Cuttlefish (cf).
  • sdv_media_cf-trunk_staging-userdebug - Cria uma imagem do SDV Core do AAOS com APIs de mídia virtualizadas do virtIO (sdv_media).
  • sdv_media_har_cf-trunk_staging-userdebug - Cria uma imagem que estende o destino lunch de mídia do SDV do AAOS (sdv_media_cf) para conter o renderizador de alta disponibilidade (HAR, na sigla em inglês). O HAR é executado automaticamente na inicialização.
  • sdv_ivi_cf-trunk_staging-userdebug - Cria uma imagem de entretenimento e informação no veículo (IVI, na sigla em inglês) que contém o gateway SDV e apps de amostra Java.
  • sdv_ivi_cf_ds-trunk_staging-userdebug - Cria uma imagem que estende o destino IVI do SDV do AAOS (sdv_ivi_cf) e inclui a implementação do DriverUI e do painel de instrumentos do Display Safety.

Criar o SDV do AAOS

Execute o seguinte comando para criar seu destino. Dependendo da especificação da sua estação de trabalho, o primeiro build leva entre 30 e 60 minutos. Os subsequentes levam muito menos tempo.

m

A saída do seu build aparece em $OUT_DIR. Se você criar para destinos diferentes, cada build vai aparecer no $OUT_DIR.

Testar o build usando o Cuttlefish

Depois de criar o SDV do AAOS, teste o build usando o Cuttlefish.

  1. Para iniciar o Cuttlefish com seu build:

    cvd create

    O Cuttlefish é executado usando o destino criado (sdv_core_cf-trunk_staging-userdebug). Depois que o Cuttlefish for inicializado, esta mensagem será exibida:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Execute adb para se conectar ao Cuttlefish.

  3. Execute adb devices para verificar se o build está em execução. Um resultado semelhante a este será exibido:

    List of devices attached
    0.0.0.0:6520 device
  4. Execute cvd stop para desligar o dispositivo.

Para executar várias instâncias do Cuttlefish com builds diferentes, consulte Cuttlefish: multilocação.

Resolver problemas

Esta seção explica como solucionar erros que podem ocorrer durante o download, a criação ou a execução do SDV do AAOS.

Erros de RBE

Se você encontrar erros de execução de build remoto (RBE, na sigla em inglês), remova as definições de USE_RBE e ENABLE_RBE_BOOTSTRAP de .bashrc ou .zshrc.

cvd: o gerenciador de VMs crosvm não é compatível com esta máquina

Se o Cuttlefish informar que o gerenciador de VMs crosvm não é compatível com sua máquina, execute o seguinte comando para instalar o Cuttlefish:

sudo apt install cuttlefish-common

cvd não encontrado

Se você receber um erro cvd not found:

  1. Configure o build novamente.
  2. Continue com Escolher um destino.

Loops de falha do Cuttlefish

Se o Cuttlefish entrar em um loop de falha:

  1. Para interromper todas as instâncias do Cuttlefish, execute cvd stop.
  2. Use o Cuttlefish para testar novamente o build.