Skip to main content

En 2019, il y avait plus de 2,5 milliards d’appareils Android actifs en circulation. Ce nombre ne cesse d’augmenter. Vous avez peut-être accès à un téléphone ou un appareil Android. Mais que faire si ce n’est pas le cas ? C’est là qu’un émulateur Android devient utile : il peut simuler un système d’exploitation Android et son interface afin que vous puissiez tester votre application Android

Cet article présente des informations détaillées sur les émulateurs Android, leur fonctionnement, leurs usages, et jusqu’à quel point ils peuvent tester correctement vos applications Android et web.

Je vais aborder :

Qu’est-ce qu’un émulateur Android ?

Les émulateurs Android sont des logiciels conçus pour reproduire le matériel et le logiciel d’un appareil mobile Android à des fins de développement et de test. Les émulateurs Android fonctionnent sur votre Mac ou PC pour que vous puissiez développer des applications dédiées à Android sans bouger de votre bureau.

Android Emulator in Mac Screenshot
Les émulateurs Android fonctionnent aussi bien sur Mac que sur PC, permettant à chaque utilisateur de tester ses applications sur Android.

Jouer ou tester des jeux est une raison courante d’utiliser un émulateur Android, mais vous pouvez aussi exécuter n’importe quelle application du Google Play Store. Par exemple, si vous lancez votre application Instagram dans un émulateur, il devient possible de téléverser des photos directement depuis votre ordinateur – ce qui est autrement impossible.

Pour comprendre ce que peut faire un émulateur Android, il faut d’abord savoir comment il fonctionne. 

Comment fonctionnent les émulateurs Android ?

Les émulateurs Android, comme BlueStacks, NoxPlayer ou Genymotion, sont des applications logicielles installées sur votre ordinateur de bureau qui peuvent simuler l’expérience matérielle et logicielle d’un appareil Android. Utiliser un de ces outils permet aux joueurs de profiter de jeux mobiles

Bluestack Screenshot
BlueStacks, illustré dans cette capture d’écran, est un exemple d’émulateur Android populaire.

Android sur PC et permet aux testeurs de développer et de tester des applications Android en temps réel. 

Les émulateurs reproduisent l’architecture du système que vous visez. C’est pourquoi on trouve des émulateurs pour toutes sortes de logiciels et de matériels, selon vos besoins.

Qu’est-ce que Quick Emulator (QEMU) ?

Quick Emulator Screenshot
Quick Emulator est utilisé pour accélérer l’émulation grâce à la virtualisation assistée par le matériel.

En tant qu’outil open-source, Quick Emulator fonctionne sur de nombreux hôtes ou stations de travail (OS/CPU) pour émuler d’autres systèmes invités (OS/CPU).

QEMU alimente les émulateurs Android pour reproduire le matériel d’un appareil invité afin qu’il corresponde à celui d’un appareil hôte. Il s’exécute comme un programme sur votre ordinateur et traduit l’interface binaire des applications invitées pour qu’elle corresponde à celle de l’hôte.

Cette traduction est complexe et prend du temps, ce qui rend l’émulation très lente. Mais si les architectures des appareils hôte et invité sont similaires, la traduction devient simple et rapide. 

Si vos appareils hôte et invité présentent une architecture d’instruction similaire, QEMU saute le processus de traduction binaire. Il exécute directement l’appareil invité sur le processeur de l’appareil hôte – un procédé appelé virtualisation assistée par le matériel.

L’association de l’architecture des appareils se fait à l’aide d’un hyperviseur. 

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Comment fonctionnent les hyperviseurs ?

Capture d'écran de VMware, un exemple d’hyperviseur
VMware est un exemple d’hyperviseur.

Un hyperviseur ou moniteur de machine virtuelle (VMM) est un logiciel qui permet à un appareil, par exemple un ordinateur, de prendre en charge plusieurs machines virtuelles invitées en partageant ses ressources, comme le processeur et la mémoire. Les hyperviseurs vous aident à utiliser les ressources d’un système et offrent une mobilité informatique accrue entre différents serveurs.

Il existe deux principaux types d’hyperviseurs : Type 1 ou bare metal, et Type 2 ou hyperviseur hébergé. 

  • Les hyperviseurs de Type 1 fonctionnent comme des systèmes d’exploitation légers qui s’exécutent directement sur le matériel d’un hôte. 
  • Les hyperviseurs de Type 2 s’exécutent comme des logiciels sur un système d’exploitation, comme d’autres applications et programmes, vous permettant de lancer une application Android via le logiciel.

Avant 2017, l’architecture ARM d’Android nécessitait une traduction à partir d’un émulateur Android Developer Studio pour correspondre à la plupart des architectures utilisées sur les ordinateurs personnels.

Android a publié l’édition Developer Studio 25.3.0 qui a amélioré son émulateur en permettant d’accroître la virtualisation via un protocole d’assistance matérielle. Ainsi, vous avez besoin d’un hyperviseur pour effectuer la virtualisation assistée par le matériel, sachant que chaque système d’exploitation de PC prend en charge différents hyperviseurs.

Intel utilise Hardware Acceleration Execution Manager, HAXM, comme élément hyperviseur pour les plateformes Windows PC et macOS, tandis que Linux utilise Kernel-based Virtual Machine, KVM.

L’Application Binary Interface x86 d’Android prend en charge l’accélération matérielle sur différents PC. Mais si vous souhaitez améliorer les performances virtuelles de votre appareil, cet émulateur Android exige que vous installiez et activiez l’hyperviseur.

L’accélération matérielle permet à un émulateur Android de faire fonctionner votre appareil virtuel à des vitesses similaires à celles de votre CPU réel.  

Comment configurer un émulateur Android

Après la sortie de l’édition 25.3.0, Android a distribué son émulateur séparément des outils SDK. Configurer votre émulateur Android peut s’avérer complexe, mais voici un aperçu rapide du processus. 

Configuration matérielle requise

Vous avez besoin de la version 26.1.1 ou supérieure du SDK Android. Votre PC ou ordinateur portable doit disposer d’un processeur 64 ou 86 bits pour fonctionner avec l’émulateur Android.

Si vous utilisez Android 8.1 et versions ultérieures, vous devez avoir une webcam capable de capturer des images en 720p.

Pour la plupart des appareils, l’émulateur vous demande d’autoriser l’accélération matérielle des performances de votre appareil et vous aurez besoin de l’hyperviseur Intel HAXM version 7.2.0 pour cela. 

Les utilisateurs de plateformes Linux et Windows nécessitent des éléments matériels supplémentaires, mais cela dépend de leur processeur.

  • Pour Linux, les utilisateurs peuvent s’appuyer sur le système AMD Virtualization avec extensions SIMD set 3.
  • Pour les PC sous Windows, les utilisateurs peuvent s’appuyer sur Android Studio version 3.2 et suivantes avec AMD, qui fonctionne avec l’API Windows Hypervisor.

Les utilisateurs Intel peuvent exploiter l’Intel VT-x et le support Intel 64 Execute Disable (XD) Bit.

Après avoir installé l’émulateur Android, vous pouvez accéder au Gestionnaire de périphériques virtuels Android (AVD Manager).

Gestionnaire de périphériques virtuels Android (AVD)

Capture d'écran du Gestionnaire de périphériques virtuels Android (AVD)
Le Gestionnaire de périphériques virtuels Android permet aux utilisateurs d’installer une ABI système qui correspond à l’architecture du processeur utilisé.

Votre AVD Manager vous permet de créer et de configurer vos appareils Android.

Il propose des profils préconfigurés pour téléphones, tablettes et TV – chacun conçu spécifiquement pour chaque fabricant. Vous pouvez personnaliser les capacités externes et la taille de l’écran, et importer le profil de votre choix.

Cependant, le Google Play Store et sa suite de tests de compatibilité ne sont disponibles que sur un nombre limité d’appareils – seulement ceux qui sont conformes au programme de compatibilité Android.

L’AVD Manager vous permet d’installer sur votre appareil virtuel une ABI système recommandée par l’émulateur et dont l’architecture correspond à celle de votre processeur.

La configuration de vérification de votre AVD vous permet de modifier les profils logiciels ou matériels définis et de configurer des paramètres comme le nom et l’orientation de l’appareil.

En fin de compte, votre émulateur lance les spécifications de votre appareil virtuel et permet des contrôles et ajustements supplémentaires comme la géolocalisation, la latence réseau, la rotation de l'appareil, le capteur d'empreintes digitales, l'appareil photo, l'état de la batterie, entre autres. 

Les appareils virtuels vous permettent d'enregistrer vos instances dans l'état exact dans lequel vous les avez fermées, ce qui vous permet de reprendre là où vous vous étiez arrêté précédemment.  

Comment les émulateurs Android sont-ils utilisés pour les tests ?

Avant d'apporter des modifications à une branche, les développeurs effectuent des tests sur le code au sein des pipelines. Après un rapide test unitaire avec l'IDE, commencent les tests instrumentés et fonctionnels.

Votre émulateur Android vous permet d'exécuter des tests instrumentés, comme par exemple vérifier qu’un code gère les ressources principales et les fichiers spécifiques à l’application et de tester le bon fonctionnement de vos dépendances externes.

Les émulateurs aident aussi aux tests de performance des applications pour vérifier que les interactions sont fluides et que les applications utilisent les ressources de l’appareil dans les limites requises. Pour des résultats précis, assurez-vous de mesurer les capacités de votre processeur et de votre carte graphique sur l’appareil.

Votre émulateur Android permet uniquement à vos appareils de fonctionner à des vitesses proches du natif. Ainsi, vous ne devriez pas réellement vous attendre à des résultats natifs. Pis encore, sur les appareils virtuels, vous ne pouvez pas tester la performance de vos applications Android selon d’autres points de référence.

Il n’existe pas de solution fiable permettant de tester des applications natives à des échelles similaires avec des émulateurs Android. Vous avez besoin de nombreux appareils réels pour des tests multiplateformes complexes de l’interface utilisateur et des fonctionnalités, afin de tester sur Chrome, Firefox, Safari et d’autres navigateurs. 

Les ingénieurs utilisent des cadres d’automatisation des tests comme Espresso et Appium pour créer des scripts de test et les exécuter sur différents appareils Android afin de respecter les normes de compatibilité de référence. 

Émulateur Android : Forces et Faiblesses

Les émulateurs Android imitent les appareils Android réels. Mais ils présentent aussi certaines limitations. 

Forces

Parmi les capacités de votre émulateur Android, on compte le transfert rapide de données et la compatibilité avec des capteurs physiques comme les accéléromètres.

  1. Transfert de données rapide

Les émulateurs Android permettent de transférer les données plus rapidement et plus efficacement que les appareils physiques connectés via USB.

Un émulateur offre la capacité glisser-déposer qui permet de déposer des fichiers .apk sur l'appareil virtuel depuis votre poste de travail ou ordinateur, ce qui aide les développeurs à tester les applications rapidement et efficacement.

  1. Compatibilité avec des capteurs physiques 

Les émulateurs Android sont utiles si vous utilisez des capteurs physiques comme des accéléromètres. Lorsque vous testez un élément d’application qui dépend fortement des capteurs, il devient plus facile d’aligner vos paramètres depuis les contrôles avancés de votre émulateur.

Faiblesses

Parmi les limitations des émulateurs Android, citons les exigences liées au processeur ARM, l’utilisation de l’espace disque, la complexité de l’accélération matérielle et une certaine fiabilité incertaine concernant l’analyse des interactions des applications.

  1. Exigences liées au processeur ARM

La plupart des PC ou ordinateurs portables récents utilisent des processeurs Intel x86 et le chipset Android le plus courant est l’ARM v7a. Sachez que, pour une émulation rapide, l’architecture du processeur hôte et invité doit correspondre. Donc, sans appareil contenant un processeur ARM, l’émulation devient mauvaise, surtout pour la plupart des appareils Android sur le marché.

  1. Espace disque

Votre gestionnaire AVD crée des dossiers distincts pour contenir les données de l’appareil virtuel, le cache et les données des cartes SD séparément. Un appareil virtuel prend plus de 3 Go de l’espace disque total et peut planter si vous manquez d’espace lors du lancement.

  1. Complexité de l’accélération matérielle

L’accélération matérielle améliore les performances, bien que la configuration de ce processus soit complexe même pour les développeurs avancés. Parfois, accélérer votre matériel entraîne un arrêt complet du système ou des pannes.

  1. Manque de fiabilité

Lorsque l’enjeu porte sur la compréhension des interactions des applications avec l’environnement de l’appareil hôte, les émulateurs Android deviennent peu fiables.

Par exemple, il devient difficile de connaître les processus d’arrière-plan de vos applications, leurs apparences en interface et niveaux de luminosité, ou comment elles réagissent à différents gestes tactiles. 

Quels sont les meilleurs émulateurs Android ?

Il existe de nombreuses excellentes options lorsqu'il s'agit de choisir un émulateur Android pour votre projet, telles que Andy, GameLoop et MEmu. Vous pouvez trouver une liste des meilleurs émulateurs Android disponibles sur le marché ici, ainsi que des conseils sur ceux qui répondront à vos besoins spécifiques.

Need expert help selecting the right Mobile Testing Software?

We’ve joined up with Crozdesk.com to give all our readers (yes, you!) access to Crozdesk’s software advisors. Just use the form below to share your needs, and they will contact you at no cost or commitment. You will then be matched and connected to a shortlist of vendors that best fit your company, and you can access exclusive software discounts!

Conclusion

Les émulateurs Android ont révolutionné les capacités des appareils et l'expérience utilisateur. Ils remplissent de nombreux rôles tels que tester des applications ou jouer sur de grands écrans.

Un émulateur Android peut être un ajout précieux à vos appareils électroniques car il vous permet de connecter divers aspects de tous vos appareils, simultanément.

Avec l'émulateur Android idéal, vous pouvez améliorer la capacité et la fonctionnalité de vos appareils et enrichir votre expérience utilisateur avec ceux-ci.

Podcast associé à lire/écouter : NOUVELLE GÉNÉRATION DE TESTS MOBILES (AVEC ERAN KINSBRUNER DE PERFECTO)