Utilizzo dei dispositivi virtuali dell'emulatore Android

Puoi utilizzare Android Emulator per creare emulazioni di dispositivi Android che eseguono le tue immagini di sistema Android personalizzate. Puoi anche condividere le tue immagini personalizzate del sistema Android in modo che altre persone possano eseguirne le emulazioni. Inoltre, puoi aggiungere il supporto multi-display alle emulazioni dell'emulatore Android.

Architettura dell'emulatore Android

Android Emulator ti consente di eseguire emulazioni di dispositivi Android su macchine Windows, macOS o Linux. L'emulatore Android esegue il sistema operativo Android in una macchina virtuale denominata dispositivo virtuale Android (AVD). L'AVD contiene lo stack software Android completo e funziona come se fosse su un dispositivo fisico. La Figura 1 è un diagramma dell'architettura di alto livello dell'emulatore Android. Per ulteriori informazioni sull'emulatore, vedere Eseguire app sull'emulatore Android .

Architettura dell'emulatore Android

Figura 1. Architettura dell'emulatore Android

Creazione di immagini AVD

Ogni AVD include un'immagine del 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 di dispositivi per eseguirle.

Per creare ed eseguire un'immagine del sistema AVD:

  1. Scarica il sorgente Android:

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

    Se desideri creare altre versioni di Android, puoi trovare i nomi dei rami nel repository Android pubblico . Si associano a nomi in codice, tag e numeri di build Android .

  2. Costruisci un'immagine del sistema AVD. Questo è lo stesso processo della creazione di un'immagine del sistema del dispositivo Android . Ad esempio, per creare un AVD x86 a 32 bit:

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    Se preferisci creare un AVD x86 a 64 bit, esegui lunch per la destinazione a 64 bit:

    lunch sdk_phone_x86_64
    
  3. Esegui l'immagine del sistema AVD nell'emulatore Android:

    emulator
    

Consulta le opzioni di avvio della riga di comando per ulteriori dettagli sull'esecuzione dell'emulatore. La Figura 2 mostra un esempio dell'emulatore Android che esegue un AVD.

Emulatore Android che esegue un AVD

Figura 2. Emulatore Android che esegue un AVD

Condivisione di immagini del sistema AVD affinché altri possano utilizzarle con Android Studio

Segui queste istruzioni per condividere le immagini del tuo sistema AVD con altri. Possono utilizzare le immagini del tuo sistema AVD con Android Studio per sviluppare e testare app.

  1. Crea pacchetti sdk e sdk_repo aggiuntivi:

    Per Android 13 e versioni successive, utilizza il comando emu_img_zip :

    $ make emu_img_zip
    

    Questo genera 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 in aosp-main/out/host/linux-x86/sdk/sdk_phone_x86 :

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Ospita il file sdk-repo-linux-system-images-eng.[username].zip in un posto accessibile agli utenti e ottieni il relativo URL da utilizzare come URL dell'immagine del sistema AVD .

  3. Per Android 12 e versioni precedenti, modifica repo-sys-img.xml di conseguenza:

    • Aggiorna <sdk:url> all'URL dell'immagine del sistema AVD .
    • Vedi sdk-sys-img-03.xsd per conoscere altri aggiornamenti al file.
    • Ospita repo-sys-img.xml in un punto accessibile ai tuoi utenti e ottieni il relativo URL da utilizzare come URL del sito di aggiornamento personalizzato .

Per utilizzare un'immagine AVD personalizzata, procedi come segue in SDK Manager:

  1. Aggiungi l' URL del sito di aggiornamento personalizzato come sito di aggiornamento dell'SDK .

    Ciò aggiunge l'immagine del sistema AVD personalizzata alla pagina Immagini di sistema.

  2. Crea un AVD scaricando e selezionando l'immagine del sistema AVD personalizzata.

Aggiunta del supporto multi-display

Android 10 migliora il Multi-Display (MD) per supportare meglio più casi d'uso, come la modalità automatica e desktop. Android Emulator supporta anche l'emulazione multi-display. In questo modo puoi creare un ambiente multi-display specifico senza configurare l'hardware reale.

È possibile aggiungere il supporto multi-schermo a un AVD apportando le seguenti modifiche o scegliendo da questi CL .

  • Aggiungi il provider 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 += MultiDisplayProvider
    
  • Abilita il flag della funzione Multi-Display aggiungendo questa riga al file device/generic/goldfish/data/etc/advancedFeatures.ini :

    MultiDisplay = on
    

È possibile trovare le funzionalità più recenti dell'emulatore e le informazioni sulla versione dalle seguenti fonti: