"zipalign
" هي أداة لمحاذاة أرشيف ملفات ZIP تساعد في ضمان توافق جميع الملفات غير المضغوطة في الأرشيف
مع بداية الملف. ويسمح هذا الإجراء بالوصول إلى الملفات مباشرةً عبر mmap(2)
، ما يلغي الحاجة إلى نسخ هذه البيانات في ذاكرة الوصول العشوائي (RAM) ويحدّ من استخدام التطبيق للذاكرة.
يمكنك استخدام zipalign
لتحسين ملف APK قبل توزيعه على المستخدمين النهائيين. إذا كنت تطوِّر تطبيقك باستخدام "استوديو Android" الذي يستخدم المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP)، يتم تنفيذ ذلك تلقائيًا. في هذه الحالة، لا يزال يتعين عليك استخدام zipalign
للتحقق من محاذاة APK
بدون الحاجة إلى محاذاتها. هذه الوثائق مخصصة بشكل أساسي لصيانة
أنظمة الإنشاء المخصصة.
تنبيه: يجب استخدام السمة zipalign
عند مرحلة محدّدة من عملية الإنشاء. تعتمد هذه النقطة على أداة توقيع التطبيق التي تستخدمها:
لتحقيق المحاذاة، يغيّر zipalign
حجم الحقل "extra"
في أقسام عنوان الملف المحلي بتنسيق zip. يمكن أن تؤدي هذه العملية أيضًا إلى تغيير البيانات الحالية في حقول "extra"
.
الاستخدام
إذا كان ملف APK يحتوي على مكتبات مشتركة (ملفات .so
)، استخدِم -p
لضمان توافقها مع حدود صفحة بحجم 4KiB مناسبة لـ mmap(2)
. بالنسبة إلى الملفات الأخرى التي يتم تحديد محاذاتها من خلال وسيطة المحاذاة الإلزامية مع zipalign
، تتم محاذاة "استوديو Android" مع 4 بايت على كل من نظامَي 32 بت و64 بت.
لمحاذاة infile.apk
وحفظها باسم outfile.apk
:
zipalign -p -f -v 4 infile.apk outfile.apk
لتأكيد محاذاة existing.apk
، استخدِم الأمر التالي. إذا كنت تستخدم "استوديو Android" أو AGP لإنشاء المحتوى، هذا هو الأمر الذي يجب عليك استخدامه للتأكد من محاذاة ملف APK.
zipalign -c -v 4 existing.apk
الخيارات
يسرد الجدول التالي خيارات zipalign
المتاحة:
Option | الوصف |
---|---|
-ج | لفحص المحاذاة فقط (بدون تعديل الملف) |
-f | يؤدي إلى استبدال ملف الإخراج الحالي. |
-س | عرض مساعدة الأداة. |
-p | محاذاة ملفات .so غير المضغوطة. |
-v | الاستماع المطوَّل |
-z | لإعادة ضغطه باستخدام Zopfli |