Usa dispositivi virtuali Android Emulator

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

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 chiamata dispositivo virtuale Android. L'AVD contiene l'intero software Android e funziona come se fosse su un dispositivo fisico. La Figura 1 è un diagramma del modello di Android Emulator un'architettura di alto livello. Per ulteriori informazioni sull'emulatore, consulta Eseguire app nell'emulatore Android.

Architettura dell'emulatore Android

Figura 1. Architettura dell'emulatore Android

Crea immagini di durata di visualizzazione media

Ogni AVD include un'immagine di sistema Android, che viene eseguita in quell'AVD. AVD Manager include alcune immagini di sistema. Puoi anche creare modelli Immagini di sistema AVD dal codice sorgente e creare emulazioni di dispositivi per eseguirle.

Per creare ed eseguire un'immagine di sistema AVD:

  1. Scarica il codice sorgente di Android:

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

    Se vuoi sviluppare altre versioni di Android, puoi trovare le relative nomi ramo nel repository pubblico Android. Sono mappati a Nomi in codice, tag e numeri di build Android.

  2. 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 32 bit:

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

    Se preferisci creare una durata di visualizzazione media x86 a 64 bit, esegui lunch per il target a 64 bit:

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

    emulator
    

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

Emulatore Android che esegue un AVD

Figura 2. Emulatore Android che esegue un AVD

Condividere immagini di sistema AVD per consentire ad altri utenti di utilizzarle con Android Studio

Segui queste istruzioni per condividere le immagini di sistema AVD con altri utenti. Possono utilizza le immagini di sistema AVD con Android Studio per sviluppare e testare app.

  1. Crea altri pacchetti sdk e sdk_repo:

    Per Android 13 e versioni successive, utilizza 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 in aosp-main/out/host/linux-x86/sdk/sdk_phone_x86:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Carica il file sdk-repo-linux-system-images-eng.[username].zip in un luogo accessibile ai tuoi utenti e ottieni l'URL da utilizzare come URL immagine di sistema AVD.

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

    • Aggiorna <sdk:url> all'URL dell'immagine di sistema della durata di visualizzazione media.
    • Consulta sdk-sys-img-03.xsd per scoprire altri aggiornamenti al file.
    • Ospita repo-sys-img.xml in un luogo accessibile ai tuoi utenti e recupera i suoi URL da utilizzare come URL personalizzato del sito di aggiornamento.

Per utilizzare un'immagine di visualizzazione media personalizzata, esegui le seguenti operazioni in SDK Manager:

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

    L'immagine di sistema AVD personalizzata viene aggiunta alla pagina Immagini di sistema.

  2. Crea una durata di visualizzazione media scaricando e selezionando l'immagine di sistema AVD personalizzata.

Aggiungi il supporto multi-display

Android 10 migliora il multi-display (MD) per supportare meglio un numero maggiore di casi d'uso, come la modalità automatica e desktop. Anche Android Emulator supporta l'emulazione multi-display. In questo modo puoi creare uno specifico un ambiente multi-display 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 un 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
    
  • Attiva il flag della funzionalità multi-display aggiungendo questa riga al filedevice/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

Puoi trovare le ultime funzionalità dell'emulatore e le informazioni sulle release nelle seguenti fonti: