¿Cómo boost el almacenamiento para Android Emulator? (INSTALACIÓN FALLIDA, ESPACIO INSUFICIENTE)

A veces recibo esto (no a menudo) para uno de mis proyectos, solo un par de clases
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

¿Cómo puedo boost el almacenamiento del emulador?

Actualizar

Esta respuesta es, mientras escribo esto, casi ocho años de antigüedad y aproximadamente cinco años añejos. Pero sigue (mientras escribo esto) la respuesta “aceptada”, porque respondió la pregunta cuando se le preguntó.

La respuesta más reciente, que se aplica a las nuevas herramientas de Android Studio, se puede encontrar aquí: https://stackoverflow.com/a/35828035/62 – es una gran respuesta con capturas de pantalla. Si usa Android Studio, ignore la respuesta de Eclipse a continuación.

Respuesta original basada en eclipse

Estaba buscando la respuesta a esta pregunta, y no estaba satisfecho con las respuestas anteriores. Pero luego encontré la respuesta , así que aquí está para futuras referencias:

Para resumir (y aclarar), en Eclipse, vaya a “Configuraciones de depuración”. Puede encontrarlo en el menú desplegable bajo el ícono “depurar”. Seleccione “objective” y seleccione un destino de emulador preferido para iniciar. Luego, debajo de “opciones adicionales de línea de comandos del emulador”, agregue esto:

-partition-size 1024

Luego, CIERRE el emulador (y elimine cualquier dispositivo) y haga clic en el ícono de depuración, que abrirá el emulador preferido que seleccionó. Esto es importante: Eclipse necesita iniciar el depurador, no AVD.

Eso solucionó el problema para mí.

Agregue lo siguiente a avd config.ini

 disk.dataPartition.size=1024MB 

Avísame si esto también funciona para ti.

Añadí en la línea Agregar configuración de tamaño de partición de datos
Captura de pantalla del espacio de almacenamiento AVD que se está incrementando

En Android Studios

Abra el Administrador de AVD.

enter image description here

Haga clic en Editar ícono para editar el AVD.

enter image description here

Haga clic en Mostrar configuración avanzada.

enter image description here

Cambie el almacenamiento interno, Ram, tamaño de la tarjeta SD según sea necesario. Haga clic en Finalizar.

enter image description here

Confirme la ventana emergente haciendo clic en sí.

enter image description here

Limpie los datos en el AVD y confirme la ventana emergente haciendo clic en sí.

enter image description here

Ahora comienza y usa tu emulador con mayor capacidad de almacenamiento.

Estaba haciendo una instalación de una aplicación:

 adb install /home/me/jones_android-arm.apk 

Y recibí un mensaje de error diciéndome que

 /data/local/tmp/jones_android-arm.apk 

era demasiado grande Utilizando las herramientas SDK de r15 y ADT 15, pude usar el administrador de AVD para manipular algunas de las configuraciones de mi emulador existente:

 Window-> AVD Manager -> (select you virtual machine) -> Edit 

luego, yendo a la ventana de propiedades del Hardware justo debajo de “Skin:” pude seleccionar con el Hardware: Nuevo botón ‘Ideal size of partition’. Sin embargo, no pude establecer el valor de otra manera que ‘0’. Sin desanimarse, fui a mi directorio $ {HOME} /. Android / avd. Había un directorio ‘MyVm.avd’. Al entrar en ese directorio encontré un archivo ‘config.ini’. Estaba la entrada:

 disk.dataPartition.size=0 

Configuré esto para:

 disk.dataPartition.size=1024 

.. luego volví al Administrador de AVD, seleccioné MyVm, seleccioné ‘Comenzar’, opté por borrar los datos del usuario y gané el siguiente diálogo, y pude ejecutar e instalar.

Ejecutar el Administrador de AVD

Seleccione su AVD y haga clic en el botón “Detalles …”.

En mi caso, AVD Manager establece el tamaño del disco como

 disk.dataPartition.size=4000M 

Este valor no válido , el disco es de aproximadamente 500 MB a pesar de los números especificados.

Vaya a la carpeta de AVR por ruta en “Detalles de AVD”.

Edítelo en config.ini para

 disk.dataPartition.size=4000MB 

y elimine todos los archivos .img.

El administrador de avd tiene una opción de “tamaño ideal de partición de sistema”, intente configurarlo en 1024MB o use la opción de inicio de línea de comando que hace lo mismo.

fyi, solo encontré este problema con la imagen del emulador 4.0.

este problema viene con Android 1.5 .. prueba 2.0 o 2.1 o 2.2

Simplemente inicie el emulador por línea de comando de la siguiente manera:

 emulator -avd  -partition-size 1024 -wipe-data 
  

Soy un principiante, pero tuve ese problema mientras jugaba con la “Hello Grid View”. Intentaba usar mis propias fotos, que eran todas muy grandes en tamaño de archivo.

La solución rápida fue reducir el número de fotos, reduciendo así el tamaño del archivo APK.

Pero, supongo que mi pregunta de seguimiento para cualquier persona que toque este hilo es la siguiente: ¿cómo adjunto archivos de gran tamaño como JPG y MP3 a una aplicación y me aseguro de que guarden en la tarjeta SD para que el APK permanezca pequeño?

necesitas boost la memoria virtual del emulador

Cómo boost la memoria virtual del emulador

emulator -avd “Emulator Name” -partition-size 2024

luego intenta instalar tu apk

Actualice su configuración en AVD Manager e inicie el dispositivo habilitando ‘Borrar datos de usuario’. Esto funcionó para mí.

Supongo que deberías reiniciar el emulador con “emulator -wipe-data -avd YourAvdName” o marcar “Borrar datos de usuario” en la configuración de ejecución si estás usando Eclipse.

Estoy enfrentando el mismo problema ahora mismo.

Para cambiar el tamaño del almacenamiento del emulador de Android en Linux:

1) instalar qemu

2) Ubique el directorio que contiene los archivos img de la máquina virtual. Algo como ~ / .android / avd / .avd y cd a él.

3) Cambiar el tamaño de las imágenes ext4: es decir, para crecer de 500Mb a 4Gb ejecutar

 qemu-img resize userdata.img +3.5GB qemu-img resize userdata-qemu.img +3.5GB 

4) hacer crecer el sistema de archivos:

 e2fsck -f userdata.img resize2fs userdata.img e2fsck -f userdata-qemu.img resize2fs userdata-qemu.img 

5) Para la imagen de la tarjeta sd, opcional: rescatar los datos:

 mkdir 1 mount -o loop sdcard.img 1 cp -a 1 2 umount 1 

6) cambiar el tamaño de la imagen de 100Mb a Gb:

 qemu-img resize sdcard.img +3.9GB 

7) regenerar el sistema de archivos:

 mkfs.vfat sdcard.img 

8) opcional: restaurar los datos antiguos:

 mount -o loop sdcard.img 1 cp -a 2/* 1 mount -o loop sdcard.img 1 

La única vez que vi que esto sucedió fue cuando el sistema de archivos del host estaba básicamente sin espacio. ¿Tiene mucho espacio libre en el sistema de archivos donde se almacena el sistema de archivos de la VM?

Definitivamente no es una respuesta apropiada, pero es una pequeña pista.

Si desea hacer uso de archivos estáticos en su aplicación. Debes ponerlos como recursos o como activos. Pero, si tienes problemas de memoria como para mantener tu APK pequeño, entonces debes cambiar el diseño de la aplicación de tal forma que,

en lugar de ponerlos como recursos, mientras ejecuta su aplicación (después de la instalación) puede tomar los archivos (seguramente archivos diferentes ya que el usuario puede no mantener los archivos lo que necesita) desde la tarjeta SD. Para esto U puede usar ContentResolver para tomar audio, archivos de imagen en la selección del usuario.

Con esto puede darle al usuario otra característica como puede cargar archivos de audio / imagen a la aplicación según su propia elección.

puede iniciar uno al seleccionar un elemento del árbol izquierdo “dispositivo virtual” en el cuadro de diálogo Administrador de AVD en la plataforma de eclipse, la interfaz de usuario de inicio tiene la opción “Limpiar datos de usuario”

El siguiente enfoque funcionó para mí

  1. Navega a tu carpeta SDK / tools de Android en la ventana de la terminal (en caso de que no hayas agregado la ruta)

  2. Asegúrese de que el dispositivo virtual que planea limpiar esté apagado.

  3. Ejecute el comando “./emulator -wipe-data -avd YourAvdName” donde YourAvdName es el nombre de su dispositivo Android virtual

Intenta elegir proyecto -> limpiar. Una simple limpieza puede arreglarlo.