web-dev-qa-db-fra.com

Comment réparer: "HAX ne fonctionne pas et l'émulateur s'exécute en mode d'émulation"

La question est

J'obtiens "HAX ne fonctionne pas et l'émulateur fonctionne en mode d'émulation", est-ce lié à l'installation de HAXM (Intel x86 Emulator Accelerator) et à l'exécution de avd avec l'unité centrale configurée sur CPU Intel Atom (x86)? Et même si on a l'impression qu'AVD est plus rapide après l'installation de HAXM, ce message indique-t-il que les performances d'AVD sont compromises. Devrait-il être corrigé et si oui, comment?

Je cours sur mac os x 10.9.1.

Liste de ce qui est installé sur mon système via Android sdk manager:

  • Outils
    • Outils de SDK Android Rev 22.3
    • SDK Android Platform-tools rev 19.0.1
    • Outils de construction du SDK Android Rév 19.0.1
    • Outils de construction du SDK Android Rév 19

==

  • Android 4.4.2 (API 19)
    • Plate-forme SDK
    • Image système ARM EABI v7a
    • Image système Intel x86 Ato
    • API Google
    • Sources pour Android SDK

==

  • Suppléments
    • HAXM (Intel x86 Emulator Accelerator) ET J'AI AUSSI exécuter le programme d'installation de dmg également et installé le correctif logiciel après l'avoir découvert.

configuration AVD

  • Plateforme 4.4.2
  • API niveau 19
  • CPU Intel Atom (x86)

ne fois que je lance avd:

(Ruby-2.0.0-p353) .Android   $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0

je reçois un émulateur qui suit et se charge

emulator: The memory needed by this VM exceeds the driver limit.

HAX is not working and emulator runs in emulation mode
140
GnrlBzik

Oui, cela devrait être corrigé, HAXM ne fonctionne pas. Quelle quantité de RAM est-elle configurée pour être utilisée dans votre configuration AVD?

768M est un bon nombre pour cela, mais surtout, ce nombre doit être inférieur ou égal à l'utilisation de la mémoire que vous avez définie lors de l'installation de HAXM. Vous pouvez relancer son installation pour le modifier.

198
ph0b

Si vous êtes sur un Mac, vous pouvez installer haxm en utilisant homebrew via cask qui est une extension intégrée (à partir de 2015) qui permet l'installation non ouverte. Applications sources et de bureau (c.-à-d. chrome, firefox, Eclipse, etc.):

brew cask install intel-haxm 

Studio Android

Si vous utilisez Android Studio, vous pouvez obtenir le même résultat à partir du menu. Tools ➞ SDK Manager, puis sous l'onglet Outils du SDK , cochez la case correspondant à de l'émulateur Intel x86. Accelerator (programme d’installation HAXM) , puis cliquez sur Ok.

65
ccpizza

J'ai résolu le problème en réglant la taille limite de la mémoire AVD et de la mémoire HAXM, soit 1 Go = 1024 Mo. L’AVD ne peut pas avoir de limite de mémoire supérieure à celle du HAXM.

1. Réglage de la mémoire HAXM sur 1024 M

Le seul moyen de modifier la mémoire HAXM consiste à l'installer à nouveau. Je l'ai fait en utilisant le terminal. Localisez Hardware_Accelerated_Execution_Manager sur votre ordinateur. Puis changez le répertoire de ce dossier pour exécuter le script d'installation.

cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

-OR-

cd ~/Library/Developer/Xamarin/Android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager

Peut-être besoin de changer les autorisations:

Sudo chmod 755 "HAXM installation"

Ensuite:

./HAXM\ installation -m 1024

-OR-

Sudo ./"HAXM installation" -m 1024

2. Configuration du périphérique virtuel de la même taille avec la limite de mémoire HAXM

enter image description here

Cela fonctionne pour moi. Bonne chance!

49
geckob

installez le dernier HAXM à partir d'Intel: https://software.intel.com/en-us/Android/articles/intel-hardware-accelerated-execution-manager

Après cela fonctionne

24
hypery2k

Pour les fenêtres.

Dans Android Studio:

Outils > Android > Gestionnaire AVD > Votre appareil> Icône de crayon> Afficher les paramètres avancés > Mémoire et stockage > RAM> Réglez RAM sur votre taille préférée.

