Scarica, crea ed esegui

In questa pagina viene spiegato come scaricare, creare ed eseguire l'SDV AAOS su Cuttlefish.

Scarica il codice sorgente dell'SDV AAOS

Segui le istruzioni fornite in Scarica l'origine per Android.

Configura l'ambiente di build

Dalla directory di lavoro, esegui lo script envsetup.sh per configurare l'ambiente di build:

source build/envsetup.sh

Questo script importa diversi comandi che ti consentono di lavorare con il codice sorgente 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.

Scegli un target

Prima di creare un 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 eseguendo la build. Ad esempio, utilizza questo comando per creare un target per l'emulatore Cuttlefish:

lunch sdv_core_cf-aosp_current-userdebug

Questo 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 device/google/sdv. Consulta una descrizione dettagliata dei target disponibili all'indirizzo device/google/sdv/README.md. I principali target di Cuttlefish (cf) sono:

  • sdv_core_cf-aosp_current-userdebug: crea un'immagine di AAOS SDV Core (sdv_core) che viene eseguita su Cuttlefish (cf).
  • sdv_media_cf-aosp_current-userdebug: crea un'immagine di AAOS SDV Core con API multimediali virtualizzate virtIO (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug - Crea un'immagine che estende il target multimediale SDV AAOS (sdv_media_cf) lunch in modo che contenga il renderer ad alta affidabilità (HAR). HAR viene eseguito automaticamente all'avvio.
  • sdv_ivi_cf-aosp_current-userdebug: crea un'immagine dell'In-Vehicle Infotainment (IVI) contenente il gateway SDV e le app di esempio Java.
  • sdv_ivi_cf_ds-aosp_current-userdebug: crea un'immagine che estende il target IVI SDV AAOS (sdv_ivi_cf) e include l'implementazione di DriverUI e del quadro strumenti di Display Safety.

Crea SDV AAOS

Esegui questo comando per creare il target. A seconda delle specifiche della tua workstation, la prima build richiede tra i 30 e i 60 minuti. Le build successive richiedono molto meno tempo.

m

L'output della build viene visualizzato in $OUT_DIR. Se crei target diversi, ogni build di target viene visualizzata in $OUT_DIR.

Testa la build utilizzando Cuttlefish

Dopo aver creato l'SDV AAOS, testa la build utilizzando Cuttlefish.

  1. Per avviare Cuttlefish con la tua build:

    cvd create

    Cuttlefish viene eseguito utilizzando la destinazione di build (sdv_core_cf-aosp_current-userdebug). Dopo l'avvio di Cuttlefish, viene visualizzato questo messaggio:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Esegui adb per connetterti a Cuttlefish.

  3. Esegui adb devices per verificare che la build sia in esecuzione. Viene visualizzato un risultato simile al seguente:

    List of devices attached
    0.0.0.0:6520 device
  4. Esegui cvd stop per spegnere il dispositivo.

Per eseguire più istanze di Cuttlefish con build diverse, consulta Cuttlefish: multi-tenancy.

Risoluzione dei problemi

Questa sezione spiega come risolvere i problemi che potrebbero verificarsi durante il download, la creazione o l'esecuzione di AAOS SDV.

Errori RBE

Se riscontri errori di Remote Build Execution (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 questo comando per installare Cuttlefish:

sudo apt install cuttlefish-common

cvd non trovato

Se ricevi un errore cvd not found:

  1. Configura di nuovo la build.
  2. Continua con Scegli un target.

Loop di arresti anomali di Cuttlefish

Se Cuttlefish entra in un loop di arresto anomalo:

  1. Per arrestare tutte le istanze Cuttlefish, esegui cvd stop.
  2. Utilizza Cuttlefish per ripetere il test della build.