Per utilizzare i dispositivi virtuali Android (AVD), Android Emulator supporta un'interfaccia utente grafica (GUI) e un'interfaccia a riga di comando (CLI). Seleziona il flusso di lavoro ottimale per il tuo ambiente.
- Crea e gestisci dispositivi virtuali La GUI è uno strumento semplice fornito per la maggior parte degli sviluppatori e degli utenti di app.
- Avvia l'emulatore dalla riga di comando offre un modo flessibile per gli utenti esperti e l'automazione. Ad esempio, per utilizzare più AVD o per configurare test e integrazione continui. Per iniziare, consulta gli esempi in Strumenti.
Avvia un AVD AOSP Car utilizzando un'app predefinita
Per avviare e testare rapidamente l'utilizzo di AVD AOSP Car precompilato, utilizza uno script open source per scaricare
e avviare una build dell'emulatore da
ci.android.com
. Lo script è stato testato su macOS e Linux.
Per utilizzare questo script, devi avere Curl.
Per eseguire lo script:
- Copia i contenuti dello script
launch_emu.sh
nel file locale, supponendo che tu utilizzilaunch_emu.sh
come nome del file locale. - Rendi eseguibile lo script locale. Ad esempio, esegui
chmod +x ./launch_emu.sh
. - Controlla le opzioni disponibili eseguendo lo script con
./launch_emu.sh -h
. - In
ci.android.com
, vai al ramoaosp-main-throttled
e seleziona una build recente in cuisdk_car_x86_64
è verde. Ad esempio, 11370359. Se non vedi le informazioni sulla compilazione, esci dal tuo Account Google e riprova. - Scarica e installa i file binari pertinenti all'emulatore con l'ID build. Ad esempio,
./launch_emu.sh -i -a 11370359
. - Dopodiché, puoi utilizzare
./launch_emu.sh
per avviare l'emulatore scaricato e installato (non utilizzare le opzioni-i
o-a
). - Per scaricare e installare un altro ID build, esegui
./launch_emu.sh -c
per ripulire lo spazio di lavoro e poi ripeti i passaggi 4 e 5 precedenti.
Per specificare le opzioni di avvio a riga di comando dell'emulatore Android quando lo avvii, utilizza l'opzione -v
. Ad esempio:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
Creare un AVD AOSP Car
La procedura per creare un AVD AOSP Car è simile alla creazione di immagini AVD per uno smartphone (ad esempio aosp_car_x86_64):
- Per configurare l'ambiente di sviluppo e identificare un ramo, consulta
Strumenti di controllo del codice sorgente. Quindi consulta
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 - Crea l'immagine AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- Esegui l'immagine AVD (aggiungi altre opzioni di avvio della riga di comando se necessario):
emulator &
Ad esempio:
Figura 1. Schermata dell'emulatore virtuale Android
Note su questa procedura:
- Poiché il processo di compilazione è lo stesso necessario per compilare Android per un dispositivo fisico, attendi un po' di tempo per scaricare il codice sorgente e compilarlo.
- Per lavorare su altri branch, imposta
$ANDROID_BRANCH
su un altro branch/tag. - Le immagini AVD, come
system.img
, vengono create in$ANDROID_PRODUCT_OUT
. Per scoprire di più sulle immagini chiave, consulta la directory di sistema AVD. - Consulta il file README per scoprire come vengono utilizzati i file binari dell'emulatore precompilato nell'albero Android per eseguire l'emulatore.
Creare un AVD di auto
L'aggiunta di un nuovo AVD auto è quasi identica all'aggiunta di un nuovo dispositivo. Ad esempio,
1660554
crea una nuova durata di visualizzazione media avd_car
.
Per creare un AVD per auto:
- Crea una cartella per l'azienda e una per il dispositivo, se necessario. Questo esempio utilizza
$ANDROID_BUILD_TOP/device/google_car/avd_car
. - Crea il file make del prodotto,
avd_car.mk
, che definisce come compilare l'AVD. - Crea una cartella del dispositivo,
avd_car_device
, in cui contenereBoardConfig.mk
esource.properties
. - Aggiungi la nuova scelta
makefile
elunch
aAndroidProducts.mk
. - Per compilare ed eseguire il nuovo AVD
avd_car
:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Impacchettare un file ZIP dell'immagine AVD
Puoi pacchettizzare e condividere l'AVD con altri utenti o utilizzarlo su un altro computer. Utilizza emu_img_zip.mk
per generare il file ZIP dell'immagine AVD:
- Dopo aver creato l'AVD, imposta
emu_img_zip
come target:m emu_img_zip
- Il file ZIP dell'immagine AVD, preceduto da
sdk-repo-linux-system-images
, viene creato nella cartella denominata$ANDROID_PRODUCT_OUT
.
Creare un kernel AVD
I kernel AVD sono simili ad altri kernel Android in quanto sono tutti immagini precompilate. In genere, puoi utilizzare le immagini precompilate del kernel goldfish standard così come sono da ogni release di Android.
Per eseguire esperimenti sulle modifiche al kernel:
- 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/
- Sostituisci il file binario del kernel nella base di codice in base al file make dell'AVD. Ad esempio,
x86_64-vendor.mk
includex86_64-kernel.mk
.
Il codice e la configurazione del kernel si trovano come segue:
Articolo | Valore |
---|---|
Branch | common-android11-5.4 (utilizzato in Android 11) |
Manifest | kernel/manifest/common-android11-5.4 |
common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
Scoppiettio | kernel/common/android11-5.4 |
Creare un nuovo profilo del dispositivo
Per consentire agli utenti di creare un AVD specifico in Gestione AVD di Android Studio, consulta
Creare e gestire dispositivi virtuali.
I produttori di dispositivi possono definire le proprie specifiche hardware, ad esempio le dimensioni dello schermo e il DPI, tramite l'utilizzo di un file devices.xml
incluso nell'immagine AVD.
- Ad esempio, consulta i profili dei dispositivi per auto e motori in
automotive.xml
. - Per lo sviluppo o la prototipazione dell'interfaccia HMI, è possibile aggiungere più dispositivi al file per la stessa immagine AVD.
- Includi il file nel file ZIP dell'immagine AVD OEM nella cartella
[ABI]
. Ad esempio, comex86_64
. - I produttori di dispositivi possono anche creare una skin dell'emulatore. Ad esempio, per definire pulsanti hardware aggiuntivi per un'esperienza utente più fedele. Questo non è utile solo per i flussi di lavoro degli sviluppatori, ma anche per altre attività come la ricerca e la revisione UX.
Crea il file XML dell'immagine AVD
I produttori di dispositivi possono creare un file XML immagine AVD per consentirne il download da parte di Android Studio.
- Ad esempio, consulta il file XML dell'immagine AVD AAOS,
sys-img2-1.xml
. - I produttori di dispositivi possono definire il proprio contratto di licenza AVD OEM per gli utenti di destinazione (utilizzando il sistema di onestà), con la licenza per l'emulatore Android. Android Studio ottiene il consenso dell'utente quando è inclusa una licenza di questo tipo.
Per creare l'immagine:
- Prepara un file ZIP dell'immagine AVD.
- Decomprimi
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - Aggiungi
devices.xml
alla cartellax86_64
e comprimi il file in un file ZIP. Ad esempio, comeoem_avd_img_x86_64.zip
. - Aggiorna
oem-sys-img2-1.xml
. - Aggiorna il nome, le dimensioni e il valore shasum del file ZIP (i file XML di esempio sono forniti in
tools
).
Ad esempio, per ospitare l'AVD su Google Cloud Storage, consulta la sezione Creare bucket di archiviazione.
Per caricare l'AVD e renderlo accessibile pubblicamente, consulta la pagina 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 SDK dell'immagine AVD è: 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 AVD con gli utenti di Android Studio
Affinché gli utenti possano scaricare le immagini AVD e utilizzare l'AVD tramite Android Studio, puoi fornire un file XML del componente aggiuntivo SDK. Per maggiori dettagli, consulta Aggiornare gli strumenti IDE e SDK.
Per scaricare l'AVD dalla rete:
- Ospita il file ZIP dell'immagine e i file XML su un server.
- Fornisci l'URL agli utenti di destinazione.
- (Facoltativo) Limita l'accesso in base a nome utente e password.
In alternativa, per velocizzare lo sviluppo, scarica l'AVD in una directory locale:
- Salva i file XML e tutti gli elementi specificati nel file XML in una cartella (ad esempio, tutti i file ZIP delle immagini AVD) denominata
ADDON_DIR
. - Specifica l'URL come
file://$ADDON_DIR/oem-sys-img2-1.xml
.