Utiliser des appareils virtuels Android Emulator

Vous pouvez utiliser Android Emulator pour créer des émulations d'appareils Android qui exécutent vos propres images système Android personnalisées. De plus, vous pouvez ajouter la prise en charge multi-écran aux émulations Android Emulator.

Architecture d'Android Emulator

Android Emulator exécute le système d'exploitation Android dans une machine virtuelle appelée appareil virtuel Android (AVD). Chaque AVD contient la pile logicielle Android complète et s'exécute comme s'il s'agissait d'un appareil physique. La figure 1 illustre l'architecture de haut niveau de l'émulateur Android. Pour en savoir plus sur l'émulateur, consultez Exécuter des applications sur Android Emulator.

Architecture d'Android Emulator.

Figure 1 : Architecture d'Android Emulator.

Créer des images AVD

Chaque AVD inclut une image système Android qui s'exécute dans cet AVD. AVD Manager inclut certaines images système. Vous pouvez également créer des images système AVD personnalisées à partir de votre code source et créer des émulations d'appareils pour les exécuter.

Pour créer et exécuter une image système AVD :

  1. Téléchargez la source Android :

    mkdir aosp-android-latest-release; cd aosp-android-latest-release
    repo init -u
    repo sync -j24

Si vous souhaitez créer d'autres versions d'Android, vous trouverez les noms de leurs branches dans le dépôt Android public. Ils correspondent aux noms de code, tags et numéros de build Android.

  1. Créez une image système AVD. Il s'agit du même processus que pour créer une image système d'appareil Android. Par exemple, pour créer un AVD x86 64 bits :

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
  2. Exécutez l'image système AVD dans Android Emulator :

    emulator

Pour en savoir plus sur l'exécution de l'émulateur, consultez Options de démarrage de la ligne de commande. La figure 2 montre un exemple d'Android Emulator exécutant un AVD :

Android Emulator exécutant un AVD.

Figure 2. Android Emulator exécutant un AVD.

Partager des images système AVD pour que d'autres utilisateurs puissent les utiliser avec Android Studio

Suivez ces instructions pour partager vos images système AVD avec d'autres utilisateurs. Ils peuvent utiliser vos images système AVD avec Android Studio pour développer et tester des applications.

  1. Créez des packages sdk et sdk_repo supplémentaires :

    Pour Android 13 et versions ultérieures, utilisez la commande emu_img_zip :

    $ make emu_img_zip
    

    Cela génère un fichier sdk-repo-linux-system-images-eng.[username]].zip.

    Pour Android 12 et versions antérieures, utilisez la commande sdk_repo :

    $ make -j32 sdk sdk_repo
    

    La commande make sdk sdk_repo crée deux fichiers sous aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86 :

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Hébergez le fichier sdk-repo-linux-system-images-eng.[username].zip dans un emplacement accessible à vos utilisateurs, puis obtenez son URL pour l'utiliser comme URL de l'image système de l'AVD.

  3. Pour Android 12 et versions antérieures, modifiez repo-sys-img.xml en conséquence :

    • Mettez à jour <sdk:url> avec votre URL d'image système AVD.
    • Pour en savoir plus sur les autres modifications apportées au fichier, consultez sdk-sys-img-03.xsd.
    • Hébergez repo-sys-img.xml quelque part où vos utilisateurs peuvent y accéder, puis récupérez son URL pour l'utiliser comme URL du site de mise à jour personnalisé.

Pour utiliser une image AVD personnalisée, procédez comme suit dans le SDK Manager :

  1. Ajoutez l'URL du site de mise à jour personnalisé en tant que site de mise à jour du SDK.

    Votre image système AVD personnalisée est alors ajoutée à la page "Images système".

  2. Créez un AVD en téléchargeant et en sélectionnant l'image système AVD personnalisée.

Ajouter la prise en charge de plusieurs écrans

Android 10 améliore la prise en charge de plusieurs écrans pour mieux répondre à un plus grand nombre de cas d'utilisation, comme le mode voiture et le mode bureau. Android Emulator est également compatible avec l'émulation multi-écran. Vous pouvez ainsi créer un environnement multi-écrans spécifique sans configurer le matériel réel.

Vous pouvez ajouter la prise en charge de plusieurs écrans à un AVD en apportant les modifications suivantes ou en sélectionnant ces CL.

  • Ajoutez le fournisseur multi-écrans au build en ajoutant les lignes suivantes au fichier 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
    
  • Activez l'option "Multi-Display" en ajoutant cette ligne au fichier device/generic/goldfish/data/etc/advancedFeatures.ini :

    MultiDisplay = on
    

Vous trouverez les dernières fonctionnalités de l'émulateur et les informations sur les versions dans les sources suivantes :