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ızzipalign
APK dosyası imzalanmadan önce kullanılmalıdır. Sözleşmeyiapksigner
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. |