Dans Control Panel:

Programmes et fonctionnalités > Gestionnaire d'exécution matérielle accélérée Intel > Modifier > Définissez manuellement > Définissez RAM sur votre taille préférée.

Il est préférable que RAM tailles définies aux deux endroits soient identiques.

20
TranslucentCloud

Vérifiez la dernière version de Has sur le site Web d'Intel et installez-la. Laissez le bélier à la taille recommandée "préréglée 2048", puis essayez de lancer l'application. Les choses devraient bien fonctionner.

4
Mohamed

si vous utilisez un processeur Intel, assurez-vous que le programme d'installation de HAXM (Intel® Hardware Accelerated Execution Manager) est installé via SDK Manager en cochant cette option dans SDK Manager. puis exécutez le programme d'installation HAXM via le chemin ci-dessous

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

vérifiez également la taille de RAM allouée lors de l'installation HAX afin qu'elle corresponde à la taille de RAM de votre émulateur.

Cette vidéo montre toutes les étapes nécessaires pour vous aider à résoudre le problème.

Cette vidéo vous aidera également si vous rencontrez un problème après l’installation de HAXM.

2
Yogesh patel

Oui, cela devrait être corrigé, HAXM ne fonctionne pas.

HAXM fonctionne parfois; l'expérience avec HAXM est actuellement sporadique sur toutes les plateformes.

Par exemple, j'ai fin 2009 avec un iMac fonctionnant sous 10.8.5 et un processeur i7 à 2,8 GHz, Android SDK 22.6 avec tous les goodies mis à jour ce matin (03/05/14). API17 construira des émulateurs avec l'accélération HAXM sur cette machine iMac, API19 s'étouffe.

J'ai aussi début 2013 MBP 15 "Retina sous 10.8.5 et un processeur i7 @ 2.7Ghz, Android SDK 22.6 avec tous les goodies mis à jour ce matin (03/05/14). API17 construira des émulateurs avec HAXM accélération, API19 fonctionne très bien aussi.

Idem pour mon (personnel) fin 2013, MBP Retina 13 "avec dual core i5 et Mavericks.

Il manque quelque chose à la virtualisation au niveau de la puce dans les anciens processeurs (même les i7), dont les nouvelles images API19 x86 ont besoin pour que HAXM fonctionne. Si API19 ne fonctionne pas, essayez API17 ou même 16.

2
HAL-9000

Sur votre mac, ouvrez le Finder puis Ctr + Alt + G après avoir tapé ceci /Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

vous allez trouver le programme d'installation de l'accélérateur de l'émulateur, lancez-le et configurez la mémoire dont vous avez besoin, modifiez-le, puis essayez à nouveau d'exécuter votre application Android.

2
Zouhair Kasmi

la solution de geckob fonctionne parfaitement. Attention: Le HAXM que vous fournissez est utilisé sur tous les périphériques en cours d'exécution. Donc, si vous testez sur un téléphone et une tablette en même temps et que chacun a une exigence de 1G. Ensuite, assurez-vous que votre HAXM alloué est au moins 2G.

1
dessertcook

Augmentez soit la taille de mémoire allouée lors de l’installation HAX, de manière à disposer d’un espace plus grand que la taille de mémoire vive de l’émulateur que vous souhaitez lancer en mode "Intel x86 Emulator Accelerator (HAXM)",

Une fois que vous avez réussi avec cela, vous pouvez maintenant voir ceci dans la console/log

enter image description here

1
Bala Prasanna

Mon problème était que je ne pouvais plus exécuter un émulateur qui fonctionnait parce que j'avais quitté l'application d'émulateur mais que le processus n'était pas complètement terminé. J'essayais donc de lancer un autre émulateur alors que le précédent était toujours en cours d'exécution. Sur un Mac, j'ai dû utiliser le Moniteur d'activité pour voir l'autre processus et le tuer. Pas:

  1. Ouvrir le Moniteur d'activité (dans Utilitaires ou en utilisant Commande + Espace)
  2. Localisez le nom du processus, dans mon cas, qemu-system ...
  3. Sélectionnez le processus.
  4. Forcez le processus à quitter en utilisant le bouton 'x' en haut à gauche.
  5. Je n'ai pas eu à utiliser "Forcer à quitter", mais simplement à "quitter", mais vous pouvez utiliser l'un ou l'autre.
1
rjferguson

Dans mon cas, cette erreur a été corrigée lorsque je mets la mémoire HAXM égale à la mémoire AVD. HAXM mémoire 1024 Mo = mémoire AVD 1024 Mo

Hax is enabled
Hax ram_size 0x40000000
HAX is working and emulator runs in fast virt mode.

Jusqu'à ce point, l'erreur devrait être corrigée.

Maintenant, j'énumère mon environnement spécifique au cas où cela pourrait être utile pour quelqu'un qui utilise OS X.

OS X El Capitan 10.11.4

MacBook (13 pouces), Intel Core 2 Duo à 2 GHz, 4 Go de RAM.

Android Studio 2.1

Marshmallow (23) x86 n'a pas passé l'écran clignotant de l'icône Android pendant des heures paires.

Lollipop (22) x86 a réussi l'affichage de l'icône Android clignotant, puis une

  • Démarrage de Android (Optimisation de x applications)
  • Démarrer Android (Démarrer des applications)
  • Démarrer Android (Mise à jour de la base de données de contacts)
  • Démarrer Android (démarrage final) et resté bloqué ici pendant des heures.

KitKat (19) x86 a fonctionné avec succès et j'ai pu installer hello world là-bas.

1
zeeawan

Vous devez vérifier que la taille allouée lors de l'installation HAX est identique à celle de la configuration de l'émulateur AVD.

Vous pouvez voir en français ici: http://blerow.blogspot.fr/2015/01/Android-studio.html

1
TontonZition

Téléchargez HAXM à partir du SDK Manager

Ouvrez votre SDK Manager à partir de Android Studio, cliquez sur l'icône affichée dans la capture d'écran.

enter image description here

Cliquez sur "Lancer le logiciel autonome SDK Manager" dans la boîte de dialogue "Paramètres par défaut".

enter image description here

Vérifiez le noeud "Extras> Intel x86 Emulator Accelerator (programme d'installation HAXM)" et poursuivez le téléchargement de HAXM.

enter image description here

Installation ou modification de HAXM

Vous pouvez maintenant accéder à l'installation (ou à la modification d'installtino existant) de HAXM en accédant à l'emplacement de téléchargement. Entrez ce chemin dans "run"

% localappdata%\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

et double-cliquez sur le fichier "intelhaxm-Android.exe"

Vous pouvez augmenter la taille de la mémoire allouée à HAXM tout en modifiant l'installation HAXM existante. J'ai une machine avec 32 Go de RAM et j'aimerais lancer plusieurs AVD en même temps (pour des tests automatisés, etc.), de sorte que j'ai alloué 8 Go à HAXM.

Avertissement

Si vous utilisez un AVD de 1 Go et que 2 Go sont alloués à HAXM, vous ne pouvez pas exécuter un autre AVD avec RAM plus de 1 Go. Assurez-vous que Android Device Monitor n'est pas en cours d'exécution lorsque vous modifiez ou installez HAXM (pour éviter toute surprise).

enter image description here

Ces étapes sont testées sur la plate-forme Windows, mais pourraient généralement être appliquées à d'autres plates-formes également avec de légères modifications.

1
A.B.

La mémoire attribuée par défaut à HAX est de 1024 Mo. Et l'émulateur a 1536 Mo apparemment pour Nexus 5x api 25.

si vous utilisez Android Studio,

  • il suffit d'aller dans les outils -> Gestionnaire AVD.
  • Puis sélectionnez l'émulateur et cliquez sur le bouton du crayon à droite pour le modifier.
  • Accédez aux paramètres avancés dans la nouvelle fenêtre et remplacez la valeur RAM par 1024.

Fonctionne comme un charme. :)

screenshot of Android studio

0
abe312

Rouvrez la configuration de votre périphérique AVD. en éditant le périphérique dans le gestionnaire AVD. Sélectionnez ensuite la version de AVD Android. Dans le volet de droite, un recommandation est affiché, suivez cette recommandation et tout sera corrigé.

0
hasan