"Almacenamiento insuficiente disponible" incluso hay mucho espacio libre en la memoria del dispositivo

140

El espacio total de mi aplicación es de 10 MB, y después de la instalación tomará menos de 20 MB. En Galaxy Note I , mientras actualizo mi aplicación, dice "Almacenamiento insuficiente disponible", donde hay 214 MB de espacio libre en la memoria del dispositivo (interna). Ocurre incluso tratando de descargar una nueva aplicación.

Busqué durante mucho tiempo la solución, y una razón perfecta para la causa de este problema, pero no la encuentro. ¿Cómo soluciono este problema?

Este es el resultado del 'adb shell df' en mi otro dispositivo que tiene el mismo problema. Tiene 35 MB de espacio libre:

/dev: 115788K total, 0K used, 115788K available (block size 4096)
/mnt/asec: 115788K total, 0K used, 115788K available (block size 4096)
/system: 179840K total, 168376K used, 11464K available (block size 4096)
/data: 201856K total, 168524K used, 33332K available (block size 4096)
/cache: 108544K total, 1284K used, 107260K available (block size 4096)
/cdrom: 8960K total, 8632K used, 328K available (block size 4096)
/tmp: 2048K total, 28K used, 2020K available (block size 4096)
/pds: 1536K total, 1320K used, 216K available (block size 4096)
/mnt/sdcard: 1928992K total, 1014496K used, 914496K available (block size 32768)
/mnt/secure/asec: Permission denied
Francotirador
fuente
2
Es posible que el espacio libre que está viendo no sea el almacenamiento interno real, sino un almacenamiento "externo" "interno" (como en soldadura permanente). Si puede ejecutar adb desde la línea de comandos, publique el resultado deadb shell df
Chris Stratton
Este es el problema del lado del cliente. Entonces no puedo ejecutar adb shell.
Francotirador
Entonces, ¿a quién puedo encontrar el almacenamiento interno real (espacio libre) del dispositivo donde se almacenarán las aplicaciones.
Francotirador
1
¿Has declarado android: installLocation en el manifiesto?
Blackbelt
8
Esta pregunta parece estar fuera de tema porque se trata de un problema de nivel de usuario. Sería mejor en casa en los entusiastas de Android .
Peter Mortensen

Respuestas:

177

Aquí hay una solución muy simple que funciona en mi Samsung Galaxy S II y Note 1 ; No tengo idea de otros modelos:

  1. Abra la aplicación del teléfono y cambie al teclado.
  2. Marcar *#9900#
  3. En la pantalla que aparece, haga clic en el botón "Eliminar dumpstate / logcat".

He restaurado aproximadamente un GB de espacio del sistema de esta manera.

Berislav Lopac
fuente
3
Eliminó el espacio interno (aproximadamente 300 MB) en mi Galaxy Note 1, pero vale la pena señalar. +1 de mi parte.
Mohammad Arif el
15
Respuesta incorrecta a este problema. No hay escasez de almacenamiento interno aquí !!!
Robert Siemer
13
Aparentemente, no funciona para los marcadores que no son de stock (por ejemplo, CyanogenMod), pero vea la respuesta de rhlee sobre cómo hacer lo mismo si obtiene el error "MMI no válido" cuando prueba esto en un teléfono rooteado y modificado.
ChrisC
3
¿Cómo hago lo mismo en una tableta que NO tiene teclado de marcación y que NO está rooteada?
Jalle
1
Para mí (hammerhead, API-19) el problema era que / data / app-lib / contenía el paquete de aplicación que intenté instalar. Eliminar y su fijo.
shkschneider
67

Al principio probé la respuesta de Berislav Lopac , pero lo conseguí Connection problem or invalid MMI code.cuando intenté marcar *#9900#. Estaba usando CyanogenMod en el teléfono, y creo que los teléfonos con ROM personalizados no usan el marcador de stock, por lo que carecen de la funcionalidad SysDump.

