L'émulateur Android n'a pas réussi à allouer de la mémoire 8

157

Lorsque j'essaie d'exécuter mon émulateur WXGA800 depuis Eclipse, cela donne une erreur comme celle-ci

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

J'ai également vérifié les liens suivants

Échec de l'allocation de mémoire: 8

Android: échec d'allocation de mémoire

J'ai essayé de réduire la taille de la RAM dans l'émulateur et d'augmenter la taille de Java et la taille de la RAM, mais je suis toujours confronté à la même erreur.

Vishwanath.M
la source
essayez de régler la résolution manuellement à la place, utilisez le skin intégré.
SteveR
Veuillez consulter ma réponse ici: stackoverflow.com/a/14420779/1993898
Prymaldark
duplication possible de Échec de l'allocation de mémoire: 8
Peter O.29
Cool. J'ai formulé cette même question avec moins d'éloquence et j'ai demandé aux gens de voter. J'espère qu'il y a une bonne réponse ici quelque part. J'essaie d'émuler les Samsung Galaxys avec le support S-Pen, et ils dépassent tous les capacités de l'émulateur.
Sinthia V

Réponses:

410

Mise à jour : à partir de la version 21 d'Android SDK Manager, la solution consiste à modifier C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.iniet modifier la valeur

hw.ramSize=1024 

à

hw.ramSize=1024MB

API Android 4.2 17

L'émulateur est vraiment lent, j'espère qu'ils publieront bientôt les images Intelutilisez les nouvelles images Intel x86 API17 si vous souhaitez la modifier. ( HAXM , Configuration )


Versions antérieures d'Android SDK Manager:

Eu le même problème avec le skin WXGA800 intégré. Je l'ai fait fonctionner en modifiant la configuration de l'appareil virtuel pour:

  • API Target 4.0.3 15 / 4.1.0 API 16
  • Carte SD 300MiB
  • Résolution 1280 x 800 (réglé manuellement - pas ceux intégrés)
  • Taille de la RAM de l'appareil 1024 Mo (avec Mo ajouté au nombre)
  • LCD abstrait 160

Voici ma configuration de tablette pour l'API 4.1.0 16 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

hw.lcd.density=160
sdcard.size=300M
skin.path=1280x800
skin.name=1280x800
hw.cpu.arch=arm
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024MB
image.sysdir.1=system-images\android-16\armeabi-v7a\

Cette configuration montre aussi les clés du logiciel Capture d'écran Émulateur Android 4.1 1280x800 @ 160

Lin-Art
la source
1
Je me sens un peu stupide de ne pas avoir essayé ça avant :)! Merci mec, tu m'as sauvé la vie!
caiocpricci2
2
+1 J'ai suivi ce conseil, puis j'ai démarré l'émulateur à partir de la ligne de commande pour que cela fonctionne. J'espère que Xavier nous sauvera bientôt de ce flakeyness ....
OceanLife
9
J'ai fait disparaître l'erreur en réduisant «Option mémoire: RAM» à 512 et en définissant la taille de la carte SD sur 300 Mo.
Someone Somewhere
3
Sérieusement, quel stupide bug ... / facepalm Au moins je peux progresser maintenant! Je vous remercie!
mrswadge
2
sensationnel. c'est terrible. le SDK officiel et le kit de test ne gèrent pas correctement cela? vous devez éditer les fichiers .ini à la main, et c'est le cas depuis près d'un an? c'est insensé.
matt lohkamp
67

Cette solution suivante a fonctionné pour moi. Dans le fichier de configuration suivant:

C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

Remplacer

hw.ramSize=1024

par

hw.ramSize=1024MB
boing
la source
1
Je ne sais pas pourquoi mais cela l'a corrigé. Merci
schar
1
Bon point, cela doit être un bug ... J'ai suivi la convention des fichiers et j'ai juste utilisé un M, qui fonctionnait également.
HGPB
17
Un peu pathétique de la part de Google, vraiment. Ne testent-ils pas?
Cory Trese
+1 Cela fonctionne pour moi. C'est peut-être parce que lorsque j'ai spécifié la taille de la RAM, je sélectionne 1 Go.
Eng.Fouad
4
Dans une autre réponse, quelqu'un a prétendu que le "Mo" n'est pas réellement reconnu et que le passage de 1024 à 1024 Mo réduit en fait la mémoire à 256 Mo, ce qui est par défaut et donc cela commence à fonctionner. Source: stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Juha Palomäki
9

Dans mon cas, la solution était de changer non seulement config.inimais aussi hardware.inipour la peau spécifique de hw.ramSize=1024à hw.ramSize=1024MB.

Pour trouver le hardware.inifichier:

  1. Ouvrez le config.iniet localisez skin.path.
  2. Ensuite, accédez au dossier où se trouve le sdk android.
  3. Ouvrez le chemin, comme ceci: android-sdk\platforms\android-15\skins\WXGA720.
  4. Dans ce dossier, vous trouverez le fichier hardware.ini.
  5. Changer hw.ramSize=1024en hw.ramSize=1024MB.
Marlos
la source
2
travaillé pour moi. Je ne sais pas pourquoi les gens n'aiment pas votre réponse. Merci!
Veaceslav Gaidarji
5

Mise à jour: à partir de la version 21 d'Android SDK Manager, la solution consiste à modifier C: \ Users \ .android \ avd \ .avd \ config.ini et à modifier la valeur

hw.ramSize = 1024 à

hw.ramSize = 1024 Mo

OU

hw.ramSize = 512 Mo

Alexander Zaldostanov
la source
3

Cette erreur se déclenche si vous définissez la RAM AVD sur quelque chose qui est plus grand que le plus grand bloc de mémoire continue que l'émulateur est capable d'allouer. Fermez tout ce qui est lourd en RAM, démarrez votre émulateur, démarrez tout ce dont vous avez besoin. Dans une réponse précédente, j'ai limité cela aux images x86 avec IntelHAXM, mais c'est en fait le cas pour tous les types d'instances d'émulateur.

ptashek
la source
3

Dans la configuration AVD: modifiez l'option CPU / ABI en MIPS. Ça a marché pour moi

back2back
la source
1

J'ai eu le même problème et ce qui a fini par être le problème était la taille de la RAM: apparemment, 1024 (ou quelle que soit la taille) est différente de 1024 Mo. Assurez-vous de spécifier les unités et cela devrait fonctionner pour vous.

Paul
la source
1

Changer le ramSize dans le fichier config.ini n'a pas fonctionné pour moi.

J'ai changé la taille de la carte SD à 1000 Mio dans la fenêtre Modifier l'appareil virtuel Android ... Cela a fonctionné! :)

Namrata
la source
Êtes-vous sûr que votre réponse concerne le problème? Parce que le problème semble être lié à la RAM, qui ne changera pas si l'on change la taille de la carte SD.
class stacker
0

Allez à modifier les appareils virtuels Android et changez les 1024 sous les options de mémoire en 768. Si cela ne fonctionne toujours pas, continuez de plus en plus bas.

FranzPhillips
la source
0

Réduire la taille de la RAM dans les paramètres AVD a fonctionné pour moi. L'AVD étant lent peut consommer beaucoup de RAM, il est donc possible de le maintenir au minimum.

Sylar
la source
0

Pour la peau, retirez No Skin et ajoutez-y de la peau

entrez la description de l'image ici

Jimit Patel
la source
0

Essayez ceci si d'autres réponses n'ont pas fonctionné pour vous.

Pour moi, cela s'est produit pour l'émulateur API 27.

L'émulateur API 26 fonctionnait très bien. J'ai donc commencé l'émulateur API 26, puis je l'ai fermé.

Ensuite, j'ai lancé l'émulateur API 27 et cela a fonctionné sans aucune erreur.

Akshar Patel
la source