Questa pagina spiega come scaricare, creare ed eseguire AAOS SDV su Cuttlefish.
Recuperare il codice sorgente di AAOS SDV
Segui le istruzioni riportate in Scaricare il codice sorgente di Android.
Configurare l'ambiente di build
Dalla directory di lavoro, esegui lo script envsetup.sh per configurare l'ambiente di build:
source build/envsetup.shQuesto script importa diversi comandi che ti consentono di lavorare con il codice sorgente di Android, inclusi i comandi utilizzati in questa pagina. Per visualizzare il codice sorgente dello script, consulta platform/build/envsetup.sh. Per visualizzare la guida integrata, digita hmm.
Scegliere un target
Prima di creare SDV, identifica un target da creare. Per identificare il target da creare, utilizza il comando lunch seguito da una stringa che rappresenta il target per cui stai creando. Ad esempio, utilizza questo comando per creare un target per l'emulatore Cuttlefish:
lunch sdv_core_cf-trunk_staging-userdebugQuesto comando seleziona il prodotto, la configurazione della release e la variante da creare e memorizza la selezione nell'ambiente.
I target lunch per SDV sono forniti in un progetto Git separato che si trova nella directory devices/google/sdv. Per una descrizione dettagliata dei target disponibili, consulta device/google/sdv/README.md. I target principali di Cuttlefish (cf) sono:
sdv_core_cf-trunk_staging-userdebug- Crea un'immagine di AAOS SDV Core (sdv_core) che viene eseguita su Cuttlefish (cf).sdv_media_cf-trunk_staging-userdebug- Crea un'immagine di AAOS SDV Core con le API multimediali virtualizzate virtIO (sdv_media).sdv_media_har_cf-trunk_staging-userdebug- Crea un'immagine che estende il target multimediale AAOS SDV (sdv_media_cf)lunchper contenere il renderer ad alta disponibilità (HAR). HAR viene eseguito automaticamente all'avvio.sdv_ivi_cf-trunk_staging-userdebug- Crea un'immagine di infotainment in-vehicle (IVI) contenente SDV Gateway e app di esempio Java.sdv_ivi_cf_ds-trunk_staging-userdebug- Crea un'immagine che estende il target AAOS SDV IVI (sdv_ivi_cf) e include l'implementazione di DriverUI e del quadro strumenti di Display Safety.
Creare AAOS SDV
Esegui il comando seguente per creare il target. A seconda delle specifiche della workstation, la prima build richiede tra 30 e 60 minuti. Le build successive richiedono molto meno tempo.
mL'output della build viene visualizzato in $OUT_DIR. Se crei target diversi, ogni build di target viene visualizzata in $OUT_DIR.
Testare la build utilizzando Cuttlefish
Dopo aver creato AAOS SDV, testa la build utilizzando Cuttlefish.
Per avviare Cuttlefish con la build:
cvd createCuttlefish viene eseguito utilizzando il target creato (
sdv_core_cf-trunk_staging-userdebug). Dopo l'avvio di Cuttlefish, viene visualizzato questo messaggio:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyEsegui
adbper connetterti a Cuttlefish.Esegui
adb devicesper verificare che la build sia in esecuzione. Viene visualizzato un risultato simile al seguente:List of devices attached 0.0.0.0:6520 deviceEsegui
cvd stopper arrestare il dispositivo.
Per eseguire più istanze di Cuttlefish con build diverse, consulta Cuttlefish: multi-tenancy.
Risoluzione dei problemi
Questa sezione spiega come risolvere gli errori che potrebbero verificarsi durante il download, la creazione o l'esecuzione di AAOS SDV.
Errori RBE
Se riscontri errori di esecuzione della build remota (RBE), rimuovi le definizioni di USE_RBE e ENABLE_RBE_BOOTSTRAP da .bashrc o .zshrc.
cvd: VM manager crosvm isn't supported on this machine
Se Cuttlefish segnala che il gestore di VM crosvm non è supportato sulla tua macchina, esegui il seguente comando per installare Cuttlefish:
sudo apt install cuttlefish-commoncvd not found
Se ricevi un errore cvd not found:
- Configura di nuovo la build.
- Continua con Scegliere un target.
Cicli di arresto anomalo di Cuttlefish
Se Cuttlefish entra in un ciclo di arresto anomalo:
- Per arrestare tutte le istanze di Cuttlefish, esegui
cvd stop. - Utilizza Cuttlefish per testare di nuovo la build.