Fazer o download, criar e executar

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

Inicializar o cliente do Repo

Configure seu cliente para acessar o repositório de origem do Android:

  1. Crie e acesse um diretório de trabalho, como sdv:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
  2. Inicializar seu diretório de trabalho para controle de origem:

    Este exemplo usa a ramificação 26Q2-fs-release.

    RELEASE=26Q2-fs-release
    repo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASE

    A opção -u é obrigatória e identifica um arquivo de manifesto, que é um arquivo XML que especifica onde os vários projetos Git na origem do Android são posicionados no seu diretório de trabalho. Neste exemplo, o nome do arquivo de manifesto não é especificado, então o comando usa o arquivo de manifesto padrão (default.xml).

    A opção -b identifica a ramificação que você está inicializando.

    A saída precisa conter a mensagem:

    repo has been initialized in path_to_working_directory

Baixar a origem do SDV do AAOS

Execute o comando abaixo para baixar a árvore da origem do Android para seu diretório de trabalho:

repo sync -c -j8

O argumento -c instrui o Repo a buscar a ramificação atual do manifesto do servidor. O comando -j8 divide a sincronização entre as linhas de execução para que ela seja concluída mais rapidamente.

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 uma 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: crie uma imagem do AAOS SDV Core (sdv_core) que seja executada no Cuttlefish (cf).
  • sdv_media_cf-trunk_staging-userdebug: crie uma imagem do AAOS SDV Core com APIs de mídia virtualizadas por virtIO (sdv_media).
  • sdv_media_har_cf-trunk_staging-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-trunk_staging-userdebug: crie uma imagem de infoentretenimento no veículo (IVI) que contenha o gateway SDV e os apps de exemplo em Java.
  • sdv_ivi_cf_ds-trunk_staging-userdebug: crie uma imagem que estenda o destino IVI SDV do AAOS (sdv_ivi_cf) e inclua a implementação do DriverUI e do painel de instrumentos da segurança da 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 de 30 a 60 minutos. Os builds 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 vai aparecer:

    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

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 do RBE

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

cvd: o crosvm do gerenciador de VMs 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 not found

Se você receber um erro cvd not found:

  1. Configure seu build novamente.
  2. Continue com Escolher uma segmentação.

Loops de falha do Cuttlefish

Se o Cuttlefish entrar em um loop de falhas:

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