Básicamente, Delete dumpstate/logcaten SysDump borra los archivos de registro /data/log. Pero también puede hacerlo manualmente sin SysDump. (Esto supone que su teléfono ha sido rooteado, lo que será el caso si su teléfono ejecuta CyanogenMod o cualquier otra ROM que no sea de stock).

  1. Asegúrese de que las aplicaciones Superuser y Terminal Emulator estén instaladas. (Vienen con la mayoría de las ROM personalizadas).
  2. Ejecutar emulador de terminal
  3. Escriba su, presione regresar.
  4. Esto mostrará un mensaje de Superusuario. Autorizará el acceso. (Deberá esperar tres segundos antes de hacer clic en "Permitir").
  5. Cambie el directorio actual escribiendo cd /data/log, seguido de retorno.
  6. ASEGÚRESE de que está en el data/logdirectorio escribiendo pwd, seguido de retorno. Debe imprimir el directorio de trabajo actual se encuentra en: /data/log. Es muy importante asegurarse de estar en el directorio correcto ya que el siguiente paso elimina todos los archivos en el directorio de trabajo en el que se encuentre actualmente.
  7. Elimine todos los archivos en el directorio escribiendo rm *, seguido de retorno.
  8. Cierre la ventana del terminal o la aplicación, o escriba exitpara salir de la susesión.

Eliminé aproximadamente 1,500 archivos de 1 MB como este y solucioné mi problema de "Almacenamiento insuficiente disponible".

Al igual que con los otros carteles, tengo un Galaxy S II , por lo que parece ser un problema con ese modelo.

Si alguien conoce la solución permanente para detener la acumulación de archivos de registro, hágamelo saber.

NOTA: Algunos administradores de archivos enumerarán falsamente /data/logcomo vacíos ya que se ejecutan sin privilegios y, por lo tanto, carecen de los permisos para ver los archivos en su interior.

rhlee
fuente
¡Gracias, esta fue la primera publicación del foro que me explicó qué hacer cuando la cosa * # 9900 # no funcionó! Sospeché que era CyanogenMod detrás del problema de MMI no válido, pero no sabía a dónde ir desde allí. También utilicé ES File Explorer pero no me mostraba el directorio / data / log; presumiblemente, me olvidé de ver los archivos ocultos.
ChrisC
2
@Chris Chapman: mientras usa CyanogenMod, puede usar el explorador de archivos de CyanogenMod llamado Administrador de archivos (carpeta azul con flecha / círculo blanco). Vaya a Configuración -> Configuración general -> Modo de acceso en la aplicación y cámbielo al modo Solicitar usuario o al modo Acceso raíz (el modo Solicitar usuario es más seguro). Entonces debería poder ver los archivos en el directorio / data / log. También podrá eliminar en masa todos los archivos. Este método es más fácil, pero eliminar los archivos es más lento.
Rhlee
+1! Siempre veo este tipo de números *#9900#, *#7832pero no funcionó para mí debido a la ROM de Cyanogen.
S. Thhiongane
13
¿Esto se aplica a CyanogenMod 10.2? Porque no tengo una carpeta "/ data / log". "El fichero o directorio no existe".
jonS90
77
Tengo /data/y /data/data/y /sdcard/data/ninguno de estos tiene una logsubcarpeta
endolith
18

El sistema operativo puede reservar la memoria para utilizarla para ejecutar lo que normalmente ejecuta (algo así como un archivo de intercambio). Es posible que pueda exprimir en otra aplicación o dos por

  • Intentando instalarlos justo después de reiniciar, o
  • Al forzar el cierre de algunas aplicaciones que se están ejecutando (pero esa segunda opción puede no ser una buena idea, consulte el primer enlace),

Pero la única solución muy buena podría ser

  • Vuelva a particionar su tarjeta SD para que las aplicaciones se puedan instalar directamente en ella (vea el segundo enlace).

Eche un vistazo a la publicación del foro. Sucedió que sucedería: ¡advertencia de poca memoria! .

La parte importante es:

El sistema operativo sabe cuánta memoria necesita para ejecutar las aplicaciones que ya tiene. este es un ejemplo perfecto.

Ahora puede "engañar" al sistema operativo al forzar el cierre de algunas aplicaciones que se encuentran en la RAM. Esto aumentará su "depósito" de memoria, lo que puede permitirle instalar una aplicación, pero recuerde que si hace este tipo de cosas, solo causará problemas en el futuro ... retraso, mensajes de error, etc. (porque está engañando al sistema operativo) al pensar que le has dado memoria adicional que de hecho lo hiciste ... solo forzas el cierre).

