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:
Crie e acesse um diretório de trabalho, como
sdv:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYInicializar seu diretório de trabalho para controle de origem:
Este exemplo usa a ramificação
26Q2-fs-release.RELEASE=26Q2-fs-releaserepo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASEA 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
-bidentifica 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 -j8O 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.shEsse 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-userdebugEsse 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)lunchpara 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.
mA 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.
Para iniciar o Cuttlefish com seu build:
cvd createO 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 successfullyExecute
adbpara se conectar ao Cuttlefish.Execute
adb devicespara verificar se o build está em execução. Um resultado semelhante a este vai aparecer:List of devices attached 0.0.0.0:6520 deviceExecute
cvd stoppara 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-commoncvd not found
Se você receber um erro cvd not found:
- Configure seu build novamente.
- Continue com Escolher uma segmentação.
Loops de falha do Cuttlefish
Se o Cuttlefish entrar em um loop de falhas:
- Para interromper todas as instâncias do Cuttlefish, execute
cvd stop. - Use o Cuttlefish para testar novamente seu build.