Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

zipalign

La herramienta de alineación de archivos zipalign permite optimizar en gran medida los archivos de aplicaciones para Android (APK). Tiene como objetivo garantizar que todos los datos sin comprimir comiencen con una alineación determinada en relación con el inicio del archivo. Específicamente, hace que todos los datos sin comprimir dentro del APK, como imágenes o archivos sin formato, se alineen en límites de 4 bytes. De esta manera, puedes acceder a todas las partes directamente con mmap(), incluso si estas contienen datos binarios con restricciones de alineación. El beneficio es una reducción en la cantidad de RAM que se consume al ejecutar la aplicación.

Esta herramienta debería usarse siempre para alinear tu archivo APK antes de distribuirlo a los usuarios finales. Las herramientas de compilación de Android pueden hacerlo por ti. Android Studio alinea automáticamente tu APK.

Precaución: Debes usar zipalign en uno de los dos puntos específicos del proceso de compilación de apps, según la herramienta de firma de apps que utilices.

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

El ajuste se realiza mediante la modificación del tamaño del campo "extra" en las secciones del encabezado del archivo local ZIP. Este proceso puede cambiar los datos existentes en los campos "extra".

Para obtener más información sobre cómo usar zipalign al compilar tu aplicación, lee Cómo firmar tu aplicación.

Uso

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

zipalign [-f] [-v] <alignment> infile.apk outfile.apk

Para confirmar la alineación del apk existing.apk:

zipalign -c -v <alignment> existing.apk

<alignment> es un número entero que define los límites de alineación de bytes. Siempre debe ser 4 (que proporciona una alineación de 32 bits) o, de lo contrario, no resultará eficaz.

Marcas:

  • -f: Sobrescribe el archivo outfile.zip existente.
  • -v: Muestra un resultado detallado.
  • -p: El archivo outfile.zip debería usar la misma alineación de página para todos los archivos de objetos compartidos dentro de infile.zip.
  • -c: Confirma la alineación del archivo correspondiente.