Otra buena explicación de lo que está sucediendo es en la publicación del foro Memoria interna baja .

La parte importante es:

La razón por la cual su espacio interno se está llenando es triple. Primero, cuando una aplicación se "mueve" a la tarjeta SD, no se mueve completamente. Solo partes de ella realmente desaparecen. En segundo lugar, el caché Dalvik de la aplicación todavía está almacenado en la memoria interna (que ocupa una cantidad sustancial de espacio). En tercer lugar, los datos de las aplicaciones y todas las configuraciones de su sistema se almacenan en la memoria interna (sí, algunas aplicaciones usan la tarjeta SD para porciones de sus datos, pero cada aplicación tiene datos almacenados en la memoria interna).

¡Y el hilo incluye sugerencias sobre qué partición puede hacer a su tarjeta SD para permitir 'aplicaciones moar'!

A.M
fuente
55
De acuerdo con androidforums.com/evo-4g-support-troubleshooting/… , "Uh, ¿qué? Todo esto es incorrecto. El área de ROM donde se instalan las aplicaciones no está relacionada con el área de RAM donde las aplicaciones se ejecutan / caché. Task Killer libera RAM, no ROM. No podrás instalar más aplicaciones en esa área simplemente eliminándolas de la ejecución ". (Creo que ROM es el término incorrecto, pero aún así)
nafg
1
"ROM", Memoria de solo lectura, no está en discusión aquí en absoluto. Cada tipo de almacenamiento que estamos discutiendo es modificable, a diferencia de la ROM. Lo que se está discutiendo es RAM y espacio de almacenamiento, e incluso esos conceptos están borrosos por el concepto de espacio de intercambio, en el que uno actúa como el otro. Si tiene otras respuestas para publicar, eso podría ser constructivo, pero los argumentos que apuntan a ROM parecen mucho menos.
AM
77
Completa respuesta de mierda. 1) No hablamos de RAM aquí, pero tú sí. ¿Por qué? 2) Android no usa el intercambio (por defecto). 3) El sistema operativo no reserva RAM para las aplicaciones instaladas. 4) ¡La memoria de almacenamiento interno no está llena como lo indica la operación! 4) @Sniper te lo ruego, ¡no aceptes esta escandalosa respuesta!
Robert Siemer
3
Esta respuesta no parece ser relevante. Hay más respuestas útiles a continuación.
Sr. Ed
1
@AM Estás completamente fuera, aquí. ROM es el almacenamiento interno del teléfono (como un disco duro en una computadora). RAM es el "bloc de notas" que utiliza la CPU mientras funciona y donde se cargan sus aplicaciones mientras se ejecutan. Con todo el almacenamiento en estado sólido, el término ROM realmente se ha "enturbiado". Realmente se reduce a dos tipos diferentes de "memoria" 1) la memoria volátil (RAM) es rápida y requiere energía para "almacenar" cosas, lo que significa que tan pronto como se apaga el dispositivo, esta memoria se borra. 2) la memoria no volátil (ROM) es donde se almacenan los datos, incluso cuando no hay energía.
Mike U
12

El administrador de paquetes ("instalador") tiene un problema de diseño: no puede distinguir entre un montón de posibles errores y regularmente presenta la excusa de "almacenamiento insuficiente".

Los primeros pasos se realizan: identifique que es un problema de instalación (1.) y que no está relacionado con la escasez de almacenamiento (2.)

  1. Sucede en la consola ( pm install file.apk), con Google Play, otros mercados y la instalación manual de GUI (por ejemplo, "haciendo clic" en un archivo APK descargado ); no es un problema de descarga, ...
  2. Los paquetes terminan completamente en la /datapartición, o principalmente en la tarjeta SD (y un poco más /data). - Ambos lugares muestran suficiente espacio como lo indica el póster original (33 MB y> 900 MB respectivamente) para el paquete <20 MB. –Y– la /datapartición tiene más del 10% de espacio libre (33 MB es más del 10% de 200 MB).

Sorprendentemente, la mayoría de las respuestas no tienen esto en cuenta ...

En realidad, la /datapartición necesita una limpieza de los residuos de las instalaciones anteriores.

  • Identifique el nombre común del paquete problemático (por ejemplo, com.abc.def)
  • Desinstale el paquete (por ejemplo pm uninstall com.abc.def)
  • Verifique lo que queda de él en los datos (por ejemplo, find /data -name 'com.abc.def*')
  • Eliminar esas cosas

