La mayoría de apk de tener un /lib dir interior con .de modo que los archivos pueden ser de varios megabytes. Algunos incluso vienen cargados con las libs para diferentes arquitecturas (arm, mips, 86). Libs de arco se copian en /data/app-lib/[package name]
en el momento de la instalación, por lo que tomar el doble de espacio.
Traté de tira de la apk de /carpeta lib, reescribir, zipalign
y volver a instalar la ubicación de /data/app
o /system/app
o /system/priv-app
para recuperar algo de espacio.
Probé con Chrome v78, que pasó de 45 mb apk a 15 mb... Otras aplicaciones también. Todo parece que funciona.
Alguien piensa que es una mala idea? IMO el mismo Android sistema debe realizar esta operación de forma predeterminada en el momento de instalar...
edición 13 de Nov
Escribí un script para automatizar la tira de funcionamiento, sólo tiene que copiar el apk a la tira en un dir en el que este script se encuentra, junto con zip
y zipalign
binarios.
#!/system/bin/sh
for filename in `find . -name '*.apk'`
do
./zip -d $filename "lib/*"
./zipalign -fv 4 $filename $filename.new|tail
mv $filename.new $filename
chmod 644 $filename
done;
En mi dispositivo me puede intercambiar original con despojado apks sobre la marcha y ellos (por lo general) se ejecuta bien, sin necesidad de reiniciar, incluso aplicaciones del sistema.