Разница между app-debug.apk и app-debug-unaligned.АПК


в android studio с вариантом сборки, установленным в режим" debug", я нашел два выхода apk

  • app-debug.apk
  • app-debug-unaligned.apk

в чем разница между этими файлами?

2 108

2 ответа:

невыровненный apk - это просто промежуточный apk. Во-первых, генерируется невыровненный apk. Затем выровненный apk выравнивается и создает выровненный apk, который является приложением-отладкой.АПК. Вы можете прочитать об этом больше здесь.

Короткий Ответ:

app-debug-unaligned.apk = Unaligned Signed APK
app-debug.apk = выровненный подписанный APK (ОЗУ оптимизирован с помощью zipalign)


Ответ

чтобы понять разницу, нужно знать следующие моменты:

процесс подписания Приложения

  • создать закрытый ключ (keytool)
  • компилировать, чтобы получить беззнаковый APK - > unaligned unsigned APK
  • подписать приложение в режиме отладки / выпуска с помощью закрытого ключа (jarsigner) - > невыровненный подписанный APK
  • выровнять APK (zipalign) - > выровненный подписанный APK

весь процесс подписания пояснил здесь.

зачем нам промежуточный app-debug-unaligned.apk на всех?

на docs:

внимание: zipalign должен быть выполнен только после the .файл apk был подписано вашим закрытым ключом. Если вы выполняете zipalign до подписания, то процедура подписания отменить выравнивание.

в чем преимущество? zipalign?

преимущество заключается в том, что выровненные АПК оптимизированы для использования ОЗУ, поэтому они будут потреблять меньше ОЗУ в устройствах. Из docs:

zipalign является ли инструмент выравнивания архива, который предоставляет важные оптимизация под Android приложения (.apk) файлы. ....Преимущество заключается в уменьшение объема оперативной памяти, потребляемой при запуске приложения.