Dispositivo virtuale Android come piattaforma di sviluppo

Per utilizzare i dispositivi virtuali Android, Emulatore Android supporta una Graphical User Interface (GUI) e un'interfaccia a riga di comando (CLI). Selezioni un flusso di lavoro ottimale per il tuo ambiente.

Lanciare un AOSP Car AVD utilizzando una funzionalità

Per avviare e testare rapidamente utilizzando AOSP Car AVD predefinito, utilizza uno script open source per scaricare avvia la build di un emulatore ci.android.com Lo script è stato testato su macOS e Linux.

Per utilizzare questo script, è necessario Curl.

Per eseguire lo script:

  1. Copia il launch_emu.sh i contenuti dello script nel file locale, supponendo che tu utilizzi launch_emu.sh come il nome del file locale.
  2. Rendi eseguibile lo script locale. Ad esempio, esegui chmod +x ./launch_emu.sh.
  3. Verifica le opzioni disponibili eseguendo lo script con ./launch_emu.sh -h.
  4. Su ci.android.com, vai alla Ramo aosp-main-throttled e seleziona una build recente in cui sdk_car_x86_64 è verde. Ad esempio, 11370359. Se non vedi Build esci dal tuo Account Google e riprova.
  5. Scarica e installa i file binari relativi all'emulatore con l'ID build. Ad esempio: ./launch_emu.sh -i -a 11370359.
  6. Dopodiché puoi utilizzare ./launch_emu.sh per avviare l'app scaricata e installata (non utilizzare le opzioni -i o -a).
  7. Per scaricare e installare un altro ID build, esegui ./launch_emu.sh -c per pulire area di lavoro e ripeti i passaggi 4 e 5 precedenti.

Per specificare l'emulatore Android Opzioni di avvio dalla riga di comando quando avvii l'emulatore, usa l'opzione -v. Ad esempio:

  ./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"

Creazione di una durata di visualizzazione media dell'auto AOSP

Il processo di creazione di una durata di visualizzazione media per auto AOSP è simile alla Creazione di immagini di durata di visualizzazione media per un telefono (ad esempio, aosp_car_x86_64):

  1. Per configurare l'ambiente di sviluppo e identificare un ramo, consulta Strumenti di controllo del codice sorgente. Quindi rivedi Download del codice sorgente:
    ANDROID_BRANCH="android12L-release"
    REPO_URL="https://android.googlesource.com/platform/manifest"
    mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8
  2. Crea l'immagine della durata di visualizzazione media:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. Esegui l'immagine AVD (aggiungi altre opzioni di avvio dalla riga di comando secondo necessità):
    emulator &

    Ad esempio:

    Figura 1. Schermata Emulatore virtuale Android

    Note su questa procedura:

    • Perché il processo di compilazione è lo stesso necessario per sviluppare Android per un dispositivo fisico, attendi un po' di tempo per scaricare il codice sorgente e poi crearlo.
    • Per lavorare su altri rami, imposta $ANDROID_BRANCH su un altro ramo/tag.
    • Le immagini di durata di visualizzazione media, come system.img, vengono create alle ore $ANDROID_PRODUCT_OUT. Per scoprire di più sulle immagini chiave, consulta: Durata di visualizzazione media: di sistema.
    • Consulta le README per scoprire come vengono utilizzati i file binari dell'emulatore predefinito nella struttura Android esegui l'emulatore.

Crea una durata di visualizzazione media dell'auto

L'aggiunta di una nuova durata di visualizzazione media dell'auto è quasi identica alla Aggiunta di un nuovo dispositivo. Ad esempio: 1660554 crea una nuova durata di visualizzazione media per avd_car.

Per creare una durata di visualizzazione media dell'auto:

  1. Crea un'azienda e una cartella del dispositivo in base alle esigenze. Questo esempio utilizza $ANDROID_BUILD_TOP/device/google_car/avd_car.
  2. Crea il makefile del prodotto, avd_car.mk, che definisce la modalità di creazione della durata di visualizzazione media.
  3. Crea una cartella dispositivo, avd_car_device, in cui includere BoardConfig.mk e source.properties.
  4. Aggiungi la nuova opzione makefile e la nuova opzione lunch a AndroidProducts.mk.
  5. Per creare ed eseguire la nuova durata di visualizzazione media di avd_car:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
di Gemini Advanced. Ora è tutto pronto per realizzare un prototipo della maggior parte delle funzionalità HMI e delle app nella tua nuova durata di visualizzazione media.

Crea un file ZIP immagine AVD

Puoi mettere in valigia e condividere la tua durata di visualizzazione media con altre persone o usarla su un altro computer. Utilizza emu_img_zip.mk per generare il file ZIP immagine AVD:

  1. Dopo aver creato la durata di visualizzazione media, imposta emu_img_zip come target:
    m emu_img_zip
  2. Il file ZIP dell'immagine AVD, preceduto dal prefisso sdk-repo-linux-system-images, è creato nella cartella denominata $ANDROID_PRODUCT_OUT.

