Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

zipalign

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

zipalign harus digunakan untuk mengoptimalkan file APK sebelum mendistribusikannya kepada pengguna akhir. Hal ini otomatis dilakukan jika Anda mem-build dengan Android Studio. Dokumentasi ini ditujukan untuk pengelola sistem build kustom.

Perhatian: Anda harus menggunakan zipalign pada salah satu dari dua titik tertentu dalam proses build aplikasi, bergantung pada alat penandatanganan aplikasi yang Anda gunakan:

  • Jika Anda menggunakan apksigner, zipalign hanya boleh dilakukan 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, zipalign hanya boleh dilakukan setelah file APK ditandatangani.

Penyelarasan ini dilakukan dengan mengubah ukuran kolom "extra" di bagian Local File Header zip. Data yang sudah ada di kolom "extra" dapat berubah akibat proses ini.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan zipalign saat membuat aplikasi, baca Menandatangani Aplikasi Anda.

Penggunaan

Jika APK berisi library bersama (file .so), Anda harus menggunakan -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, 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:

zipalign -c -v 4 existing.apk

Anda dapat menggunakan zipalign -h untuk melihat kumpulan lengkap tanda yang didukung.