Ответ 1
Это двухэтапный процесс. Невыраженный apk является всего лишь промежуточным продуктом.
- генерируется невыровненный apk
- unaligned выравнивается и создает выровненный apk
Android gradle создает apk в двух двоичных файлах: не выравнивается и выравнивается.
сказал...
Как только вы подписали APK с вашим личным ключом, запустите zipalign в файле. Этот инструмент гарантирует, что все несжатые данные начинаются с определенного выравнивания байтов относительно начала файла. Обеспечение выравнивания по 4-байтным границам обеспечивает оптимизацию производительности при установке на устройство. При выравнивании система Android может считывать файлы с помощью mmap(), даже если они содержат двоичные данные с ограничениями выравнивания, а не копирование всех данных из пакета. Преимуществом является сокращение объема оперативной памяти, потребляемой запущенным приложением.
Похоже, что выровненный apk настоятельно рекомендуется распространять. Для меня я использую только выровненный apk в качестве результата продукта и игнорирую unaligned apk.
Использует ли unlaligned apk какое-либо специальное использование во время разработки?
Это двухэтапный процесс. Невыраженный apk является всего лишь промежуточным продуктом.
Неподписанный (подписанный) APK необходим, потому что подписание выравниваемого apk отменяет выравнивание.
Из docs:
Предостережение: zipalign должен выполняться только после. подписанный вашим личным ключом. Если вы выполняете zipalign перед подписанием, то процедура подписания отменяет выравнивание.
Подробнее см. этот ответ. Здесь - это подробный процесс сборки: