Vous pouvez utiliser Android Emulator pour créer des émulations d'appareils Android exécutant vos propres images système Android personnalisées. De plus, vous pouvez ajouter la compatibilité avec le 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 d'Android Emulator. Pour en savoir plus sur l'émulateur, consultez la section Exécuter des applications sur 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:
Téléchargez le code source Android:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
Si vous souhaitez compiler d'autres versions d'Android, vous trouverez leurs noms de branches dans le dépôt Android public. Ils sont mappés sur les noms de code, balises et numéros de version Android.
Créer 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
Exécutez l'image système de l'AVD dans Android Emulator:
emulator
Pour en savoir plus sur l'exécution de l'émulateur, consultez la section Options de démarrage de la ligne de commande. La figure 2 montre un exemple d'exécution d'un AVD par Android Emulator:
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.
Créez des packages
sdk
etsdk_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 ou version antérieure, 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 emplacement accessible à vos utilisateurs, puis 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:- Remplacez
<sdk:url>
par votre URL d'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 obtenez son URL à utiliser comme URL du site de mise à jour personnalisée.
- Remplacez
Pour utiliser une image AVD personnalisée, procédez comme suit dans SDK Manager:
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 "System Images" (Images système).
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 multi-écran pour mieux prendre en charge davantage de cas d'utilisation, tels que le mode automatique et le mode bureau. 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 réel.
Vous pouvez ajouter la compatibilité avec plusieurs écrans à un AVD en apportant les modifications suivantes ou en sélectionnant des éléments parmi ces CL.
Ajoutez le fournisseur multi-écran 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'indicateur 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 de l'émulateur et les informations sur les versions dans les sources suivantes: