⌛ Cet article a maintenant 10 ans et 9 mois. Or, les techniques et outils qui y sont présentés ont certainement évolué, de même que l’état de l’art sur le sujet. N’hésitez pas à nous contacter pour bénéficier de notre expertise au goût du jour !
Configurez votre Android Emulator pour qu’il soit rapide !
Si vous développez pour iOS et Android, vous avez très certainement utilisé l’iPhone Simulator et l’Android Emulator. A première vue, il n’y a pas de problème frappant avec l’iPhone Simulator, alors que l’emulateur de l’OS de Google est lent… très lent… extremement lent ! Tellement lent qu’il en devient difficile de l’utiliser pour faire du debug, et si vous utilisez Appcelerator Titanium, vous allez préférer tester un maximum sur iOS, et ne lancer Android que lorsque vous ne pouvez pas faire autrement.
Il faut savoir que l’Android Emulator est basé sur QEMU (the Quick EMUlator) qui émule un processeur ARM sur votre ordinateur qui a (très certainement) un processeur x86. Inutile d’expliquer pourquoi émuler un processeur par un logiciel n’est pas la meilleure idée si vous voulez avoir quelque chose de réactif, et utilisable. De plus, l’emulateur doit s’occuper des nombreuses autres fonctionnalités matérielles. Cela fait énormément de calcul, ajoutez à cela le fait que les smartphones d’aujourd’hui sont puissants, et vous obtenez un émulateur très lent !
Section intitulée super-donc-je-ne-peux-rien-y-faireSuper, donc je ne peux rien y faire ?
Bien sûr que si ! La première chose à faire et de lancer votre Android SDK Manager, pour cela, allez dans le répertoire d’installation du SDK Android et lancez la commande suivante :
$ ./tools/android
Vous remarquerez qu’il y’a une ligne “Intel x86 Atom System Image” disponible pour les versions 4.2.2, 4.1.2, 4.0.3 et 2.3.3 d’Android. Sélectionnez les versions que vous souhaitez tester et installez les.
Si vous descendez en bas de cet écran, vous allez voir un répertoire “Extras”, ouvrez-le et sélectionnez “Intel x86 emulator accelerator (HAXM)” afin de le télécharger.
Vous devez installer ce driver en vous rendant dans le sous-répertoire extras/intel/Hardware_Accelerated_Execution_Manager/
du dossier du SDK. Lancez simplement IntelHAXM.dmg
.
Maintenant que tout est installé, vous devez configurer vos appareils (“devices”). Utilisez le menu Tools > Android Virtual Device Manager (AVD Manager). Vous voyez la liste de tous vos appareils, créez-en un nouveau. En sélectionnant une version cible qui possède une image x86, vous allez pouvoir modifier le champ CPU/ABI pour choisir “Intel Atom (x86)”. Cette configuration, avec le driver HAXM très facilement installé précédemment, vous permettra d’avoir un émulateur beaucoup plus rapide. Mais nous pouvons aller encore plus loin ! Éditez votre appareil, et dans la partie “Emulation options”, cochez la case “Use GPU Host”, l’émulateur utilisera ainsi le GPU de votre machine au lieu d’en émuler un.
Ok, notre appareil est maintenant prêt ! Il n’y a plus qu’à tester.
$ ./tools/emulator -avd Test_for_fast_emulator -wipe-data -no-boot-anim -cpu-delay 0
$ ./platform-tools/adb install ../Test/build/android/bin/app.apk
YEAHYYY ! C’est rapide !
Section intitulée j-utilise-titanium-studio-comment-je-peux-faireJ’utilise Titanium Studio, comment je peux faire ?
Si vous utilisez Titanium Studio, vous pouvez également le configurer pour que l’Android Emulator utilise une image x86.
Cliquez sur “Run Configurations”, et sélectionnez le projet sur lequel vous travaillez, choisissez une version d’Android avec le label “x86”.
Lancez l’émulateur, il devrait être déjà plus rapide, mais pas aussi rapide que celui créé via AVD Manager, tout simplement parce que nous n’avons pas dit à l’émulateur d’utiliser le GPU de notre machine. Lancez l’AVD Manager, et vous pouvez voir un nouvel appareil utilisant l’image x86. Editez-le.
Vous pouvez voir une section “Hardware”, cliquez sur New, sélectionnez la propriété “GPU Emulation”, et modifiez sa valeur en “yes”. Sauvegardez et redémarrez votre émulateur, et le voila rapide et tout à fait utilisable !
Protips©: Dans cette partie, vous pouvez également ajouter la propriété “Keyboard support” et mettre sa valeur à “yes” pour pouvoir utiliser votre clavier pour remplir un champ de formulaire par exemple.
Section intitulée attentionAttention…
N’oubliez pas ! Vous devez tester votre application sur plusieurs smartphones pour vous assurez qu’elle fonctionne sur différentes résolutions, différents matériels. Et rappelez-vous que les smartphones ont moins de batterie, moins de bande passante, … que votre ordinateur.
Commentaires et discussions
Speed up your Android Emulator!
If you develop applications for iOS and Android, you probably have used the iPhone Simulator and the Android Emulator. There is no real issue with the iPhone simulator, but Google one is very, very, very slow. It is so painful to debug with it that if you develop on Appcelerator’s…
Nos articles sur le même sujet
Ces clients ont profité de notre expertise
Refonte complète de la plateforme d’annonces immobilières de Cushman & Wakefield France. Connecté aux outils historiques, cette nouvelle vitrine permet une bien meilleure visibilité SEO et permet la mise en avant d’actifs qui ne pouvaient pas l’être auparavant.
L’équipe de Finarta a fait appel à JoliCode pour le développement de leur plateforme Web. Basée sur le framework Symfony 2, l’application est un réseau privé de galerie et se veut être une place de communication et de vente d’oeuvres d’art entre ses membres. Pour cela, de nombreuses règles de droits ont été mises en places et une administration poussée…
Nous avons effectué la refonte de l’application mobile Mediapart à l’aide de la plateforme Appelerator Titanium et du Framework Alloy. Dialoguant avec les APIs REST développées par les équipes internes de Mediapart, cette application est disponible à la fois sur iOS et Android et permet d’accéder à toute la richesse du contenu du journal en quatres…