El instalador se ahoga con esos, regresando con la razón equivocada. - La parte interesante es: si el paquete se instala en la tarjeta SD (forzado o por otros medios), algunas (¿todas?) Las sobras /datano duelen ... lo que lleva a la falsa creencia de que realmente es un problema de espacio ( más espacio en la tarjeta SD ...)!

La pregunta de desbordamiento de pila de donde obtuve la mitad de esto es la solución al error INSTALL_FAILED_INSUFFICIENT_STORAGE en Android .

Robert Siemer
fuente
6

Lo primero que debe hacer es verificar los detalles del mensaje de error. Para esto, puede usar la aplicación LogCat .

Para mí el problema fue un error como

Cannot rename native library directory /data/app-lib/vmdl-... to /data/app-lib/com.xyz

La solución fue activar la función de sentido común en mi cerebro y buscar la carpeta com.xyz en la carpeta app-lib con ES-Explorer. Reconocí que esta carpeta ya estaba allí. Entonces, eliminarlo resolvió el problema de cambio de nombre y las aplicaciones ahora pueden instalarse correctamente.

Sentenza
fuente
3
Un poco triste cuántas soluciones dependen de la descarga e instalación de otra aplicación más
Mooing Duck
6

El mismo problema venía para mi teléfono y esto resolvió el problema:

  • Vaya a Application Manager/ Appsdesde Configuración.

  • Seleccionar Google Play Services.

Ingrese la descripción de la imagen aquí

  • Haga clic en el Uninstall Updatesbotón a la derecha del Force Stopbotón.

  • Una vez que se desinstalen las actualizaciones, debería ver el Disablebotón, lo que significa que ya ha terminado.

Ingrese la descripción de la imagen aquí

Verá mucho espacio libre disponible ahora.

Dios mío
fuente
1
y debe hacer lo mismo para cada aplicación, especialmente las de google. No olvide deshabilitar las actualizaciones automáticas de aplicaciones antes.
GoTo
2

También tuve este problema al instalar una aplicación después de haberlo desinstalado. Resolví descargar Lucky Patcher y luego hice clic en el menú - solución de problemas - eliminar correcciones y copias de seguridad (almacenamiento insuficiente disponible). Tenga en cuenta que necesita que su dispositivo esté rooteado.

Federico
fuente
My Lucky Patcher (versión 3.6.7) no tiene "eliminar arreglos y copias de seguridad" en el menú.
Robert Siemer
No puedo instalar Lucky Patcher por el mismo error.
Ni
2

Tengo un Nexus 4 no rooteado (que solo tiene almacenamiento interno, sin tarjeta SD) y recibí este error con la actualización de aplicaciones más grandes. Las aplicaciones más pequeñas se actualizarían bien.

Descubrí que era porque me había registrado recientemente en el servicio Play Music All Access y había anclado varios álbumes.

Estos se descargan en la /datapartición oculta y fue esto lo que se había quedado sin espacio (supongo)

Desanclé un par de álbumes y ahora no tengo problemas para instalar aplicaciones.

Shevek
fuente
2

1. Reinicie el teléfono y luego reinstale la aplicación. .

¡También estaba teniendo el mismo problema Insufficient Storage Availableen mi dispositivo, pero reinicié mi dispositivo y funcionó bien!

PD.:

2. Instale la aplicación en almacenamiento externo

Para esto, configure Storage Locationcon el siguiente comando

adb shell pm set-Install-Location 2 // 2 for external storage ([SD card][1])

adb shell pm set-Install-Location 1 // 2 for internal storage 

