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?

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.

  • ¿Cómo usar Eclipse para crear firmado apk firmado?
  • Encuentra el número de versión y el código de versión de apk generado por android studio
  • ¿Cuál es la diferencia entre la clase -weep y -dontwarn
  • Android: ¿Cómo obtener el nombre de archivo del instalador mediante programación?
  • Instalar apk manualmente en el dispositivo: error 103
  • ¿Cómo incluir la cadena de versión en el nombre de archivo al crear Android apk con hormiga?
  • "Salida de escritura de problemas: Demasiadas referencias de campo: 70185; Max es 65536. Puede intentar usar la opción --multi-dex "al crear un proyecto de Android
  • Que apk se ejecuta en el dispositivo Android iónico
  • Recibo sólo app-release-unaligned.apk cuando presiono generar firmado apk
  • Soporte múltiple de apk para Android TV y teléfono
  • Android APK construido desde el estudio de Android y la consola tienen diferentes huellas digitales SHA
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.