Разница между app-debug.apk и app-debug-unaligned.apk
В студии android с вариантом сборки, установленным в режим "отладки", я нашел два выхода apk
приложение-debug.apk
приложение-отладки unaligned.apk
В чем разница между этими файлами?
Ответ 1
Невыраженный apk является просто промежуточным apk. Во-первых, генерируется неглавный apk. Затем невыровненный apk выравнивается и создает выровненный apk, который является app-debug.apk. Вы можете прочитать об этом более здесь.
Ответ 2
Краткий ответ:
app-debug-unaligned.apk= Unaligned Signed APK app-debug.apk= Выровненный подписанный APK (оперативная память оптимизирована с использованием zipalign)
Длинный ответ
Чтобы понять разницу, нам нужно знать следующие моменты:
Процесс подписания приложения
создать закрытый ключ (keytool)
скомпилировать, чтобы получить unsigned APK → unaligned unsigned APK
Подписать приложение в режиме отладки/выпуска с помощью закрытого ключа (jarsigner) → не подписанный APK
Предостережение: zipalign должен выполняться только после. подписанный вашим личным ключом. Если вы выполняете zipalign перед подписанием, то процедура подписания отменяет выравнивание.
В чем преимущество? zipalign?
Преимущество состоит в том, что согласованные APK оптимизированы для использования ОЗУ, поэтому они будут потреблять меньше ОЗУ в устройствах. Из docs:
zipalign - инструмент выравнивания архива, который обеспечивает важные оптимизация для приложений Android (.apk)..... Выгода - это сокращение объема оперативной памяти, потребляемой при запуске приложения.