Різниця між app-debug.apk і app-debug-unaligned.apk


113

В андроїд-студії з варіантом збірки, встановленим в режимі "налагодження", я знайшов два виходи apk

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

Які відмінності між цими файлами?

Відповіді:


113

Незрівняний apk - це просто проміжний apk. По-перше, генерується неприєднаний apk. Потім нерівне apk вирівнюється і виробляє вирівняний apk, який є app-debug.apk. Більше про це можна прочитати тут .


75

Коротка відповідь:

app-debug-unaligned.apk= Неприєднаний підписаний APK
app-debug.apk= Вирівняний APK з підписанням (ОЗП оптимізовано за допомогою zipalign)


Довга відповідь

Щоб зрозуміти різницю, ми повинні знати наступні моменти:

Процес підписання програми

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

Весь процес підписання пояснюється тут .

Навіщо нам взагалі потрібний проміжний app-debug-unaligned.apk?

відповідно до документів :

Увага: zipalign потрібно виконувати лише після того, як файл .apk підписаний вашим приватним ключем. Якщо виконати zipalign перед підписанням, то процедура підписання скасує вирівнювання.

Яка перевага? zipalign?

Перевага полягає в тому, що вирівняні APK-файли оптимізовані для використання оперативної пам’яті, щоб вони споживали менше оперативної пам’яті на пристроях. З документів :

zipalign - це інструмент вирівнювання архіву, який забезпечує важливу оптимізацію файлів додатків Android (.apk). .... Перевага - це зменшення кількості оперативної пам’яті, спожитої під час роботи програми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.