Utilisation des appareils virtuels de l'émulateur Android

Vous pouvez utiliser l'émulateur Android pour créer des émulations d'appareils Android qui exécutent vos propres images système Android personnalisées. Vous pouvez également partager vos images système Android personnalisées afin que d'autres personnes puissent en exécuter des émulations. De plus, vous pouvez ajouter la prise en charge multi-affichage aux émulations Android Emulator.

Architecture de l'émulateur Android

Android Emulator vous permet d'exécuter des émulations d'appareils Android sur des machines Windows, macOS ou Linux. L'émulateur Android exécute le système d'exploitation Android dans une machine virtuelle appelée Android Virtual Device (AVD). L'AVD contient la pile logicielle complète d'Android et fonctionne comme s'il se trouvait sur un appareil physique. La figure 1 est un diagramme de l'architecture de haut niveau de l'émulateur Android. Pour plus d'informations sur l'émulateur, consultez Exécuter des applications sur l'émulateur Android .

Architecture de l'émulateur Android

Figure 1. Architecture de l'émulateur Android

Création d'images AVD

Chaque AVD comprend une image système Android, qui s'exécute dans cet AVD. Le gestionnaire AVD inclut certaines images système. Et vous pouvez créer des images système AVD personnalisées à partir de votre code source et créer des émulations de périphériques pour les exécuter.

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

  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 pouvez trouver leurs noms de branche dans le référentiel Android public . Ils correspondent aux noms de code, aux balises et aux numéros de build Android .

  2. Créez une image système AVD. Il s’agit du même processus que la création d’une image système d’un appareil Android . Par exemple, pour créer un AVD x86 32 bits :

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

    Si vous préférez créer un AVD x86 64 bits, exécutez lunch pour la cible 64 bits :

    lunch sdk_phone_x86_64
    
  3. Exécutez l'image système AVD dans l'émulateur Android :

    emulator
    

Consultez les options de démarrage de la ligne de commande pour plus de détails sur l'exécution de l'émulateur. La figure 2 montre un exemple d'émulateur Android exécutant un AVD.

Émulateur Android exécutant un AVD

Figure 2. Émulateur Android exécutant un AVD

Partage d'images du système AVD pour que d'autres puissent les utiliser avec Android Studio

Suivez ces instructions pour partager les images de votre système AVD avec d'autres. Ils peuvent utiliser les images de votre 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 supérieur, 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-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 dans un endroit accessible à vos utilisateurs et obtenez son URL à utiliser comme URL de l'image système AVD .

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

    • Mettez à jour <sdk:url> avec 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 endroit accessible à vos utilisateurs et obtenez son URL à utiliser comme URL du site de mise à jour personnalisée .

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

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

    Cela ajoute votre image système AVD personnalisé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.

Ajout du support multi-affichage

Android 10 améliore le multi-affichage (MD) pour mieux prendre en charge davantage de cas d'utilisation, tels que les modes automatique et bureau. Android Emulator prend également en charge l’émulation multi-affichage. Vous pouvez ainsi créer un environnement multi-affichage spécifique sans configurer le matériel réel.

Vous pouvez ajouter la prise en charge multi-affichage à un AVD en apportant les modifications suivantes ou en effectuant une sélection parmi ces CL .

  • Ajoutez un fournisseur multi-affichage à la build en ajoutant ces lignes 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'indicateur de fonctionnalité Multi-Display en ajoutant cette ligne au fichier device/generic/goldfish/data/etc/advancedFeatures.ini :

    MultiDisplay = on
    

Vous pouvez trouver les dernières fonctionnalités de l'émulateur et les informations sur les versions à partir des sources suivantes :