zipalign — это инструмент выравнивания zip-архивов, который помогает гарантировать, что все несжатые файлы в архиве выровнены относительно начала файла. Это позволяет получать доступ к файлам напрямую через mmap(2) , устраняя необходимость копировать эти данные в ОЗУ и уменьшая использование памяти вашим приложением.
 Используйте zipalign , чтобы оптимизировать APK-файл перед его распространением конечным пользователям. Если вы выполняете сборку с помощью Android Studio, которая использует плагин Android Gradle (AGP), это делается автоматически. В этом случае вам все равно следует использовать zipalign чтобы убедиться, что APK выровнен, но вам не нужно его выравнивать. Эта документация предназначена в основном для сопровождающих пользовательских систем сборки.
 Внимание: вы должны использовать zipalign на определенном этапе процесса сборки. Этот момент зависит от того, какой инструмент подписи приложений вы используете:
-  Если вы используете apksigner,zipalignнеобходимо использовать до подписания APK-файла. Если вы подпишете свой APK с помощьюapksignerи внесете в него дальнейшие изменения, его подпись станет недействительной.
-  Если вы используете jarsigner(не рекомендуется),zipalignнеобходимо использовать после подписания APK-файла.
 Чтобы добиться выравнивания, zipalign изменяет размер "extra" поля в разделах заголовка локального файла zip. Этот процесс также может изменить существующие данные в "extra" полях.
Использование
 Если ваш APK содержит общие библиотеки (файлы .so ), используйте -P 16 , чтобы убедиться, что они выровнены по границе страницы размером 16 КБ, подходящей для mmap(2) как на устройствах 16 КБ, так и на 4 КБ. Другие файлы, выравнивание которых определяется обязательным аргументом выравнивания zipalign , должны быть выровнены по 4 байтам как в 32-битных, так и в 64-битных системах.
 Чтобы выровнять infile.apk и сохранить его как outfile.apk :
zipalign -P 16 -f -v 4 infile.apk outfile.apk
 Чтобы подтвердить выравнивание existing.apk , используйте следующую команду.
zipalign -c -P 16 -v 4 existing.apk
Параметры
 В следующей таблице перечислены доступные параметры zipalign :
| Вариант | Описание | 
|---|---|
| -с | Проверяет только выравнивание (не изменяет файл). | 
| -ф | Перезаписывает существующий выходной файл. | 
| -час | Отображает справку по инструменту. | 
| -P <размер_страницы_кб> | выравнивает несжатые файлы .soпо указанному размеру страницы в КиБ. Допустимые параметры для<pagesize_kb>: 4, 16 и 64. | 
| -п | 4 КБ выравнивает страницы несжатых файлов .so. Вместо этого рекомендуется использовать-P 16, поскольку-pустарел. | 
| -v | Подробный вывод. | 
| -з | Повторно сжимает с помощью Zopfli. | 
