¿Por qué se necesita apk no alineado?

151

Android Gradle produce apk en dos binarios: sin alinear y alineado.

El documento decía ...

Una vez que haya firmado el APK con su clave privada, ejecute zipalign en el archivo. Esta herramienta garantiza que todos los datos sin comprimir comiencen con una alineación de bytes particular, en relación con el inicio del archivo. Asegurar la alineación en los límites de 4 bytes proporciona una optimización del rendimiento cuando se instala en un dispositivo. Cuando está alineado, el sistema Android puede leer archivos con mmap (), incluso si contienen datos binarios con restricciones de alineación, en lugar de copiar todos los datos del paquete. El beneficio es una reducción en la cantidad de RAM consumida por la aplicación en ejecución.

Parece que se recomienda encarecidamente distribuir apk apk alineado. Para mí, solo uso apk alineado como producto resultante e ignoro el apk no alineado .

¿El apk no alineado tiene algún uso especial durante el desarrollo?

Youngjae
fuente

Respuestas:

197

Es un proceso de dos pasos. El apk no alineado es solo un producto intermedio.

  1. se genera el apk no alineado
  2. el no alineado se alinea y produce el apk alineado
flx
fuente
3
Gracias por la rápida respuesta. Entonces, ¿podemos decir que el apk no alineado es solo una cosa interina?
Youngjae
1
Correcto. Algunos IDE lo producen como producto final para la compilación de depuración para acelerar el proceso de compilación.
flx
2
Cómo desalinear el archivo apk ayuda a depurar la aplicación? Gracias :)
hqt
11
No, no lo hace. es básicamente el mismo contenido que el archivo zip alineado, solo que los límites del archivo no están alineados con bloques 4b.
flx
49

Se necesita el APK no alineado (firmado) porque firmar un apk alineado deshacerá la alineación.

De los documentos :

Precaución: zipalign solo debe realizarse después de que el archivo .apk se haya firmado con su clave privada. Si realiza zipalign antes de firmar, el procedimiento de firma deshará la alineación.

Vea esta respuesta para más. Aquí está el proceso de construcción detallado: ingrese la descripción de la imagen aquí

SMR
fuente