almacenamiento insuficiente - df - ¿condiciones suficientes?

Sé que hay muchas preguntas sobre el almacenamiento insuficiente, ¡pero hasta ahora no hay una respuesta real! En particular sobre /data/app, que tiene mucho espacio en mi caso. Entonces, ¿por qué no puedo instalar ninguna aplicación nueva? ¿Cuáles son las condiciones precisas que hacen que la instalación falle? (No quiero trucos como borrar caché o /datos/aplicación, que están bien en mi caso..., pero estoy más interesado en una respuesta de desarrollo sobre cómo procede el proceso de instalación)

Gracias !

shell@wiko:/ $ df
Filesystem               Size     Used     Free   Blksize
/dev                   235.3M   128.0K   235.2M   4096
/sys/fs/cgroup         235.3M    12.0K   235.3M   4096
/mnt/secure            235.3M     0.0K   235.3M   4096
/mnt/asec              235.3M     0.0K   235.3M   4096
/mnt/obb               235.3M     0.0K   235.3M   4096
/system                787.4M   687.4M   100.0M   4096
/data                    2.5G     1.0G     1.5G   4096
/cache                 221.5M     4.1M   217.3M   4096
/protect_f               8.8M     4.1M     4.8M   4096
/protect_s               8.8M     4.0M     4.8M   4096
/storage/sdcard0         2.3G     1.0G     1.3G   4096

logcat da:

I/PackageManager(  672): Apk copy done
I/PackageManager(  672): Checking for more work or unbind...
I/PackageManager(  672): Posting delayed MCS_UNBIND
V/PackageManager(  672): + starting restore round-trip 16
V/PackageManager(  672): No restore - queue post-install for 16
V/PackageManager(  672): Handling post-install for 16
V/Provider/Settings(  672): get setting for user 0 by user 0 so skipping cache
V/Provider/Settings(  672):  from settings cache , name = sys_free_storage_log_interval , value = null
V/Provider/Settings(  672): get setting for user 0 by user 0 so skipping cache
V/Provider/Settings(  672):  from settings cache , name = disk_free_change_reporting_threshold , value = null
D/dalvikvm(  672): GC_EXPLICIT freed 579K (8856), 21% free 15405K/19324K, paused 5ms+10ms, total 125ms
I/Finsky  (14148): [15066] com.google.android.finsky.packagemanager.impl.h.a(9): Package install status for fr.smoney.android.izly.REC is -4
W/Finsky  (14148): [1] com.google.android.finsky.installer.a.aa.a(37): Install failure of fr.smoney.android.izly.REC: -4, Exception: n/a
¿Ya ha consultado nuestra wiki de etiquetas de memoria insuficiente para encontrar soluciones conocidas? ¿Y verificó las preguntas "relacionadas" que se muestran junto a las suyas, como "Almacenamiento insuficiente" al intentar instalar una nueva aplicación ? Además, echar un vistazo a nuestras preguntas más frecuentes sobre este tema puede darte algunas pistas.
@Izzi Gracias por reformatear y los enlaces. Sí, he revisado la mayoría de estos enlaces, pero solo dan respuestas a nivel de usuario que claramente no se aplican en mi caso (como 25 MB o 10% de límite), o consejos para liberar memoria, pero nada útil para mí: ninguno pistas "conscientes del desarrollador" sobre el proceso de instalación real que pueden ayudarme a comprender... ¡Como si nadie supiera realmente cómo funciona realmente este proceso de instalación, en los detalles! Realmente apreciaría evitar tener que profundizar en el código de Android para entenderlo ;-) esperando que alguien más ya lo haya hecho...
Hilo relacionado en XDA . Si desea probar ese enfoque, supongo que todo lo que hace LP es lo que también puede lograr usando pm set-install-location 1(0 = automático, 1 = interno, 2 = tarjeta SD).
@ xtof54 ¡De nada por reformatear! #D
@Izzy gracias por el enlace XDA; ¡Lo he probado y este pequeño truco realmente funciona! Después de pensarlo un poco, tiene sentido, porque solía tener una tarjeta SD que se volvió loca y la quité, así que supongo que Android siempre intentaba instalarse en la tarjeta SD, aunque ya no hay ninguna :-/ Por favor, escríbalo como respuesta real y la etiquetaré como resuelta. Muchas gracias !
¡Oh! Eso podría explicar, especialmente si lo configuró para preferir esa tarjeta ( 2en mi respuesta). Puede verificar eso configurando 0nuevamente (automático) y ver si eso funciona también. Por favor, hágamelo saber entonces, para actualizar mi respuesta.

Respuestas (1)

Hay un hilo relacionado en XDA que describe una solución alternativa. Adaptándolo un poco para que no necesites esa "herramienta específica" (LP):

  1. Establezca la ubicación de instalación explícitamente en el almacenamiento interno:

    pm set-install-location 1 # (0=auto (default), 1=internal, 2=SDCard)
    
  2. Borrar la configuración de Play Store

Ahora su instalación debería realizarse.

Como muestra el comentario en la línea de código, de forma predeterminada, Android está configurado para elegir automáticamente el almacenamiento al que debe ir la instalación. Parece que algo está mal en esa evaluación. Entonces, al hacer explícito su deseo, se omite esa rutina de "evaluación automática" y, por lo tanto, se evita el error. Si eso es lo que está detrás del problema, también debería funcionar configurando su almacenamiento preferido en 2(SDCard) si lo prefiere.

Al leer su comentario, el culpable podría haber sido un poco diferente al menos en su caso: si hubiera configurado la ubicación de instalación 2y luego retirado la tarjeta, está bastante claro por qué hay "almacenamiento insuficiente" en la ranura vacía :)