Puoi utilizzare l'emulatore Android per creare emulazioni di dispositivi Android su cui vengono eseguite le tue immagini di sistema Android personalizzate. Inoltre, puoi aggiungere il supporto multi-display alle emulazioni di Android Emulator.
Architettura dell'emulatore Android
L'emulatore Android esegue il sistema operativo Android in una macchina virtuale chiamata dispositivo virtuale Android (AVD). Ogni AVD contiene l'intero software stack Android e funziona come se fosse su un dispositivo fisico. La Figura 1 illustra l'architettura di alto livello di Android Emulator. Per ulteriori informazioni sull'emulatore, consulta Eseguire app nell'emulatore Android.
Figura 1. Architettura dell'emulatore Android.
Creare immagini AVD
Ogni AVD include un'immagine di sistema Android, che viene eseguita in quell'AVD. AVD Manager include alcune immagini di sistema. Inoltre, puoi creare immagini di sistema AVD personalizzate dal codice sorgente e creare emulazioni dei dispositivi per eseguirle.
Per compilare ed eseguire un'immagine di sistema AVD:
Scarica il codice sorgente di Android:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
Se vuoi compilare altre versioni di Android, puoi trovare i nomi dei relativi branch nel repository pubblico di Android. Sono mappati a Nomi in codice, tag e numeri di build Android.
Crea un'immagine di sistema AVD. Si tratta della stessa procedura utilizzata per creare un'immagine del sistema di un dispositivo Android. Ad esempio, per creare un AVD x86 a 64 bit:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
Esegui l'immagine di sistema AVD nell'emulatore Android:
emulator
Per ulteriori dettagli sull'esecuzione dell'emulatore, consulta Opzioni di avvio della riga di comando. La Figura 2 mostra un esempio di emulatore Android che esegue un AVD:
Figura 2. Emulatore Android che esegue un AVD.
Condividere immagini di sistema AVD per consentire ad altri di utilizzarle con Android Studio
Segui queste istruzioni per condividere le immagini di sistema AVD con altri utenti. Possono utilizzare le immagini di sistema AVD con Android Studio per sviluppare e testare le app.
Crea altri pacchetti
sdk
esdk_repo
:Per Android 13 e versioni successive, utilizza il comando
emu_img_zip
:$ make emu_img_zip
Verrà generato un file
sdk-repo-linux-system-images-eng.[username]].zip
.Per Android 12 e versioni precedenti, utilizza il comando
sdk_repo
:$ make -j32 sdk sdk_repo
Il comando
make sdk sdk_repo
crea due file inaosp-main/out/host/linux-x86/sdk/sdk_phone_x86
:sdk-repo-linux-system-images-eng.[username].zip
repo-sys-img.xml
Carica il file
sdk-repo-linux-system-images-eng.[username].zip
in un luogo accessibile ai tuoi utenti e ottieni il relativo URL da utilizzare come URL immagine di sistema AVD.Per Android 12 e versioni precedenti, modifica
repo-sys-img.xml
di conseguenza:- Aggiorna
<sdk:url>
con l'URL dell'immagine di sistema AVD. - Consulta sdk-sys-img-03.xsd per scoprire altri aggiornamenti al file.
- Carica
repo-sys-img.xml
in un luogo accessibile ai tuoi utenti e ottieni il relativo URL da utilizzare come URL del sito di aggiornamento personalizzato.
- Aggiorna
Per utilizzare un'immagine AVD personalizzata, procedi nel seguente modo in SDK Manager:
Aggiungi l'URL del sito di aggiornamento personalizzato come sito di aggiornamento dell'SDK.
L'immagine di sistema AVD personalizzata viene aggiunta alla pagina Immagini di sistema.
Crea un AVD scaricando e selezionando l'immagine di sistema AVD personalizzata.
Aggiungere il supporto di più display
Android 10 migliora il multi-display per supportare meglio più casi d'uso, come la modalità Auto e desktop. Anche Android Emulator supporta l'emulazione multi-display. In questo modo puoi creare un ambiente multi-display specifico senza configurare l'hardware reale.
Puoi aggiungere il supporto di più display a un AVD apportando le seguenti modifiche o scegliendo tra questi CL.
Aggiungi il fornitore multidisplay alla build aggiungendo queste righe al file
build/target/product/sdk_phone_x86.mk
:PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \ system/lib/libemulator_multidisplay_jni.so \ system/lib64/libemulator_multidisplay_jni.so \ system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \ PRODUCT_PACKAGES += MultiDisplayProvider
Attiva il flag della funzionalità multi-display aggiungendo questa riga al file
device/generic/goldfish/data/etc/advancedFeatures.ini
:MultiDisplay = on
Puoi trovare le ultime funzionalità dell'emulatore e le informazioni sulle release nelle seguenti fonti: