Pourquoi l'émulateur Android est-il si lent? Comment accélérer l'émulateur Android? [fermé]

3400

J'ai un   processeur Celeron à 2,67 GHz et 1,21   Go de RAM sur une machine x86 Windows XP Professionnel.

Ma compréhension est que l' émulateur Android devrait démarrer assez rapidement sur une telle machine, mais pour moi, ce n'est pas le cas. J'ai suivi toutes les instructions de configuration de l'IDE, des SDK, des JDK et autres et j'ai réussi à démarrer l'émulateur rapidement, mais c'est très rare. Comment puis-je, si possible, résoudre ce problème?

Même s'il démarre et charge l'écran d'accueil, il est très lent. J'ai essayé l' IDE Eclipse en version 3.5 (Galileo) et 3.4 (Ganymede).

Peter Mortensen
la source
79
L'alternative est Genymotion. genymotion.com . C'est beaucoup plus rapide. Installation simple.
Sukitha Udugamasooriya
9
J'ai trouvé que l'émulateur fonctionne plus rapidement (et je veux dire waaaay) sur Linux. J'ai un ordinateur portable avec dualboot, sur Windows l'émulateur prend environ 15 minutes pour démarrer, avec Linux environ 30 secondes. Je ne connais pas d'autres systèmes d'exploitation comme OSX, mais cela me semble être une chose Windows.
Daniël van den Berg
11
Android Studio 2.0 aurait non seulement un émulateur beaucoup plus rapide, mais utiliserait une «exécution instantanée», qui permet à certaines modifications de votre source, telles que le XML, d'être déployées en quelques secondes sur la cible sans avoir à reconstruire l'APK et redéployé. Voir android-developers.blogspot.co.uk/2015/11/…
Carl Whalley
12
Je pense que votre RAM est très petit pour qu'un émulateur fonctionne plus rapidement.
Zia U Rahman
5
Une façon d'éviter les commentaires confus pourrait être d'avoir une petite boîte d'avis indiquant que la question est plus ancienne que, disons, 2 ans. La technologie évolue rapidement et vous voudriez que l'âge affecte le classement, même si la question ne doit pas être fermée / archivée comme sur les sites moins importants.
Henrik Erlandsson

Réponses:

1436

Mise à jour

Vous pouvez maintenant activer l'option de démarrage rapide pour l'émulateur Android. Cela sauvera l'état de l'émulateur et démarrera l'émulateur rapidement au prochain démarrage.

Cliquez sur le bouton d'édition de l'émulateur, puis cliquez sur Show Advanced Setting. Activez ensuite Quick Bootcomme ci-dessous la capture d'écran.

Quick Boot

Les outils de développement Android (ADT) 9.0.0 (ou version ultérieure) ont une fonctionnalité qui vous permet d'enregistrer l'état de l'AVD (émulateur) et vous pouvez démarrer votre émulateur instantanément. Vous devez activer cette fonctionnalité lors de la création d'un nouvel AVD ou vous pouvez simplement le créer plus tard en modifiant l'AVD.

J'ai également augmenté la valeur Device RAM Sizede 1024ce qui donne un émulateur très rapide.

Reportez-vous aux captures d'écran ci-dessous pour plus d'informations.

Création d'un nouvel AVD avec la fonction de sauvegarde de l'instantané.

Émulateur Android avec fonction d'enregistrement de cliché.

Lancement de l'émulateur à partir de l'instantané.

Lancement de l'émulateur à partir de l'instantané.

Et pour accélérer votre émulateur, vous pouvez vous référer à Accélérer votre émulateur Android! :

Vikas Patidar
la source
23
Lorsque vous mettez à jour et un appareil existant, effacez les données utilisateur lors du premier démarrage à partir d'un instantané
Mark Bakker
16
J'ai défini l'AVD comme ceci, mais semble toujours lent lorsque je redémarre l'AVD, pourquoi?
zhongshu
9
@Peter Ehrlich: Accédez simplement à la fenêtre> Android SDK et AVD Manager et sélectionnez AVD que vous souhaitez lancer dans la liste, puis cliquez sur le bouton Démarrer dans le volet droit. Il s'ouvrira comme vous le souhaitez.
Vikas Patidar
3
J'ai obtenu "Échec d'allocation de mémoire" lors de la définition de 1024. Il a également affiché un avertissement au bas de la fenêtre de configuration disant: "Sous Windows, l'émulation de RAM supérieure à 768M peut échouer en fonction de la dépendance ..." J'ai essayé de la définir sur 770, et alors ça a marché. Il n'a pas réussi à le mettre à 800.
awe
5
@ Msmit1993: Vous pouvez utiliser l'émulateur basé sur Intel x86 avec l'outil HAX. Croyez-moi, vous serez surpris de voir cet émulateur plus rapide que votre appareil réel.
Vikas Patidar
1135

REMARQUE IMPORTANTE : Veuillez d' abord vous référer à la liste Intel sur VT pour vous assurer que votre CPU prend en charge Intel VT.

HAXM accélère l'émulateur Android lent

HAXM signifie - "Intel Hardware Accelerated Execution Manager"

Actuellement, il ne prend en charge que Intel® VT (Intel Virtualization Technology).

L'émulateur Android est basé sur QEMU . L'interface entre QEMU et le pilote HAXM sur le système hôte est conçue pour être indépendante du fournisseur.

HAXM

Étapes pour configurer votre environnement de développement Android pour HAXM

  1. Mettre à jour Eclipse: assurez-vous que votre installation Eclipse et le plug-in ADT sont entièrement à jour.

  2. Mettez à jour vos outils Android: après chaque mise à jour du plug-in Eclipse, il est important de mettre à jour vos outils SDK Android. Pour ce faire, lancez le Gestionnaire de SDK Android et mettez à jour tous les composants du SDK Android. Pour profiter de HAXM, vous devez être au moins sur la version 17.

Entrez la description de l'image ici

  • Téléchargez les images du système Atom x86 et le pilote Intel Hardware Accelerated Execution Manager . Suivez l'image ci-dessous:

Entrez la description de l'image ici

  • Installez le pilote HAXM en exécutant «IntelHaxm.exe». Il sera situé dans l'un des emplacements suivants:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    Si le programme d'installation échoue avec le message indiquant qu'Intel VT doit être activé, vous devez l'activer dans le BIOS . Consultez la description de la procédure à suivre dans Activation d'Intel VT (Virtualization Technology) .

Installez .exe ou .dmg

  • Créer un nouvel AVD x86: suivez l'image ci-dessous:

Créer AVD

  • Ou comme pour le nouveau SDK, Entrez la description de l'image ici
Prashanth Sams
la source
19
Bonne rédaction. Si vous recherchez des documents de Google (inclut quelques différences pour Mac), vous pouvez les trouver ici: developer.android.com/tools/devices/emulator.html#accel-vm
Todd Price
103
Ne fonctionne pas sous Linux.
Kshitiz Sharma
14
J'ai essayé cette solution. Ça a marché. Cependant, j'ai installé en utilisant MonoDroid et je n'ai pas pu trouver IntelHaxm.exe pendant une minute. C'était ici: C: \ Users \ jbarneck \ AppData \ Local \ Android \ android-sdk \ extras \ intel
Rhyous
11
Wow, je ne peux pas vous remercier assez! Je ne peux pas croire que je vivais avec l'émulateur lent tout ce temps. Je pensais que c'était normal. Cependant, les temps de démarrage rapides me manquent vraiment, n'y a-t-il pas un moyen d'activer l'instantané avec l'accélération GPU?
Reda
3
Cela fonctionne très bien. Merci beaucoup pour le partage! Lorsque "Utiliser le GPU hôte" est activé, l'émulateur scintille fortement, mais aussi sans le GPU hôte activé, c'est vraiment très rapide maintenant.
user1619275
595

Essayez Android x86 . C'est beaucoup plus rapide que l'émulateur Google Android. Suivez ces étapes:

  1. Installez VirtualBox .
  2. Téléchargez le fichier ISO dont vous avez besoin.
  3. Créez une machine virtuelle comme Linux 2.6 / Autre Linux, 512 Mo de RAM, HD 2 Go. Réseau: PCnet-Fast III, attaché à NAT . Vous pouvez également utiliser un adaptateur ponté, mais vous avez besoin d'un serveur DHCP dans votre environnement.
  4. Installez Android x86 sur l'émulateur, exécutez-le.
  5. Appuyez sur Alt+ F1, tapez netcfg, mémorisez l'adresse IP, appuyez sur Alt+ F7.
  6. Exécutez cmd sur votre système Windows XP, changez le répertoire en votre répertoire d'outils Android, tapez adb connect <virtual_machine_IP>.
  7. Démarrez Eclipse, ouvrez le plugin ADT, trouvez l'appareil et profitez-en!
Pehat
la source
6
alors je me suis connecté. Comment faire pour que l'écran soit vertical? Je ne vois pas non plus les boutons matériels du téléphone.
Alex
4
Juste pour vous rappeler que vous devez activer l'intégration de la souris dans le menu de l'appareil si vous souhaitez utiliser la souris dans l'émulateur!
kakopappa
13
Notez que si vous utilisez quelque chose de spécifique à ARM (comme Mono pour Android, par exemple), cela ne fonctionnera pas sur Android x86.
Matthew Groves
11
Pour moi, netcfg montre lo 127.0.0.1 255.0.0.0 0x00000049 Est-ce ici 127.0.0.1 IP que je dois mentionner dans la commande adb? son affichage "impossible de se connecter à 127.0.0.1:5555" S'il vous plaît aider.
Riz
318

MISE À JOUR: La dernière version d'Android Studio (2.x) a apporté des améliorations majeures à l'émulateur fourni. Il est réactif et dispose de tout un tas de fonctionnalités.

Pour ceux qui sont toujours intéressés: Essayez d'utiliser Genymotion . Vous pouvez télécharger une version pour Windows / Mac OS X / Linux après l'enregistrement. Un plugin pour Eclipse est également disponible:

L'installation du plugin peut se faire en lançant Eclipse et en allant dans le menu "Aide / Installer un nouveau logiciel", puis ajoutez simplement un nouveau site de mise à jour avec l'URL suivante: http://plugins.genymotion.com/eclipse . Suivez les étapes indiquées par Eclipse.

Cet émulateur est rapide et réactif.

GenyMotion vous permet de contrôler divers capteurs de votre appareil, y compris le niveau de la batterie, la force du signal et le GPS. La dernière version contient désormais également des outils de caméra.

blaffie
la source
52
Genymotion est de loin le meilleur moyen de développer / tester votre application. Ce n'est pas seulement plus rapide et meilleur qu'un émulateur traditionnel. C'est aussi plus rapide qu'un vrai appareil. Je l'utilise pour 99,99% de mes déploiements car cela signifie que je peux voir les résultats en une fraction du temps. Cela signifie également que je peux utiliser OpenGL ES et d'autres choses qui ne sont pas disponibles sur un émulateur normal.
Eurig Jones
2
Les versions plus récentes de Genymotion n'incluent pas les services GooglePlay. Ce lien montre comment les installer manuellement: forum.xda-developers.com/showthread.php?t=2528952
Apfelsaft
2
C'est bien jusqu'à ce que vous réinstallez la VBox ou l'un des outils qu'ils utilisent, puis cela cesse de fonctionner - la désinstallation n'aide pas. Mais il était bon que ça a duré.
milosmns
5
Genymotion n'est plus gratuit (comme c'était le cas lorsque je l'ai utilisé la dernière fois), je ne sais pas si c'est toujours le meilleur choix pour les développeurs
Zain Ali
6
Depuis Android studio 2, l'émulateur a été amélioré dix fois. Il a de nombreuses fonctionnalités et fonctionne bien.
blaffie
213

L'émulateur inclus dans votre (ancienne) version d'Eclipse est très lent.

Les émulateurs récents sont plus rapides qu'ils ne l'étaient en 2010. Mettez à jour votre SDK / IDE.

Personnellement, j'utilise un vrai téléphone pour faire mes tests. C'est plus rapide et les tests sont plus réalistes. Mais si vous souhaitez tester votre application sur un grand nombre de versions Android différentes et ne souhaitez pas acheter plusieurs téléphones, vous devrez de temps en temps utiliser l'émulateur.

Nicolas Raoul
la source
1
vmware fonctionne avec une différence de performances inaperçue par rapport à la machine réelle. Même si l'émulateur émule ARM, il devrait être plus rapide, même sur la même fréquence système et mon PC est de 3,6 GHz, ce qui est plus lent que le téléphone Android 500 MHz.
NickSoft
@rds - Mon AVD devrait-il donc émuler Intel au lieu d'ARM pour qu'il se charge plus rapidement?
Trojan.ZBOT
non, ce n'est pas optimisé pour x86 ... il émule le matériel du téléphone x86 - alors que le téléphone commun surpasse facilement la machine en question de nos jours :)
Martin Zeitler
Vous vous rendez compte que les deux exécutent le même émulateur, non? android-sdk \ tools \ emulator-x86.exe, rien à voir avec Eclipse, vous venez probablement de commencer à utiliser des images Intel x86 avec Intel HAXM.
Dan Dar3
Eh bien, comparé à la lenteur avec laquelle ils remontaient à l'époque où ils allaient à la vitesse de l'éclair maintenant.
Bolling
138

Le démarrage de l'émulateur est très lent. La bonne chose est que vous n'avez besoin de démarrer l'émulateur qu'une seule fois. Si l'émulateur est déjà en cours d'exécution et que vous exécutez à nouveau votre application, l'émulateur réinstalle l'application relativement rapidement. Bien sûr, si vous voulez savoir à quelle vitesse il fonctionnera sur un téléphone, il est préférable de le tester sur un vrai téléphone.

Jay Askren
la source
40
Si cela prend quelques heures, il y a probablement autre chose qui ne va pas. Cela ne me prend que quelques minutes.
Jay Askren du
Quelle est votre configuration matérielle et votre système d'exploitation?
Junior Mayhé
@Junior Mayhe: J'ai programmé pour Android en utilisant Windows, Mac et Linux. J'utilise Mac le plus souvent en ce moment. Les ordinateurs que j'ai utilisés ont 2 à 4 Go de RAM et un processeur assez moderne de 2 à 3 GHz. Dans tous les cas, le lancement de l'émulateur semble prendre plusieurs minutes, mais la réinstallation de l'application est assez rapide.
Jay Askren
3
@ user286101: le chargement d'une nouvelle apk dans un émulateur déjà en cours d'exécution ne prend pas plus de 10 secondes dans mon ancien ordinateur portable (1,6 GHz double cœur, 1 Go de RAM), le seul problème est que j'ai souvent oublié de laisser l'émulateur en marche, j'ai donc dû passer par le processus de redémarrage lent (qui prend 3-5 minutes).
Lie Ryan
@LieRyan "ne devrait pas prendre plus de 10 secondes" malheureusement, c'est à peu près le temps d'un projet C ++ de taille simulaire dans les machines d'aujourd'hui.
kizzx2
129

Intel a publié les instructions d'installation recommandées pour l'émulateur ICS le 15 mai 2012. Cela a fonctionné pour moi. L'émulateur est désormais rapide et l'interface utilisateur est fluide.

La première moitié des instructions est suffisamment détaillée, donc je suppose que vous avez pu installer la ou les images du système atomique Intel x86 à l'aide du gestionnaire de SDK Android, ainsi que d'Intel HAXM.

Maintenant, pour vous assurer que tout le reste est configuré pour que vous puissiez profiter d'un émulateur hautement performant:

Et lancez-le:

sudo kextload -b com.intel.kext.intelhaxm (mac)

Si HAXM fonctionne correctement, vous pouvez voir ce message lors du lancement de l'émulateur:

HAX fonctionne et l'émulateur fonctionne en mode virtuel rapide

Sinon, vous pouvez voir cette erreur:

HAX ne fonctionne pas et l'émulateur s'exécute en émulateur en mode émulation:
échec de l'ouverture du module hax

  • Utilisez l'émulation GPU. Vous ne pouvez pas utiliser l'option Instantané lors de l'utilisation de l'émulation GPU au moment de la rédaction de cet article. Assurez-vous que l'émulation GPU est définie sur "oui".

  • Définissez la mémoire de l'appareil sur 1024 Mo ou plus , mais pas plus que le paramètre Intel HAXM. J'utilise 1024 Mo par appareil et 2048 pour HAXM.

Vérifiez toujours les paramètres après avoir enregistré! L'émulateur est très pointilleux sur ce qu'il vous permet de définir, et il reviendra sur les configurations sans vous le dire.

Avec ces paramètres, le clavier du logiciel n'apparaît plus, ni le retour à l'écran, le menu et les touches récentes. Cela semble être une limitation de l'image système ICS Intel x86 actuelle. Vous devrez utiliser les raccourcis clavier .

Sous Mac OS, vous devrez appuyer sur fn+ controlpour que les touches F1- F12fonctionnent. Les pages haut / bas / gauche / droite peuvent être exécutées à l'aide des touches de contrôle + flèches.

James Wald
la source
Soyez prudent lorsque vous utilisez une machine virtuelle avec Intel HAXM. Apparemment, l'environnement virtuel peut devenir corrompu si la mémoire système est épuisée.
James Wald
android-dev.ro/web/guest/home Ceci est une autre bonne instruction étape par étape pour configurer un AVD HAXM x86 dans Eclipse. De plus, il explique comment configurer les API Google.
sulai
2
Je ne sais pas si c'est moi qui fais quelque chose de mal, mais j'ai suivi de près le guide et j'ai obtenu: "HAX fonctionne et l'émulateur fonctionne en mode virt rapide", juste avant le démarrage de l'appareil, mais ... il se charge en fait encore plus lentement que la version de bras d'origine . Je suis sur Mac et le processeur prend en charge VT.
jayarjo
4
C'est la bonne réponse .. J'ai un processeur Intel x86 installé et j'ai un GPU activé. L'émulateur est très réactif et fluide avec ces paramètres. ENFIN ! Si vous avez besoin d'aide pour le configurer sur Windows ou Mac, faites-le moi savoir. Adios all
Tony
2
Merci pour cela, testé sur Windows 7 Pro, Intel Core i7 3770 et cela fonctionne. Sous Windows, Intel Hardware Accelerated Execution Manager (HAXM) doit seulement être installé, il démarrera automatiquement. Il suffit de créer un AVD avec Intel Atom x86 et de s'assurer que `` utiliser l'hôte GPU '' est sélectionné
gerrytan
111

Vous pouvez créer emulator.bat avec la commande suivante pour démarrer l'émulateur. Cela démarrera plus rapidement.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

Ou sous Unix (versions Mac ou Linux):

emulator -cpu-delay 0 -no-boot-anim @<avd name>
gps
la source
L'ajout a -no-boot-animréduit le temps de démarrage d'environ 38%. Merci!
Timothy003
3
(Android Studio) Sélectionnez Exécuter> Modifier les configurations ... . Dans le panneau de gauche de la boîte de dialogue Exécuter / Déboguer les configurations , sélectionnez ou créez une configuration. Sous Options du périphérique cible , sélectionnez AVD. Dans l' onglet Emulateur , entrez -no-boot-animdans le champ Options de ligne de commande supplémentaires
Ivan Chau
103

J'ai remarqué que l'émulateur démarre beaucoup plus rapidement s'il n'y a pas de serveur Dalvik Debug Monitor (DDMS) connecté. Donc, si vous démarrez l'émulateur à partir de Virtual Device Manager "SDK Setup.exe" et qu'Eclipse n'est pas démarré, l'émulateur fonctionne plus rapidement.

Si vous démarrez l'émulateur depuis Eclipse: DDMS est là, donc parfois l'émulateur est extrêmement lent, mais parfois c'est plus rapide.

Peter Mortensen
la source
2
@Shekhar: DDMS = Dalvik Debug Monitor Server
Lie Ryan
si nous exécutons l'émulateur via la ligne de commande Cordova de Git Bash ... comment désactiver le serveur Dalvik Debug Monivor de toute façon?
gumuruh
61

Les émulateurs sont lents. Il n'y a vraiment rien à faire, mais il existe des alternatives à l'émulateur.

  1. Genymotion - Préféré

  2. VirtualBox

  3. BlueStacks

  4. Tu salues

  5. Émulateur Windows Android

  6. Pot de haricots

  7. Andy

Pour rendre votre émulateur plus rapide, vous pouvez héberger un GPU et utiliser une version Android plus légère ( Android 2.3 (Gingerbread)). Développer sur un Mac serait mieux. Pourquoi utiliser un émulateur, BTW? Utiliser un vrai téléphone est plus logique.

JRE.exe
la source
J'ai utilisé Genymotion et je dois dire qu'il est relativement rapide que l'émulateur Android par défaut.
Anurag
"Pourquoi utiliser un émulateur, BTW? Utiliser un vrai téléphone est plus logique." Je suis au travail et nous n'avons pas assez de téléphones pour nous déplacer. Je ne suis pas un testeur, donc je n'ai pas la priorité sur eux.
Almo
l'émulateur n'est pas lent, mais votre machine. Images x86 suggérées.
Martin Zeitler
@Almo, les vrais téléphones sont un bon choix, mais l'émulateur vous donne de l'espace pour rendre votre application compatible avec la plupart des versions Android + conception sur différents écrans, ... c'est la façon de laisser votre application s'exécuter avec moins de bugs avant de passer aux tests avec de vrais téléphones. J'ai personnellement vu que certains des problèmes de conception peuvent être facilement résolus en les vérifiant dans les différents émulateurs ... Tous ne peuvent pas se permettre d'avoir au moins 1 téléphone de différentes tailles d'OS et d'écran ...
Bhuro
50

Depuis la révision 17 des outils SDK Android, l'émulateur peut utiliser l'accélération graphique et les extensions fournies par le processeur pour une meilleure efficacité. Les conditions préalables et la configuration complète et les notes utilisateur sont à:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

Pour activer l' accélération GPU , exécutez l'émulateur à partir de la ligne de commande ou ajoutez "-gpu on" aux options de ligne de commande d'émulateur supplémentaires dans la configuration AVD.

emulator -avd <avd_name> -gpu on

Pour utiliser les extensions de machine CPU, vous devez installer le pilote (attention car il peut entrer en conflit avec les pilotes VirtualBox ou VMware existants ). Une fois installé, il sera utilisé automatiquement chaque fois que vous utiliserez un AVD x86.

Jokin
la source
Je viens de découvrir cela moi-même. Fait fonctionner l'émulateur presque aussi bien qu'un véritable appareil!
gak
Notez que pour utiliser l'accélération GPU, vous devez utiliser Android 4.0 ou version ultérieure. De plus, avec les outils actuels, vous ne pouvez pas utiliser les deux instantanés et l'accélération GPU en même temps, vous devez choisir (je préfère personnellement avoir l'accélération GPU et le démarrage lent de l'émulateur).
MAV
46

Essayez de désactiver votre antivirus. Peut-être que cela rendra l'émulateur un peu plus rapide.

Fedor
la source
7
J'ai également constaté que cela était vrai - j'ai supprimé AVG Free et installé MS Security Essentials, et l'émulateur démarre nettement plus rapidement. YMMV.
Guy Starbuck
4
c'est toujours super lent sur les systèmes linux ... qui n'ont évidemment pas typiquement av
alex.pilon
3
Je n'ai PAS d'antivirus. Prend toujours des âges ..
Robin Maben
Mon émulateur est si lent sur mon Linux sans AV qu'il ouvre simplement une fenêtre noire et se bloque. Mon autre ordinateur avec Windows ne prend pas en charge vt-x, donc cela ne fonctionne pas.
Suici Doga
Essayez de redémarrer votre ordinateur, cela rendra peut-être l'émulateur un peu plus rapide.
vk.edward.li
44

SDK Android rév. 17 prend en charge l'accélération de la machine virtuelle à l'aide des technologies de virtualisation AMD et Intel.

Cette fonctionnalité peut améliorer considérablement les performances de l'émulateur!

Consultez la section suivante dans la documentation de l'émulateur Android pour plus de détails: Configuration de l'accélération de la machine virtuelle

N'oubliez pas d'installer le pilote approprié pour votre système d'exploitation:

Après avoir installé les pilotes et téléchargé une image système Android X86 (comme décrit dans la documentation), vous devriez pouvoir créer un nouvel AVD en utilisant l'image x86:

Par exemple:

  • Cible: Image système Intel Atom x86 - API niveau 10
  • CPU / ABI: Intel Atom (x86)
micha
la source
Malheureusement, AMD-V n'est actuellement pris en charge que sur Linux (SDK rev 17).
Amir Ali Akbari
Intel HAXM a rendu mon AVD x86 200% ~ 300% plus rapide qu'avant! Génial!
Lcsky
40

L'option -cpu-delay <delay>décrite dans Options de démarrage de l'émulateur peut vous aider.

Peter Mortensen
la source
1
Le lien ne va nulle part maintenant. Est-ce toujours pertinent?
Andrew S
40

L'émulateur semble se ralentir lorsqu'il est inactif. Ceci est rendu évident en passant rapidement la souris sur les touches latérales et en observant les réponses lumineuses. Pour contourner ce problème, je passe -icount autoà QEMU lors du démarrage de l'émulateur. Vous pouvez créer un fichier batch appelé my_avd.batpour le faire pour vous:

