Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'adsenseib30_textInHome' not found in /home/eoomhfbu/public_html/wp-includes/class-wp-hook.php on line 307

¿Qué es Zipalign en Android y cómo hacer aplicaciones Zipaligned?

Si eres un fanático de Android, es muy probable que estés probando con entusiasmo nuevos temas, ROM personalizadas y todas esas modificaciones para tu 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 ROM y temas personalizados son «deodexed» y «zipalign». Hace unos días, cubrimos ‘deodexed’ en detalle. En este artículo, exploraremos que significa zipalign y cómo se pueden vincular los APK.

¿QUÉ ES ZIPALIGN?

zipalign es una herramienta de alineación de archivos introducida por primera vez con 1.6 Android SDK (kit de desarrollo de software). Optimiza la forma en que se empaqueta un paquete de aplicaciones de Android (APK). Hacerlo permite que el sistema operativo Android interactúe 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 alineadas con zipa, lo que resulta en una menor cantidad de consumo de RAM cuando se ejecuta el APK.

¿CÓMO FUNCIONA EXACTAMENTE?

En un entorno operativo Android, múltiples procesos acceden a los archivos de datos almacenados en 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 varias razones, como mostrar notificaciones; la aplicación Inicio, por ejemplo, leerá recursos para obtener el nombre y el icono 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 propia aplicación lee los datos del manifiesto.

Como Android está basado en Linux, el mapeo de memoria juega un papel clave en el manejo eficiente de los procesos. Básicamente, 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. Cada proceso del sistema sabrá de antemano dónde buscar los recursos deseados y, por lo tanto, se ejecutará de manera mucho más fluida y rápida.

En resumen, zipaligning un APK da como resultado que todos los datos sin comprimir dentro del paquete se alineen en límites de 4 bytes, lo que permite acceder a todas las partes 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 LOS APK NO ALINEADOS

Es comprensible que la situación esté reservada para paquetes de aplicaciones no alineados. La lectura de recursos sería lenta y el uso de la 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 doméstica no alineada, vería tiempos de inicio de aplicaciones más lentos. Este es el mejor de los casos. En el peor de los casos, tener varias aplicaciones no alineadas hará que el sistema inicie y elimine procesos repetidamente, luchando con retrasos y un gran consumo de batería.

¿CÓMO SE HACE ENTONCES?

Como se mencionó anteriormente, la herramienta zipalign se convirtió en 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 usando el siguiente comando:

zipalign -c -v <alignment> existing.apk

dónde existente.apk puede ser cualquier paquete de aplicación que necesite verificar. También el La etiqueta en ambos comandos debe ser un valor integral (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 utilizadas en estos comandos,

  • -F : sobrescribe el archivo outfile.zip existente
  • -v : dará una salida detallada
  • -C : confirmará la alineación de un archivo dado

PALABRA DE PRECAUCIÓN: La operación zipalign solo debe realizarse después ha firmado el archivo APK con su clave privada. Si está alineado 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 deshará la alineación.

Descargo de responsabilidad: Esta guía está destinada únicamente a 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 apoyo relacionado con el material presentado en este documento.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.