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

zipalign

zipalign adalah alat penyelarasan arsip yang menyediakan pengoptimalan penting untuk file aplikasi Android (APK). Tujuannya adalah untuk memastikan bahwa semua data yang tidak dikompresi dimulai dengan penyelarasan tertentu yang relatif terhadap awal file. Secara khusus, hal ini menyebabkan semua data yang tidak dikompresi di dalam APK, seperti gambar atau file raw, diselaraskan pada batas 4 byte. Dengan cara ini, semua bagian akan dapat diakses langsung dengan mmap() meskipun bagian tersebut berisi data biner dengan pembatasan penyelarasan. Manfaatnya adalah pengurangan jumlah RAM yang terpakai saat menjalankan aplikasi.

Fitur ini harus selalu digunakan untuk menyelaraskan file APK Anda sebelum didistribusikan kepada pengguna akhir. Alat versi Android dapat menangani proses ini untuk Anda. Android Studio otomatis menyelaraskan APK Anda.

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.

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

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

Penggunaan

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

zipalign [-f] [-v] <alignment> infile.apk outfile.apk

Untuk mengonfirmasi penyelarasan existing.apk:

zipalign -c -v <alignment> existing.apk

<alignment> adalah bilangan bulat yang menentukan batas penyelarasan byte Nilainya harus selalu 4 (yang menyediakan penyelarasan 32 bit); jika tidak, Anda tidak akan dapat menggunakannya.

Flag:

  • -f : menimpa outfile.zip yang sudah ada
  • -v : output panjang
  • -p : outfile.zip harus menggunakan penyelarasan halaman yang sama untuk semua file objek bersama di dalam infile.zip
  • -c : mengonfirmasi penyelarasan file tertentu