émulateur @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - lancer un périphérique virtuel nommé 'my_avd'
  • -no-boot-anim - désactiver l'animation pour un démarrage plus rapide
  • -qemu args... - passer des arguments à qemu
  • -icount [N|auto] - activer le compteur d'instructions virtuel avec 2 ^ N horloges par instruction

Cela a rendu les animations fluides et adb installmultipliées par dix.

Timothy003
la source
pourquoi icount auto accélère-t-il?
Pacerier
Merci. -no-boot-anim semble démarrer Android plus rapidement!
Ajay
Impressionnant .... Plus précisément, j'étais coincé avec une vitesse de transfert très faible de 'adb'. Maintenant, c'est vraiment rapide, aussi rapide qu'une image x86. Merci
Mohsen Afshin
J'utilise Eclipse. Savez-vous comment configurer ces options dans mon environnement?
kta
1
@MSS Je n'en ai aucune idée ... Cela fait des années que je n'utilise pas l'émulateur Android. Désolé!
Timothy003
34

La version 9 de l'émulateur Android dispose d'une nouvelle fonction "instantané". Vous pouvez enregistrer l'état de l'émulateur (créer une image de l'émulateur) et éviter de démarrer lorsque vous démarrez l'émulateur.

androidev Alex
la source
34

Vous pouvez consulter les problèmes de l'émulateur sur la discussion Google I / O 2011: Android Development Tools , à partir de 0:40:20.

L'émulateur s'exécute lentement car l'environnement Android complet s'exécute sur du matériel émulé et les instructions sont également exécutées sur un processeur ARM émulé.

Le principal point d'étouffement est le rendu, car il ne fonctionne sur aucun matériel dédié, mais il est en fait exécuté via le rendu logiciel. Réduire la taille de l'écran améliorera considérablement les performances de l'émulateur. Obtenir plus de mémoire / plus rapide ne va pas aider.

À l'époque, ils ont mentionné qu'ils développaient une interface qui permettrait à l'émulateur de diriger certaines instructions via le matériel hôte.Ainsi, vous pourrez finalement tirer parti des performances de l'émulateur avec la puissance brute du matériel de bureau.

Filip Dupanović
la source
30

La version actuelle (mai 2011) de l'émulateur est lente, en particulier avec Android 3.0 (Honeycomb), principalement parce que l'émulateur ne prend pas en charge le matériel GL - cela signifie que le code GL est traduit en logiciel (logiciel ARM, en fait) qui obtient ensuite émulé dans un logiciel dans QEMU . C'est fou-lent. Ils travaillent sur ce problème et l'ont partiellement résolu, mais pas avec une sorte de qualité de sortie.

Découvrez la vidéo Google I / O 2011: Outils de développement Android pour le voir en action - passez à environ 44 minutes.

Peter Mortensen
la source
Cela signifie-t-il que si nous achetons le dernier Raspberry Pi avec processeur ARM, nous pourrons utiliser l'émulateur Android ARM sans la lenteur d'émuler ARM sur x86 / x86_64? Le dernier processeur et GPU Raspberry Pi est-il assez bon pour avoir un émulateur rapide? Google propose-t-il une version ARM des outils sdk Android pour utiliser un émulateur ARM?
baptx
30

Utilisez l'accélérateur d'émulateur Intel x86

Tout d'abord, installez Intel x86 Emulator Accelerator (HAXM). Cela peut être téléchargé directement à partir d'Intel ou à l'aide d'Android SDK Manager. Dans le SDK Manager, il se trouve sous Extras.

Capture d'écran du Gestionnaire de SDK

Dans la version d'Android Studio que j'ai utilisée (0.8.9), Android SDK Manager télécharge HAXM mais n'exécute pas réellement le programme d'installation (je suppose que cela sera corrigé dans les versions ultérieures). Pour exécuter le programme d'installation, je devais aller dans C: \ Program Files (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager et lancer manuellement intelhaxm.exe.

HAXM fonctionne avec les appareils Intel, a donc créé un nouvel émulateur avec processeur Intel.

Créer un nouvel AVD à l'aide d'Intel Atom x86

Cela a considérablement amélioré les choses, mais l'émulateur se sentait toujours un peu lent. La dernière étape consistait à sélectionner Utiliser l'hôte GPU dans Android Virtual Device Manager (AVD).

Capture d'écran des options de création AVD

Après ces changements, Android Emulator se lançait en 5 à 10 secondes et fonctionnait sans aucun décalage notable. N'oubliez pas que ces fonctionnalités dépendent du matériel (CPU / GPU) et peuvent ne pas fonctionner sur certains systèmes.

Amin Rahkan
la source
Utiliser le GPU hôte est la clé! merci me demandais pourquoi dans une machine j'avais un émeu rapide et dans une autre je n'en avais pas
Keoz
vous devez activer la virtualisation sur le BIOS, si vous aviez un processeur AMD, puis activer Vt-x
Anu Martin
Remarquez, ce HAXM n'est nécessaire (et disponible) que pour Windows, pas pour Linux.
2017 à 10h58
28

Une nouvelle option est l' émulateur Visual Studio pour Android --il est rapide, Hyper-V , x86 et gratuit télécharger même sans VS .

John Kemnetz
la source
Est-ce uniquement pour Windows?
Robert
Oui - il utilise Hyper-V, qui n'est disponible que sur Windows.
John Kemnetz
Je suis d'accord avec l'affirmation - le meilleur émulateur de la planète. J'en suis témoin après avoir souffert de l'utilisation d'autres émulateurs pendant plusieurs années. C'est tellement mieux que d'autres, surtout quand il s'agit de déboguer. Genymotion n'est pas mauvais mais il nécessite VirtualBox qui entre en conflit avec Hyper-V. Cette réponse doit aller en haut.
Hong
2
@JohnKemnetz puis-je ajouter uniquement sur Windows Professionnel ou supérieur.
un perce-oreille
28

Essayez Genymotion pour Android Studio. Brûlant vite! Nécessite juste une installation unique. Plus de douleur AVD.

Vipul J
la source
27

Pour ajouter plus d'informations à cela.

J'ai récemment mis à niveau mon installation Ubuntu vers Ubuntu 10.04 LTS (Lucid Lynx) qui à son tour a mis à jour ma version Java pour:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

Et maintenant, l'émulateur (bien que cela prenne un certain temps pour démarrer) semble fonctionner plus rapidement qu'auparavant.

Cela pourrait valoir la peine de mettre à niveau leur machine virtuelle Java.

eggsy84
la source
La java 64 bits est plus rapide (~ 2 fois) que la java 32 bits sur la même machine.
Mostowski Collapse
15
Je ne vois pas pourquoi la vitesse de l'émulateur devrait dépendre de la version Java. L'émulateur n'est pas écrit en Java et ne s'exécute pas sur la JVM.
Lena Schimmel
J'utilise Oracle Java 1.6.0_26 64 bits et mon émulateur est plus lent qu'une tortue ... c'est douloureux. Core2Quad, 64 bits Java + Ubuntu 11.10, 8 Go de RAM.
djangofan
S'il n'est pas écrit en Java et ne s'exécute pas sur la JVM, alors pourquoi nécessite-t-il Java (et aucune version de Java non plus!)
Rolf
25

Voici ce que j'ai remarqué, personne ne l'a mentionné du tout.

Attribuer tous les processeurs disponibles à l'émulateur

Voici ce que vous pouvez essayer. Cela accélère l'émulateur pour moi, surtout pendant le temps de chargement. J'ai remarqué que l'émulateur n'utilise qu'un seul cœur du processeur disponible. Je l'ai configuré pour utiliser tous les processeurs disponibles.

J'utilise Windows 7.

Lorsque l'émulateur Android démarre, ouvrez le Gestionnaire des tâches, recherchez sous l'onglet Processus, recherchez "emulator-arm.exe" ou "emulator-arm.exe * 32" ... Faites un clic droit dessus, sélectionnez Processor Affinity et affectez autant de processeur que vous le souhaitez à l'émulateur.

Entrez la description de l'image ici

Harvey Darvey
la source
3
Cela a accéléré un peu les choses sur ma machine Windows 7
Rocco The Taco
Comment faire ça sur Windows 8?
Eng.Fouad
Je suppose que vous pourriez utiliser le gestionnaire de tâches de Windows 8 pour faire de même? Désolé, je n'ai pas Windows 8 pour le moment.
Harvey Darvey
2
Sur Windows 10, et je suppose que Windows 8 aussi, vous devez aller dans l' Detailsonglet du Task Managerpour le faire. Bien que dans mon cas, les 4 cœurs aient déjà été sélectionnés. J'aimerais qu'ils autorisent également les appareils AMD à exécuter les images x86, même sans le pilote HAXM, ils devraient être plus rapides que les images ARM.
A.Grandt
20

Après avoir développé pendant un certain temps, mon émulateur est devenu brutalement lent. J'ai choisi d' effacer les données utilisateur , et c'était beaucoup mieux. Je suppose qu'il faut du temps pour charger chaque fichier APK que vous avez déployé.

Peter Mortensen
la source
20

L'émulateur Android est très lent. Il faut 800 Mo de mémoire pendant l'exécution. Si vous êtes sous Windows, vous pouvez utiliser Microsoft Android Emulator. Il est superbe, vous offre plus de fonctionnalités que l'émulateur Android Studio. Et surtout, il est rapide (consomme 13 Mo seulement). Il est livré avec Visual Studio 2015 Technical Preview. Je l'utilise et j'en suis satisfait. J'ai téléchargé et installé le pack VS entier, j'ai besoin de voir comment nous pouvons installer VS Emulator uniquement.

Émulateur Visual Studio pour Android

EDIT: essayez https://www.visualstudio.com/vs/msft-android-emulator/

Anil8753
la source
comment calculez-vous mec? c'est un système d'exploitation et a besoin de beaucoup de RAM pour fonctionner. et 13 Mo. C'est vraiment stupide, regardez encore.
MSS
@MSS Je ne connais pas l'historique de VS Emulator mais je l'ai fait pratiquement et j'ai trouvé ce que j'ai dit.
Anil8753
Peut-être que vous avez commis une erreur, je voulais dire qu'il est impossible d'émuler un véritable système d'exploitation Android dans un si petit morceau de RAM et l'émulateur VS doit être un environnement de débogage simple pour les applications C # et probablement impossible d'exécuter une application Android standard.
MSS
Oui, je ne suis pas sûr qu'il s'agisse d'une véritable émulation Android complète ou simplement d'une légère émulation de fonctionnalités Android de base. Veuillez le laisser essayer. Exécutez d'abord cet émulateur et déployez ensuite votre application Android Studio.
Anil8753
Je développe une application Android à l'aide d'Android Studio et je la déploie de manière similaire à d'autres appareils ADB. Essayez
Anil8753
20

Eh bien, puisque quelqu'un a suggéré Android x86 comme émulateur de test alternatif, je présenterai également mon préféré. Ce n'est peut-être pas une alternative pour tout le monde, mais pour moi c'est parfait!

Utilisez le lecteur Bluestacks . Il fonctionne sous Android 2.3.4 et est très fluide et rapide. Parfois, c'est encore plus rapide qu'un appareil normal. Le seul inconvénient est que vous pouvez simplement tester des applications sur l'API niveau 10 et sur une seule taille d'écran, mais c'est parfait juste pour tester si cela fonctionne ou non. Il vous suffit de connecter le lecteur au adben exécutant

adb connect 127.0.0.1 

Après la compilation, il s'installe instantanément. C'est très impressionnant, vu que j'ai plutôt un matériel informatique moyen (dual core avec 4 Go de RAM).

Ahmad
la source
C'est vraiment très rapide! Comment puis-je le modifier pour des exigences telles que la tablette 7 '(800x480)? J'ai essayé de changer la taille de l'application, mais c'est déjà une tablette.
nesimtunc
Je pense que vous vouliez dire "fluide et rapide" :) Quoi qu'il en soit, merci. Bon conseil, dommage qu'il fonctionne sous Android 2.2
Rolf
2
@Rolf Oh oui, haha ​​:) Cependant, cette réponse est ancienne. Vous devriez vérifier Genymotion. C'est bien mieux.
Ahmad
19

