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. En outre, vous pouvez ajouter la prise en charge du mode multi-écran aux émulations Android Emulator.

Architecture d'Android Emulator

Android Emulator vous permet d'exécuter Android Emulator exécute le système d'exploitation Android dans une machine virtuelle appelée AVD (Android Virtual Device). Chaque AVD contient l'intégralité de la pile logicielle Android et s'exécute comme s'il se trouvait sur un appareil physique. La figure 1 illustre l'architecture de haut niveau d'Android Emulator. 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 des 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, procédez comme suit:

  1. Téléchargez la source Android:

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

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

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

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

    emulator
    

Consultez la section Options de démarrage de la ligne de commande pour en savoir plus sur l'exécution de l'émulateur. 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 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 ou version ultérieure, utilisez la commande emu_img_zip:

    $ make emu_img_zip
    

    Un fichier sdk-repo-linux-system-images-eng.[username]].zip est alors généré.

    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-main/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 à un emplacement accessible à vos utilisateurs et obtenez son URL pour l'utiliser comme URL de l'image système AVD.

  3. Pour Android 12 ou version antérieure, modifiez repo-sys-img.xml en conséquence:

    • Mettez à jour <sdk:url> vers l'URL de votre image système AVD.
    • Consultez sdk-sys-img-03.xsd pour en savoir plus sur les autres mises à jour du fichier.
    • Hébergez repo-sys-img.xml dans un emplacement accessible à vos utilisateurs et utilisez son URL comme URL du site de mise à jour personnalisée.

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

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

    Votre image système AVD personnalisée est 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 compatibilité multi-écran

Android 10 améliore le mode multi-écran pour mieux répondre à un plus grand nombre de cas d'utilisation, tels que le mode automatique et le mode ordinateur. Android Emulator est également compatible avec l'émulation multi-écran. Vous pouvez ainsi créer un environnement multi-écran spécifique sans configurer le matériel proprement dit.

Vous pouvez ajouter la compatibilité multi-écran à un AVD en effectuant les modifications suivantes ou en sélectionnant ces CL.

  • Ajoutez le fournisseur multi-écran à la compilation 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 le flag de fonctionnalité multi-écran en ajoutant la ligne suivante au fichier device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

Vous trouverez les dernières fonctionnalités et informations de version de l'émulateur auprès des sources suivantes: