Perbedaan antara app-debug.apk dan app-debug-unaligned.apk

113

Di studio android dengan varian build yang disetel ke mode "debug", saya menemukan dua keluaran apk

  • app-debug.apk
  • app-debug-unaligned.apk

Apa perbedaan antara file-file tersebut?

Khaled Saif
sumber

Jawaban:

113

APK yang tidak selaras hanyalah apk perantara. Pertama, apk yang tidak selaras dibuat. Kemudian, apk yang tidak selaras akan diselaraskan dan menghasilkan apk selaras yang merupakan app-debug.apk. Anda dapat membaca lebih lanjut di sini .

Bidhan
sumber
75

Jawaban singkat:

app-debug-unaligned.apk= Unaligned Signed APK
app-debug.apk= Aligned Signed APK (RAM dioptimalkan menggunakan zipalign)


Jawaban panjang

Untuk memahami perbedaannya kita perlu mengetahui poin-poin berikut:

Proses penandatanganan aplikasi

  • menghasilkan kunci pribadi (keytool)
  • compile untuk mendapatkan APK unsigned -> unsaligned unsigned APK
  • Masuk aplikasi dalam mode debug / rilis menggunakan kunci pribadi (jarsigner) -> APK bertanda tangan tidak selaras
  • menyelaraskan APK (zipalign) -> APK bertanda tangan sejajar

Seluruh proses penandatanganan dijelaskan di sini .

Mengapa kita membutuhkan perantara app-debug-unaligned.apk?

sesuai dokumen :

Perhatian: zipalign hanya boleh dilakukan setelah file .apk ditandatangani dengan kunci pribadi Anda. Jika Anda melakukan zipalign sebelum menandatangani, maka prosedur penandatanganan akan membatalkan perataan.

Apa keuntungannya? zipalign?

Keuntungannya adalah APK yang diselaraskan dioptimalkan untuk penggunaan RAM sehingga mereka akan mengonsumsi lebih sedikit RAM di perangkat. Dari dokumen :

zipalign adalah alat penyelarasan arsip yang memberikan pengoptimalan penting untuk file aplikasi Android (.apk). .... Manfaatnya adalah pengurangan jumlah RAM yang dikonsumsi saat menjalankan aplikasi.

SMR
sumber