El emulador de Android no pudo asignar la memoria 8

157

Cuando intento ejecutar mi emulador WXGA800 desde Eclipse, aparece un error como este

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.

También revisé los siguientes enlaces

Error al asignar memoria: 8

Android: no se pudo asignar memoria

He intentado reducir el tamaño de RAM en el emulador y aumentar el tamaño y el tamaño de memoria RAM de Java, pero aún me enfrento al mismo error.

Vishwanath.M
fuente
intente configurar la resolución manualmente en lugar de usar la máscara incorporada.
SteveR
Consulte mi respuesta aquí: stackoverflow.com/a/14420779/1993898
Prymaldark
posible duplicado de Error al asignar memoria: 8
Peter O.
Frio. Formulé esta misma pregunta con menos elocuencia y pedí a la gente que la votara. Espero que haya una gran respuesta aquí en alguna parte. Estoy tratando de emular el Samsung Galaxys con soporte S-Pen, y todos ellos también están excediendo las capacidades del emulador.
Sinthia V

Respuestas:

410

Actualización : a partir de Android SDK Manager versión 21, la solución es editar C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.iniy cambiar el valor

hw.ramSize=1024 

a

hw.ramSize=1024MB

Android 4.2 API 17

El emulador es realmente lento espero que publiquen las imágenes de Intel prontouse las nuevas imágenes API17 Intel x86 si desea cambiarlo ... ( HAXM , Configuración )


Versiones anteriores de Android SDK Manager:

Tuve el mismo problema con la máscara WXGA800 incorporada. Lo hice funcionar editando la configuración del dispositivo virtual para:

  • Objetivo 4.0.3 API 15 / 4.1.0 API 16
  • Tarjeta SD 300MiB
  • Resolución 1280 x 800 (configurada manualmente, no las integradas)
  • Tamaño de memoria RAM del dispositivo 1024 MB (con MB agregado al número)
  • LCD 160 abstraído

Aquí la configuración de mi tableta para 4.1.0 API 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\

Esta configuración muestra las teclas del software también Captura de pantalla del emulador de Android 4.1 1280x800 @ 160

Lin-Art
fuente
1
Me siento un poco estúpido por no haber intentado eso antes :) ¡Gracias, hombre, me salvaste la vida!
caiocpricci2
2
Tomé este consejo y luego comencé el emulador desde la línea de comandos para que funcione. Espero que Xavier nos salve de este flakyness pronto ...
OceanLife
9
Hice que el error desapareciera reduciendo la "Opción de memoria: RAM" a 512 y configurando el tamaño de la tarjeta SD a 300MiB.
Alguien en algún lugar el
3
En serio, qué estúpido error ... / facepalm ¡Al menos puedo progresar ahora! ¡Gracias!
mrswadge
2
Guau. este es terrible. el SDK oficial y el kit de prueba no manejan esto correctamente? tienes que editar archivos .ini a mano, y ese ha sido el caso durante casi un año? Eso es una locura.
Matt Lohkamp
67

La siguiente solución funcionó para mí. En el siguiente archivo de configuración:

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

Reemplazar

hw.ramSize=1024

por

hw.ramSize=1024MB
boing
fuente
1
No estoy seguro de por qué, pero esto lo solucionó. Gracias
schar
1
Buen lugar, esto debe ser un error ... Seguí la convención de archivos y simplemente usé una M, que también funcionó.
HGPB
17
Un poco patético por parte de Google, de verdad. ¿No prueban?
Cory Trese
+1 Esto me funciona. Tal vez sea porque cuando especifiqué el tamaño de ram seleccioné 1 GB.
Eng.Fouad
44
En otra respuesta, alguien afirmó que el "MB" no se reconoce realmente y que cambiar de 1024 a 1024 MB en realidad reduce la memoria a 256 MB, que es el valor predeterminado y, por lo tanto, comienza a funcionar. Fuente: stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Juha Palomäki
9

En mi caso, la solución era cambiar no sólo config.ini, sino también hardware.inipara la piel específica de hw.ramSize=1024a hw.ramSize=1024MB.

Para encontrar el hardware.iniarchivo:

  1. Abre el config.iniy localiza skin.path.
  2. Luego navegue a la carpeta donde se encuentra el SDK de Android.
  3. Abrir el camino, así: android-sdk\platforms\android-15\skins\WXGA720.
  4. Dentro de esta carpeta encontrarás el hardware.ini.
  5. Cambiar hw.ramSize=1024a hw.ramSize=1024MB.
Marlos
fuente
2
trabajó para mi. No sé por qué a la gente no le gusta tu respuesta. ¡Gracias!
Veaceslav Gaidarji
5

Actualización: a partir de Android SDK Manager versión 21, la solución es editar C: \ Users \ .android \ avd \ .avd \ config.ini y cambiar el valor

hw.ramSize = 1024 a

hw.ramSize = 1024MB

O

hw.ramSize = 512MB

Alexander Zaldostanov
fuente
3

Este error se dispara si configura la RAM AVD en algo que sea más grande que el bloque más grande de memoria continua que el emulador puede asignar. Cierre cualquier RAM pesada, inicie su emulador, inicie todo lo demás que necesite. En una respuesta anterior, he limitado esto a imágenes x86 con IntelHAXM, pero este es realmente el caso para todos los tipos de instancias de emulador.

ptashek
fuente
3

En la configuración AVD: cambie la opción CPU / ABI a MIPS. Funciono para mi

back2back
fuente
1

Tuve el mismo problema y lo que terminó siendo el problema fue el tamaño de la RAM: aparentemente 1024 (o cualquier tamaño) es diferente de 1024MB. Asegúrese de especificar las unidades y debería funcionar para usted.

Pablo
fuente
1

Cambiar el ramSize en el archivo config.ini no funcionó para mí.

Cambié el tamaño de la tarjeta SD a 1000 MiB en la ventana Editar dispositivo virtual Android ... ¡Funcionó! :)

Namrata
fuente
¿Estás seguro de que tu respuesta se relaciona con el problema? Porque el problema parece estar relacionado con la RAM, que no va a cambiar si uno cambia el tamaño de la tarjeta SD.
apilador de clase el
0

Vaya a editar dispositivos virtuales Android y cambie 1024 bajo Opciones de memoria a 768. Si aún no funciona, continúe bajando cada vez más.

FranzPhillips
fuente
0

Reducir el tamaño de RAM en la configuración AVD funcionó para mí. El hecho de que el AVD sea lento puede consumir mucha RAM, por lo que es posible mantenerlo al mínimo.

Sylar
fuente
0

Para Skin, elimine No Skin y agregue un poco de skin

ingrese la descripción de la imagen aquí

Jimit Patel
fuente
0

Intente esto si otras respuestas no funcionaron para usted.

Para mí, esto sucedió para API 27 Emulator.

API 26 Emulator funcionó bien. Entonces comencé API 26 Emulator primero y luego lo cerré.

Luego comencé API 27 Emulator y funcionó sin ningún error.

Akshar Patel
fuente