Utilisation de périphériques 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. 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 de plusieurs affichages aux émulations d'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 Android complète et fonctionne comme s'il se trouvait sur un appareil physique. La figure 1 est un schéma de l'architecture de haut niveau de l'émulateur Android. Pour plus d'informations sur l'émulateur, voir Exécuter des applications sur l'émulateur Android .

Architecture de l'émulateur Android

Figure 1. Architecture de l'émulateur Android

Construire des 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érique 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, balises et 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'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
    

Voir 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 de l'é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 personnes. 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 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-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> vers l'URL de votre image système AVD .
    • Voir 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é .

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 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 de la prise en charge du multi-affichage

Android 10 améliore le multi-affichage (MD) pour mieux prendre en charge davantage de cas d'utilisation, tels que le mode automatique et le mode 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 de plusieurs affichages à un AVD en apportant les modifications suivantes ou en choisissant parmi ces CL .

  • Ajoutez le fournisseur multi-affichage à la construction 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 :