zipalign

zipalign adalah alat penyelarasan file ZIP yang membantu memastikan bahwa semua file yang tidak dikompresi dalam arsip diselaraskan secara relatif terhadap awal file. Hal ini memungkinkan file diakses secara langsung melalui mmap(2) , sehingga Anda tidak perlu menyalin data ini dalam RAM dan mengurangi penggunaan memori aplikasi.

Gunakan zipalign untuk mengoptimalkan file APK sebelum mendistribusikannya kepada pengguna akhir. Jika Anda mem-build menggunakan Android Studio, yang menggunakan plugin Android Gradle (AGP), proses ini akan otomatis dilakukan. Dalam hal ini, Anda masih harus menggunakan zipalign untuk memverifikasi bahwa APK sudah sesuai, tetapi Anda tidak perlu menyesuaikannya. Dokumentasi ini terutama ditujukan untuk pengelola sistem build kustom.

Perhatian: Anda harus menggunakan zipalign pada titik tertentu dalam proses build. Titik tersebut bergantung pada alat penandatanganan aplikasi yang Anda gunakan:

  • Jika Anda menggunakan apksigner, zipalign harus digunakan sebelum file APK ditandatangani. Jika Anda menandatangani APK menggunakan apksigner dan membuat perubahan lebih lanjut pada APK, tanda tangannya menjadi tidak valid.
  • Jika Anda menggunakan jarsigner (tidak direkomendasikan), zipalign harus digunakan setelah file APK ditandatangani.

Untuk melakukan penyelarasan, zipalign akan mengubah ukuran kolom "extra" di bagian Header File Lokal zip. Proses ini juga dapat mengubah data yang ada di kolom "extra".

Penggunaan

Jika APK berisi library bersama (file .so), gunakan -p untuk memastikan bahwa library tersebut selaras dengan batas halaman 4KiB yang sesuai untuk mmap(2). Untuk file lain yang penyelarasannya ditentukan oleh argumen penyelarasan wajib terhadap zipalign, Android Studio akan menyelaraskan terhadap 4 byte pada sistem 32-bit dan 64-bit.

Untuk menyelaraskan infile.apk dan menyimpannya sebagai outfile.apk:

zipalign -p -f -v 4 infile.apk outfile.apk

Untuk mengonfirmasi penyelarasan existing.apk, gunakan perintah berikut. Jika Anda menggunakan Android Studio atau AGP untuk mem-build, ini adalah perintah yang harus digunakan untuk memverifikasi bahwa APK Anda sudah selaras.

zipalign -c -v 4 existing.apk

Opsi

Tabel berikut mencantumkan opsi zipalign yang tersedia:

Opsi Deskripsi
-c Hanya memeriksa penyelarasan (tidak mengubah file).
-f Menimpa file output yang ada.
-h Menampilkan bantuan alat.
-p Menyelaraskan halaman file .so yang tidak dikompresi.
-v Membuat output panjang.
-z Mengompresi ulang menggunakan Zopfli.