Puoi utilizzare l'emulatore Android per creare emulazioni di dispositivi Android che eseguono le tue immagini di sistema Android personalizzate. Inoltre, puoi aggiungere il supporto multi-display alle emulazioni di emulatore Android.
Architettura dell'emulatore Android
L'emulatore Android esegue il sistema operativo Android in una macchina virtuale chiamata Android Virtual Device (AVD). Ogni AVD contiene lo stack software Android completo e viene eseguito come se si trovasse su un dispositivo fisico. La Figura 1 illustra l'architettura di alto livello di Android Emulator. Per saperne di più sull'emulatore, vedi Eseguire app sull'emulatore Android.
Figura 1. Architettura dell'emulatore Android.
Crea immagini AVD
Ogni AVD include un'immagine di sistema Android, che viene eseguita in quell'AVD. Gestione AVD include alcune immagini di sistema. Puoi creare immagini di sistema AVD personalizzate dal codice sorgente e creare emulazioni di dispositivi per eseguirle.
Per creare ed eseguire un'immagine di sistema AVD:
Scarica l'origine Android:
mkdir aosp-android-latest-release; cd aosp-android-latest-releaserepo init -urepo sync -j24
Se vuoi creare altre versioni di Android, puoi trovare i nomi dei rami nel repository Android pubblico. Sono mappati a Nomi in codice, tag e numeri build di Android.
Crea un'immagine di sistema AVD. Si tratta della stessa procedura per creare un'immagine di sistema per un dispositivo Android. Ad esempio, per creare un AVD x86 a 64 bit:
source ./build/envsetup.shlunch sdk_phone_x86_64make -j32Esegui l'immagine di sistema AVD nell'emulatore Android:
emulator
Per ulteriori dettagli sull'esecuzione dell'emulatore, vedi Opzioni di avvio dalla 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 affinché altri le utilizzino con Android Studio
Segui queste istruzioni per condividere le immagini di sistema AVD con altri. Possono utilizzare le immagini di sistema AVD con Android Studio per sviluppare e testare le app.
Crea altri pacchetti
sdkesdk_repo:Per Android 13 e versioni successive, utilizza il comando
emu_img_zip:$ make emu_img_zipViene 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_repoIl comando
make sdk sdk_repocrea due file inaosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86:sdk-repo-linux-system-images-eng.[username].ziprepo-sys-img.xml
Ospita il file
sdk-repo-linux-system-images-eng.[username].zipin una posizione 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.xmldi conseguenza:- Aggiorna
<sdk:url>con l'URL dell'immagine di sistema AVD. - Consulta sdk-sys-img-03.xsd per scoprire di più sugli altri aggiornamenti al file.
- Ospita
repo-sys-img.xmlin una posizione accessibile ai tuoi utenti e ottieni il relativo URL da utilizzare come URL 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.
In questo modo, 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 supporto multi-display per supportare meglio più casi d'uso, come la modalità Auto e la modalità Desktop. L'emulatore Android supporta anche l'emulazione multi-display. In questo modo puoi creare un ambiente specifico multi-display senza configurare l'hardware reale.
Puoi aggiungere il supporto multi-display a un AVD apportando le seguenti modifiche o selezionando le modifiche da queste CL.
Aggiungi il fornitore multi-display 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 += MultiDisplayProviderAttiva il flag della funzionalità Multi-Display aggiungendo questa riga al file
device/generic/goldfish/data/etc/advancedFeatures.ini:MultiDisplay = on
Puoi trovare le funzionalità più recenti dell'emulatore e le informazioni sulle release nelle seguenti fonti: