Fazer o download, criar e executar

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

Acessar o código-fonte do SDV do AAOS

Siga as instruções em Fazer o download da origem 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 a criação. Para identificar o destino de criação, use o comando lunch seguido por uma string que represente 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-aosp_current-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.

As metas de lunch para SDV são fornecidas em um projeto Git separado localizado no diretório device/google/sdv. Confira 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-aosp_current-userdebug: crie uma imagem do AAOS SDV Core (sdv_core) que seja executada no Cuttlefish (cf).
  • sdv_media_cf-aosp_current-userdebug: crie uma imagem do AAOS SDV Core com APIs de mídia virtualizadas por virtIO (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug: crie uma imagem que estenda o destino de mídia SDV do AAOS (sdv_media_cf) lunch para conter o renderizador de alta disponibilidade (HAR). O HAR é executado automaticamente na inicialização.
  • sdv_ivi_cf-aosp_current-userdebug: crie uma imagem de infoentretenimento no veículo (IVI) contendo o gateway de SDV e os apps de exemplo em Java.
  • sdv_ivi_cf_ds-aosp_current-userdebug: crie uma imagem que estenda o destino do IVI do SDV do AAOS (sdv_ivi_cf) e inclua a implementação da DriverUI e do painel de instrumentos da Segurança de Tela.

Criar 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 próximos vão levar 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 de build (sdv_core_cf-aosp_current-userdebug). Depois que o Cuttlefish é inicializado, esta mensagem é mostrada:

    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: vários locatários.

Resolver problemas

Nesta seção, explicamos como resolver problemas 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 remota de build (RBE), remova as definições de USE_RBE e ENABLE_RBE_BOOTSTRAP de .bashrc ou .zshrc.

cvd: o VM Manager crosvm não é compatível com esta máquina

Se o Cuttlefish informar que o VM Manager 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 o build novamente.