zipalign

zipalign, arşivdeki sıkıştırılmamış tüm dosyaların dosyanın başlangıcına göre hizalanmasını sağlayan bir zip arşivi hizalama aracıdır. Bu sayede dosyalara mmap(2) üzerinden doğrudan erişebilirsiniz. Böylece bu verileri RAM içinde kopyalama ihtiyacı ortadan kalkar ve uygulamanızın bellek kullanımı azalır.

APK dosyanızı son kullanıcılara dağıtmadan önce optimize etmek için zipalign kullanın. Android Gradle eklentisini (AGP) kullanan Android Studio ile derlerseniz bu işlem otomatik olarak gerçekleştirilir. Bu durumda, APK'nın hizalandığını doğrulamak için yine de zipalign kullanmanız gerekir, ancak bunu hizalamanız gerekmez. Bu belgeler genel olarak özel derleme sistemlerinin bakım sorumlularına yöneliktir.

Dikkat: Derleme işleminin belirli bir noktasında zipalign kullanmanız gerekir. Bu nokta, hangi uygulama imzalama aracını kullandığınıza bağlıdır:

  • apksigner kullanıyorsanız APK dosyası imzalanmadan önce zipalign kullanılmalıdır. APK'nızı apksigner kullanarak imzalar ve üzerinde başka değişiklikler yaparsanız APK'nın imzası geçersiz kılınır.
  • jarsigner kullanıyorsanız (önerilmez) APK dosyası imzalandıktan sonra zipalign kullanılmalıdır.

Hizalamayı sağlamak için zipalign, zip Yerel Dosya Başlığı bölümlerindeki "extra" alanının boyutunu değiştirir. 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 bunların mmap(2) için uygun 4 KiB sayfa sınırına hizalandığından emin olmak amacıyla -p kullanın. Hizalaması zipalign öğesine zorunlu hizalama bağımsız değişkeniyle belirlenen diğer dosyalar için Android Studio, hem 32 bit hem de 64 bit sistemlerde 4 bayta hizalanır.

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

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

existing.apk öğesinin hizalamasını onaylamak için aşağıdaki komutu kullanın. Derleme için Android Studio veya AGP kullanıyorsanız, APK'nızın uyumlu olduğunu doğrulamak için kullanmanız gereken komut budur.

zipalign -c -v 4 existing.apk

Seçenekler

Aşağıdaki tabloda kullanılabilen zipalign seçenekleri listelenmiştir:

Option Açıklama
-c Yalnızca hizalamayı kontrol eder (dosyayı değiştirmez).
-t Mevcut çıkış dosyasının üzerine yazar.
- sa. Araç yardımını görüntüler.
-y Sıkıştırılmamış .so dosyayı sayfa hizalar.
-v Ayrıntılı çıkış.
-z Zopfli kullanarak yeniden sıkıştırır.