Creazione di un kernel per la durata di visualizzazione media (AVD)

I kernel AVD sono simili agli altri kernel Android in quanto sono tutti immagini predefinite. Normalmente, puoi utilizzare le immagini predefinite del kernel di pesci rossi standard così come sono ogni release di Android.

Per fare esperimenti con le modifiche al kernel:

  1. Esegui la seguente serie di istruzioni:
    mkdir goldfish-kernel-54
    cd goldfish-kernel-54
    repo init -u https://android.googlesource.com/kernel/manifest -b
    common-android11-5.4
    repo sync
    BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh
    BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64
    build/build.sh
    ls -l ./out/android11-5.4/dist/
    
  2. Sostituisci il programma binario del kernel nel codebase in base al makefile AVD. Ad esempio: x86_64-vendor.mk include x86_64-kernel.mk.

Il codice e la configurazione del kernel si trovano come segue:

Articolo Valore
Branch common-android11-5.4 (utilizzata in Android 11)
Manifest kernel/manifest/common-android11-5.4
moduli-comuni/dispositivo-virtuale kernel/common-modules/virtual-device/android11-5.4
Kernel kernel/common/android11-5.4

Crea un nuovo profilo dispositivo

Per consentire agli utenti di creare una durata di visualizzazione media specifica in Gestione AVD di Android Studio, vedi Creare e gestire dispositivi virtuali I produttori possono definire le proprie specifiche hardware, ad esempio dimensioni dello schermo e DPI, tramite l'utilizzo di un file devices.xml incluso nell'immagine della durata di visualizzazione media.

  • Ad esempio, vedi i profili Automotive Device in automotive.xml.
  • Per lo sviluppo dell'HMI o la prototipazione, è possibile aggiungere più dispositivi alla per la stessa immagine di visualizzazione media.
  • Includi il file nel file ZIP dell'immagine AVD dell'OEM nella cartella [ABI]. Ad esempio, come x86_64.
  • I produttori di dispositivi possono anche creare un emulatore. Ad esempio, per definire ulteriori pulsanti hardware per una UX più fedele. Questa funzionalità non è utile solo per i flussi di lavoro degli sviluppatori, ma anche per altre attività come la ricerca sull'esperienza utente. e rivedere.

Crea il file XML immagine AVD

I produttori di dispositivi possono creare un file XML di immagine AVD da scaricare in Android Studio li annotino.

  • Ad esempio, vedi il file XML dell'immagine AVD di AAOS, sys-img2-1.xml.
  • I produttori di dispositivi possono definire il proprio contratto di licenza per la durata di visualizzazione media (OEM) per gli utenti target (utilizzo del sistema di riconoscimento), con la licenza per Android Emulator. Android Studio ottiene il consenso degli utenti quando è inclusa una licenza di questo tipo.

Per creare l'immagine:

  1. Prepara un file ZIP immagine AVD.
  2. Decomprimi ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip.
  3. Aggiungi devices.xml alla cartella x86_64, quindi comprimi il file un file ZIP. Ad esempio, come oem_avd_img_x86_64.zip.
  4. Aggiorna oem-sys-img2-1.xml.
  5. Aggiorna il nome, le dimensioni e lo shasum del file ZIP (i file XML di esempio sono forniti in tools).

Ad esempio, per ospitare la durata di visualizzazione media su Google Cloud Storage, consulta la sezione Creazione di di archiviazione dei bucket.

Per caricare e rendere la durata di visualizzazione media accessibile pubblicamente, vedi Rendere pubblici i dati:

BUCKET_NAME="aaos-avd"
gsutil mb gs://$BUCKET_NAME
gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME
gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME
gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME

Il formato dell'URL del componente aggiuntivo AVD Image SDK è: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml. Ad esempio, se BUCKET_NAME è aaos-avd, l'URL è: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml.

Condividere un'immagine della durata di visualizzazione media con gli utenti di Android Studio

Per consentire agli utenti di scaricare le immagini della durata di visualizzazione media e di utilizzare la durata di visualizzazione media di Android Studio, puoi fornire un file XML di un componente aggiuntivo dell'SDK. Per maggiori dettagli, vedi Aggiorna l'IDE e gli strumenti dell'SDK.

Per scaricare la durata di visualizzazione media dalla rete:

  1. Ospita il file ZIP dell'immagine e i file XML su un server.
  2. Fornisci l'URL agli utenti target.
  3. (Facoltativo) Limita l'accesso in base a nome utente e password.

In alternativa, per velocizzare lo sviluppo, scarica la durata di visualizzazione media in una directory locale:

  1. Salva i file XML e tutti gli artefatti specificati nel file XML in una cartella (ad esempio, tutti i file ZIP delle immagini AVD) denominati ADDON_DIR.
  2. Specifica l'URL come file://$ADDON_DIR/oem-sys-img2-1.xml.