adb shell pm set-Install-Location 0 // for auto
Tarsem Singh
fuente
2
Gracias Tarsem! Intenté reiniciar más de 20 veces pero no tuve suerte ... :(
Sniper
1
La instalación en la tarjeta SD evita el problema, pero no lo resuelve (vea mi respuesta) –y– puede instalar un paquete problemático en la tarjeta SD de una manera más fácil como esta:pm install -s package.apk
Robert Siemer el
2

Tuve este problema incluso con mucha memoria interna y memoria SD. Esta solución es solo para aplicaciones que no se actualizan o que se han instalado previamente en el teléfono y no se instalarán.

Parece que en algunos casos quedan directorios de una instalación anterior y la nueva aplicación no puede eliminarlos ni sobrescribirlos.

Lo primero que debe hacer es intentar desinstalar la aplicación primero e intentar nuevamente. En mi caso, esto funcionó para un par de aplicaciones.

Para el siguiente paso, necesita acceso de root en su teléfono:

Con un administrador de archivos, vaya a / data / app-lib y busque el directorio (o directorios) asociado con la aplicación. Por ejemplo, para kindle es com.amazon.kindle. Eliminar estos. También vaya a / data / data y haga lo mismo.

Luego vaya a Play Store y vuelva a instalar la aplicación. Esto funcionó para todas las aplicaciones en mi caso.

tomliddle
fuente
1

Tuve el mismo problema, y ​​se resolvió usando App Cache Cleaner .

(HT: foros de acejavelin @ Android )

Shaul Behr
fuente
1
En realidad, no es tan tonto. Tengo ese problema en mi Galaxy S2, y tenía suficiente memoria para instalar la aplicación, y lanzó aproximadamente 87 MB. Pero no solucionó el problema general.
Sr. Ed
Hmmmm Quizás solucionó mi problema. Intenté las sugerencias en las respuestas a esta pregunta (instalar en sdcard, marcar * # 9900 # "Eliminar dumpstate / logcat", ejecutar Cache Cleaner) e inicialmente no funcionó, es decir, recibió errores al actualizar las aplicaciones existentes (error 902 para ser precisos). Pero después de reiniciar el teléfono, ¡se actualizó correctamente! Y ahora parece estar bien.
Sr. Ed
1

Probé varias de las soluciones sugeridas, pero ninguna funcionó para mí. Después de investigar un poco, me topé con una pista para mover algunas aplicaciones de /data/appa /system/app. Eso liberó suficiente espacio para instalar nuevas aplicaciones y actualizar las existentes.

Puedo recomendar la utilidad gratuita SystemCleanup para mover las aplicaciones.

Florian Feldhaus
fuente
Tuve el mismo problema y SystemCleanup me ayudó. ¡Yo recomiendo!
Eran Egozi
1

Esta es la cosa más fácil de hacer. Ve a settings buscarlo storageo memorytócalo y búscalo cached data. tóquelo y borre sus datos desde allí. ¡¡¡SENCILLO!!!

Bhargav Modi
fuente
0

¿La aplicación necesariamente tiene que estar instalada en el almacenamiento interno? Si no está ejecutando ningún servicio, puede intentar instalarlo en el almacenamiento externo. Esto se puede hacer agregando el siguiente código en su manifiesto:

 manifest  
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:installLocation="preferExternal".....

Esto generalmente funciona en Android 2.2 y superior en la mayoría de los casos. Asegúrese de que su aplicación funcione correctamente si está instalada en el almacenamiento externo. Obtendrá una buena idea sobre qué tipo de aplicaciones se pueden instalar en el almacenamiento externo en la ubicación de instalación de la aplicación .

MMss
fuente
0

Cuando se trata de un dispositivo real, el comportamiento de los dispositivos parece diferente a un grupo diferente de dispositivos.

Parte de la extraña colección de la opinión que escuché de diferentes personas es:

  • Reinicia tu dispositivo después de desconectarlo
  • Eliminar algunas aplicaciones del dispositivo y liberar al menos 100 MB
  • Intenta instalar tu aplicación desde la línea de comandos, ./adb install ~Application_path
  • Mueva su aplicación al almacenamiento de la tarjeta SD o hágalo predeterminado en la tarjeta SD en el archivo de manifiesto de Android, android:installLocation="preferExternal"
  • Obtuviste mucha memoria adquiriendo cosas en la carpeta Raw que instala una copia en la memoria del teléfono mientras instalas un APK archivo y el dispositivo no tiene suficiente memoria para cargarlas
  • Rootee su dispositivo e instale una buena ROM que ayude a que el dispositivo sepa sobre su memoria restante.

¡Espero que uno de ellos sea relevante para ti! ;)

dharam
fuente
0

El sistema operativo reserva la mayor parte del espacio disponible. La mejor y más fácil solución es mover sus aplicaciones a un almacenamiento externo. Esto te liberará mucho espacio.

Riz
fuente
0

Algunas aplicaciones deben reiniciarse para instalarse por completo. Android solo dice que tiene memoria insuficiente por alguna razón, debería decir que necesita reiniciar para completar la instalación. Pruébelo: se instalará de forma completamente automática cuando reinicie.

Nota de la galaxia
fuente
0

Resolví este problema por mí mismo. Sin embargo, la memoria interna y SD mostraba mucho espacio libre. Era un problema con la memoria del teléfono, que estaba casi llena.

Por lo tanto, moví muchas de mis aplicaciones de la memoria del teléfono a la memoria interna, para liberar la memoria del teléfono: Configuración -> Almacenamiento -> Aplicaciones (en la sección de almacenamiento interno) -> pestaña Interna

Estos son los que no están marcados y que ocupan el espacio en la memoria del teléfono.

Haga clic en las aplicaciones (una por una) Haga clic en el botón: 'Mover a almacenamiento interno'.

Una vez que libere una cantidad considerable de espacio en la memoria del teléfono de esta manera, el error no debería aparecer.

Akhilesh Singh
fuente
0

Después de desinstalar algunas aplicaciones, puedo instalar la nueva ...

Creo que OS calcula la memoria total requerida para ejecutar todas las aplicaciones. Si no encaja, entonces dice "en memoria suficiente".

vkGunasekaran
fuente
0

Tuve el mismo problema en Galaxy S4 (i9505) en el stock ROM (4.2.2 ME2). Tenía espacio libre como este: 473 MB en adelante /data, 344 MB en adelante /system, 2 GB en adelante /cache. Recibía el error de dispersión gratuita en cualquier descarga desde Play Store (aplicación pequeña, 2.5 MB), verifiqué LogCat y decía "Cancelar descarga de ABC porque no hay suficiente espacio libre".

Luego liberé algo de espacio /data, 600 MB gratis, y ahora funciona bien, las aplicaciones se descargan e instalan;). Entonces parece que esta ROM necesita un poco más de espacio libre para funcionar OK ...

George Dima
fuente
0

Borrar la memoria caché de Google Play también lo ayudará ... Vaya a la página de información de la aplicación de Google Play y bórrelo.

Ashokchakravarthi Nagarajan
fuente
0

No encontré una solución gratuita que funcionara, pero encontré una solución: utilicé la versión no gratuita de la copia de seguridad de Titanium, hice clic en el botón de contexto y elegí verificar la memoria ocupada por las aplicaciones. Busque la aplicación de descarga y verá que tiene una cierta cantidad de espacio asignado a su caché. Borrar datos es la opción que desea.

Tony Gil
fuente
0

Recibí el mismo mensaje de error en caso de que el nombre del paquete fuera demasiado largo (> 128 caracteres). Solo usando un nombre más corto solucionó el problema.

reinra
fuente
0

Tenía más de 2 GB de espacio interno y, sin embargo, no pude instalar / actualizar aplicaciones desde Google Play ni manualmente.

Cualquiera sea la razón, limpiar mi partición de caché resolvió mi propósito.

Pasos: Recuperación -> Borrar partición de caché -> Reiniciar el sistema ahora

Saurabh
fuente
0

Si tiene root, elimine todas las carpetas en la ruta:

/data/app-lib/

Y luego reinicie su dispositivo.

Tuve este problema muchas veces, y esta solución funcionó para mí cada vez. Incluso tiene un hilo XDA .

Escribo todas las carpetas, porque si hay un problema con una aplicación, es muy probable que también tenga este problema con otras aplicaciones. Además, es molesto encontrar solo las carpetas de las aplicaciones problemáticas.

desarrollador de Android
fuente
0

Vaya a Configuración, Aplicaciones, Todo y desinstale Google Play Store. Esto lo reemplazará por la versión anterior y luego podrá descargarlo sin el "ERROR de almacenamiento insuficiente". Funciona para mí

Carlos AG
fuente
-1

Seguí teniendo este problema y limpié el caché de Dalvik con Titanium Backup. Necesitarás tener tu teléfono rooteado. Tan pronto como lo hice, pude actualizar Swiftkey y Beautiful Widgets.

acciocode
fuente