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 .
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 :
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 .
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
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.
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.
Créez des packages
sdk
etsdk_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 sousaosp-main/out/host/linux-x86/sdk/sdk_phone_x86
:-
sdk-repo-linux-system-images-eng.[username].zip
-
repo-sys-img.xml
-
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 .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é .
- Mettez à jour
Pour utiliser une image AVD personnalisée, procédez comme suit dans le gestionnaire de SDK :
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.
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 :