Diferencia entre app-debug.apk y app-debug-unaligned.apk
En el estudio de Android con la variante de construcción configurado para "depurar" modo, he encontrado dos salidas de apk
- App-debug.apk
- App-debug-unaligned.apk
¿Cuáles son las diferencias entre esos archivos?
- "La conversión al formato Dalvik falló con error 1" - sólo en exportación
- Cómo construir un archivo .apk desde la línea de comandos de Windows?
- No pudo encontrar el error * .apk
- Las sumas de comprobación MD5 de los archivos APK de Android difieren. ¿Por qué?
- Cómo deshabilitar los registros de las API externas en Android
- Acceso a temas / estilos / attrs de forma programática en android
- Creación de archivo APK de Android en línea formulario de sitio PHP
- Android instala apk sin pedir permiso de usuario
- Nombre de archivo de Android Market y APK
- ¿Cómo instalar apk con odex al emulador?
- ¿Cómo puedo tener diferentes archivos de manifiesto para las versiones de lanzamiento y depuración?
- Cómo salir de APK de shell
- Error en la instalación de la aplicación: INSTALL_FAILED_VERIFICATION_FAILURE
El apk no alineado es sólo un apk intermedio. En primer lugar, se genera el apk no alineado. Entonces, el apk no alineado se alineó y produce el apk alineado que es el app-debug.apk. Puedes leer más sobre esto aquí .
Respuesta corta:
app-debug-unaligned.apk
unaligned.apk = Unaligned Signed APK
app-debug.apk
= Alineado Firmado APK (RAM optimizada usando zipalign)
Respuesta larga
Para entender la diferencia necesitamos conocer los siguientes puntos:
Proceso de firma de la aplicación
- Generar una clave privada (keytool)
- Compilar para obtener el unsigned APK -> unaligned unsigned APK
- Firmar la aplicación en el modo de depuración / liberación usando la clave privada (jarsigner) -> unkigned firmado APK
- Alinee el APK firmado con APK (zipalign) -> alineado
Aquí se explica todo el proceso de firma.
¿Por qué necesitamos la app-debug-unaligned.apk
intermedia app-debug-unaligned.apk
?
Según los documentos :
Precaución: zipalign sólo se debe realizar después de que el archivo .apk se ha firmado con su clave privada. Si realiza zipalign antes de firmar, el procedimiento de firma deshará la alineación.
¿Cuál es la ventaja? Zipalign
La ventaja es que los APK alineados se optimizan para el uso de RAM, por lo que consumirán menos RAM en los dispositivos. De los documentos :
Zipalign es una herramienta de alineación de archivos que proporciona una optimización importante a los archivos de aplicación de Android (.apk). …. El beneficio es una reducción en la cantidad de RAM consumida al ejecutar la aplicación.