zipalign

zipalign, arşivdeki sıkıştırılmamış tüm dosyaların, dosyanın başlangıcına göre hizalanmasına yardımcı olan bir zip arşiv hizalama aracıdır. Bu sayede dosyalara doğrudan mmap(2) üzerinden erişilebilir. Böylece bu verileri RAM'e 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 derleme oluşturursanız bu işlem otomatik olarak yapılır. Bu durumda, APK'nın hizalandığını doğrulamak için yine de zipalign kullanmanız gerekir, ancak APK'yı hizalamanız gerekmez. Bu belgeler çoğunlukla özel derleme sistemlerinin bakım sahiplerine 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 APK'da başka değişiklikler yaparsanız imzası geçersiz kılınır.
  • jarsigner kullanıyorsanız (önerilmez) zipalign, APK dosyası imzalandıktan sonra kullanılmalıdır.

Hizalamayı sağlamak için zipalign, zip Local File Header (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 4KiB sayfa sınırına hizalandığından emin olmak için -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 hizalamak ve outfile.apk olarak kaydetmek için:

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

existing.apk öğesinin hizalandığı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 mevcut zipalign seçenekleri listelenmiştir:

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