zipalign

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

zipalign es una herramienta de alineación de archivos ZIP que ayuda a garantizar que todos los archivos sin comprimir del archivo estén alineados con respecto a su inicio. Esto permite acceder a los archivos directamente a través de mmap(2) , lo que quita la necesidad de copiar estos datos en la memoria RAM y reducir el uso de memoria de tu app.

Usa zipalign para optimizar tu archivo APK antes de distribuirlo a los usuarios finales. Si compilas con Android Studio, esto se hace automáticamente. Esta documentación es para quienes sigan usando los sistemas de compilaciones personalizados.

Precaución: Debes usar zipalign en un punto específico del proceso de compilación. Este depende de la herramienta de firma de apps que uses:

  • Si usas apksigner, debes usar zipalign antes de que se firme el archivo APK. Si firmas tu APK con apksigner y realizas más cambios en el APK, tu firma se invalida.
  • Si usas jarsigner, debes usar zipalign después de que se firme el archivo APK.

Para lograr la alineación, zipalign altera el tamaño del campo "extra" en las secciones del encabezado de archivo local. Este proceso también puede modificar los datos existentes en los campos "extra".

Uso

Si tu APK contiene bibliotecas compartidas (archivos .so), usa el elemento -p para asegurarte de que estén alineados con un límite de tamaño de página de 4 KiB, adecuado para mmap(2). En el caso de otros archivos cuya alineación está determinada por el argumento de alineación obligatorio con zipalign, Android Studio se alinea con 4 bytes en sistemas de 32 y 64 bits.

Para alinear infile.apk y guardarlo como outfile.apk:

zipalign -p -f -v 4 infile.apk outfile.apk

Para confirmar la alineación de existing.apk:

zipalign -c -v 4 existing.apk

Opciones

En la siguiente tabla, se enumeran las opciones de zipalign disponibles:

Opción Descripción
-c Solo comprueba la alineación (no modifica el archivo).
-f Reemplaza el archivo de salida existente.
-h Muestra la ayuda de la herramienta.
-p Alinea archivos .so sin comprimir con la página.
-v Muestra un resultado detallado.
-z Vuelve a comprimir con Zopfli.