zipalign

zipalign, sıkıştırılmamış tüm dosyaların otomatik olarak arşivde dosyanın başına göre hizalanır. Bu sayede dosyalara doğrudan mmap(2) , bu verileri RAM'de kopyalama ihtiyacını ortadan kaldırır ve uygulamanızın bellek kullanımını azaltır.

APK dosyanızı şu kullanıcılara dağıtmadan önce optimize etmek için zipalign kullanın: son kullanıcılara ulaşabilirsiniz. Android Gradle eklentisini (AGP) kullanan Android Studio kullanarak derliyorsanız otomatik olarak yapılır. Bu durumda, APK'nın mevcut olduğunu doğrulamak için zipalign yönergesini kullanmaya devam etmeniz gerekir hizalanır, ancak bunu hizalamanız gerekmez. Bu belge temel olarak proje yöneticilerinin geliştirmenizi sağlar.

Dikkat: zipalign web sitesini belirli bir noktada kullanmanız gerekir. bahsedeceğim. Bu nokta, hangi uygulama imzalama aracını kullandığınıza bağlıdır:

  • apksigner kullanıyorsanız zipalign APK dosyası imzalanmadan önce kullanılmalıdır. Sözleşmeyi apksigner kullanan APK ve APK'da başka değişiklikler yaparsanız imza geçersiz hale gelir.
  • jarsigner kullanıyorsanız (önerilmez), zipalign, APK dosyası aşağıdaki işlemler yapıldıktan sonra kullanılmalıdır: imzalandı.

zipalign, hizalamayı sağlamak için zip Local File Header (Yerel Dosya Başlığı) içindeki "extra" alanının boyutunu değiştirir. bölümlerini kontrol edin. Bu işlem, "extra" alanlarındaki mevcut verileri de değiştirebilir.

Kullanım

APK'nız paylaşılan kitaplıklar (.so dosya) içeriyorsa -P 16 kullanın mmap(2) için uygun bir 16 KiB sayfa sınırıyla hizalandıklarından emin olun. 16 KiB ve 4KiB cihazlarda kullanılabilir. Hizalama, zipalign için zorunlu hizalama bağımsız değişkeni, 4 bayt olarak hizalanmalıdır hem 32 bit hem de 64 bit sistemlerde kullanılabilir.

infile.apk öğesini hizalayıp outfile.apk olarak kaydetmek için:

zipalign -P 16 -f -v 4 infile.apk outfile.apk

existing.apk hizalamasını onaylamak için aşağıdaki komutu kullanın.

zipalign -c -P 16 -v 4 existing.apk

Seçenekler

Kullanabileceğiniz zipalign seçenekleri aşağıdaki tabloda listelenmiştir:

Option Açıklama
-c Yalnızca hizalamayı kontrol eder (dosyayı değiştirmez).
-k Mevcut çıkış dosyasının üzerine yazar.
-sa. Ekranlar aracı yardımı.
-P <pagesize_kb> sıkıştırılmamış .so dosyalarını KiB'de belirtilen sayfa boyutuna hizalar. Geçerli seçenekler <pagesize_kb> için 4, 16 ve 64.
-p 4 KiB sayfa hizalaması, sıkıştırılmamış .so dosyalarıdır. Optimum kampanya performansı için -p desteği sonlandırıldığından bunun yerine -P 16.
-v Ayrıntılı çıkış.
-z Zopfli kullanarak yeniden sıkıştırır.