Si eres un fanático de Android, las posibilidades sonseguro de que probará ansiosamente nuevos temas, ROM personalizados y todas esas modificaciones para su dispositivo. Uno de los principales puntos de confusión es la terminología asociada con estos mods, algo bastante familiar para los desarrolladores, pero no demasiado para el usuario novato. Dos de las palabras más comunes en las ROM y los temas personalizados son "desodexado" y "zipalign". Hace unos días, cubrimos "desdexado" en detalle. En este artículo, exploraremos que significa zipalign y Cómo se pueden zipaligar los APK.

¿Qué es ZIPALIGN?
zipalign es una herramienta de alineación de archivo introducidaprimera vez con 1.6 Android SDK (kit de desarrollo de software). Optimiza la forma en que se empaqueta un paquete de aplicación de Android (APK). Al hacerlo, el sistema operativo Android puede interactuar con la aplicación de manera más eficiente y, por lo tanto, tiene el potencial de hacer que la aplicación y, en general, todo el sistema sean mucho más rápidos. El tiempo de ejecución se minimiza para las aplicaciones zipaligned, lo que resulta en una menor cantidad de consumo de RAM al ejecutar el APK.
Entonces, ¿cómo funciona exactamente?
En un entorno operativo Android, archivos de datosmúltiples procesos acceden a cada paquete de aplicación, por ejemplo, el instalador leerá el manifiesto de datos para determinar los permisos asociados; el servidor del sistema puede leer estos recursos por múltiples razones, como mostrar notificaciones; la aplicación Inicio, por ejemplo, leerá recursos para obtener el nombre y el ícono de la aplicación. Dado que Android se basa en una verdadera infraestructura operativa multitarea, se accede a estos archivos de forma continua y repetida. Finalmente, pero no menos importante, la aplicación misma lee los datos del manifiesto.
Como Android está basado en Linux, el mapeo de memoria juega un papelpapel clave en el manejo eficiente de procesos. Esencialmente, la alineación óptima para el código de manejo de recursos del sistema operativo Android son los límites de 4 bytes. Lo que esto significa es que, si los APK se asignan en memoria a límites de 4 bytes y se alinean en consecuencia, el sistema operativo no necesitará "leer" todo el paquete de la aplicación para llegar al manifiesto de datos deseado. Todos los procesos del sistema sabrán de antemano dónde buscar los recursos deseados y, por lo tanto, se ejecutarán de manera mucho más fluida y fluida.
Resumiendo, zipaligning un APK resulta en todoslos datos sin comprimir dentro del paquete se alinearán en límites de 4 bytes, lo que permite acceder a todas las porciones directamente con el mapa de memoria. El consumo de RAM se reduce durante la ejecución porque el código de consulta no tiene que leer todo el paquete de la aplicación.
DESVENTAJAS DE APK NO ALINEADOS
Muy comprensiblemente, la situación estaría reservadapara paquetes de aplicaciones no alineadas. La lectura de recursos sería lenta y el uso de memoria estaría en el extremo superior del espectro. También dependería de cuántas aplicaciones no alineadas estén presentes. Por ejemplo, si hay menos aplicaciones con una aplicación de inicio no alineada, verá tiempos de inicio de aplicación más lentos. Este es el mejor de los casos. Para el peor de los casos, tener una serie de aplicaciones no alineadas dará como resultado que el sistema inicie y elimine procesos repetidamente, luchando con retrasos y una gran descarga de batería.
¿CÓMO LO HACES ENTONCES?
Como se mencionó anteriormente, la herramienta zipalign se convirtió en una parte del SDK de Android desde 1.6 en adelante. Se puede encontrar en la carpeta "herramientas" del SDK. Para usarlo, simplemente ejecute el comando:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
dónde infile.apk es el archivo fuente y outfile.apk es el archivo de salida.
Además, también puede verificar la alineación de un archivo APK con el siguiente comando:
zipalign -c -v <alignment> existing.apk
dónde existing.apk puede ser cualquier paquete de aplicación que necesite verificar. También el <alineación> etiqueta en ambos comandos debe ser una integralvalor (de lo contrario, el comando devolverá no válido). Este valor, aunque puede ser cualquier número entero, DEBE ser siempre 4, lo que proporcionaría una alineación de 32 bits. Cualquier otro valor y efectivamente no hará nada.
Finalmente, para las banderas usadas en estos comandos,
- -F : sobrescribe outfile.zip existente
- -v : dará salida detallada
- -C : confirmará la alineación de un archivo dado
PALABRA DE PRECAUCIÓN: la operación zipalign solo debe realizarse después has firmado el archivo APK con tu privadollave. Si está activado antes de firmar, el procedimiento de firma alterará la alineación. Lo mismo es válido para cualquier otra alteración, adición o eliminación del archivo APK. Cualquier cambio después de ejecutar zipalign deshacerá la alineación.
Descargo de responsabilidad: Esta guía es solo para fines educativos. Esto de ninguna manera es un sustituto del kit de herramientas para desarrolladores de Android, ni está destinado a ser utilizado con fines de desarrollo. AddictiveTips no proporciona ningún soporte relacionado con el material presentado en este documento.
Comentarios