J'ai eu des temps de chargement intermittents de l'émulateur lent (SDK v8.0), jusqu'à trois minutes sur le processeur Intel Core i7 920 2,67 GHz fonctionnant sur l' invité Xubuntu 10.04 VirtualBox 3.2.12 avec Eclipse (3.6.1) chargé. J'ai changé la mémoire invité de VirtualBox de 1024 Mo à 2048 Mo et à partir de ce moment, je n'ai plus jamais ressenti la lenteur (temps de chargement cohérents à 33 secondes, charge CPU cohérente à 20%). Eclipse et l'émulateur sont des porcs de mémoire.

Stuart Rackham
la source
16

J'ai remarqué que mon émulateur ( plugin Eclipse ) était considérablement ralenti par les paramètres d'anti-crénelage de ma carte graphique Nvidia . Supprimer 2x anti-aliasing du menu graphique et le changer en application contrôlée l'a rendu plus réactif. C'est encore lent, mais meilleur qu'avant.

Peter Mortensen
la source
16

Pour réduire le temps de démarrage de l'émulateur, vous devez vérifier la "Désactiver l'animation de démarrage" avant de démarrer l'émulateur. Reportez-vous à la documentation Android .

Si vous ne le savez pas, vous n'avez pas besoin de fermer l'émulateur à chaque fois que vous exécutez / déboguez votre application. Si vous cliquez sur exécuter / déboguer lorsqu'il est déjà ouvert, votre fichier APK sera téléchargé sur l'émulateur et démarrera à peu près immédiatement. L'émulateur ne prend énormément de temps que lors de son premier démarrage.

Voici quelques conseils pour accélérer l'émulateur Android: Comment accélérer l'émulateur Android jusqu'à 400% .

Vinayak B
la source
15

Le bon moyen d'accélérer l'émulateur Android et les tests d'application est d'installer ou de mettre à niveau votre Android Studio vers la version Android Studio 2.0 , puis accédez à Paramètres / Préférences d'ouverture de l'application, puis accédez à Build, Execution, Deployment → Instant Run. Cliquez sur Activer l'exécution instantanée. Et après cela, vous vous assurerez que le plugin gradle correct pour votre projet fonctionne avec Instant Run. entrez la description de l'image ici

Et l'exécution instantanée ressemblera à ceci Nouvelles actions d'exécution et d'arrêt dans Android Studio pour une exécution instantanée

Cependant, Android Studio est actuellement dans Aperçu, vous pouvez l'essayer maintenant.

Umar
la source
1
Android Studio 2.0 est maintenant stable. La course instantanée augmente les vitesses de construction et non la vitesse de l'émulateur, vérifiez pour plus d'informations: < android-developers.blogspot.lt/2016/04/android-studio-2-0.html >
Arūnas Bedžinskas
Le nouvel émulateur fonctionne environ 3 fois plus rapidement que l'émulateur précédent d'Android. et maintenant vous pouvez maintenant pousser les applications et les données 10 fois plus rapidement vers l'émulateur que vers un appareil physique. android-developers.blogspot.ae
Umer
1
Veuillez noter que lorsque vous utilisez Instant Run, il y a des problèmes lors de l'installation sur des appareils <5.0. Si vous voyez que votre application se bloque sur les appareils de kitkat et inférieurs, désactivez l'exécution instantanée et reconstruisez-la. Vous devriez être bon pour aller ..
Vamsi Challa