آلة جيتيفيير

تنقل أداة Jetifier المستقلة المكتبات المعتمدة على مكتبة الدعم إلى بدلاً من ذلك على حزم AndroidX المكافئة. تتيح لك الأداة ترحيل مكتبة فردية مباشرةً بدلاً من استخدام المكوّن الإضافي لنظام Gradle المتوافق مع Android باستخدام "استوديو Android"

تثبيت Jetifier

لتثبيت Jetifier، نزِّل الملف المضغوط ملف واستخراج البيانات يجب تثبيت الإصدار 1.8 من Java أو الإصدارات الأحدث على جهازك.

الاستخدام

لمعالجة مكتبة، يجب تمرير المسار إلى المكتبة الحالية والمسار الذي يجب أن تنشئها الأداة. يتوافق تطبيق Jetifier مع JAR وAAR وZIP بما في ذلك الأرشيفات المتداخلة.

./jetifier-standalone -i <source-library> -o <output-library>

الخيارات

يعرض الجدول التالي الخيارات المتاحة لأوامر أداة Jetifier:

Option هل هي مطلوبة؟ الوصف
-i، <path> --input نعم المسار إلى مكتبة الإدخال (JAR أو AAR أو ZIP)
-o، <path> --output نعم المسار إلى ملف الإخراج. إذا كان الملف متوفّرة حاليًا، يستبدلها Jetifier.
-c، <path> --config لا المسار إلى ملف إعداد مخصّص اختياري.
-l، <level> --log لا مستوى التسجيل: القيم المسموح بها هي:
  • خطأ
  • warning
  • معلومات
  • مطوَّل
إذا لم يتم تحديده، سيتم ضبطه تلقائيًا على "تحذير".
-r لا التشغيل في الوضع العكسي ("إزالة التشويش").
-rebuildTopOfTree,
--rebuildTopOfTree
لا إعادة إنشاء ملف ZIP لتوزيع Maven وفقًا ملف POM الذي تم إنشاؤه
في حال ضبط هذه السياسة، فإنّ جميع المكتبات المُعاد كتابتها جزءًا من "مكتبة الدعم". غير مطلوب لعملية النفاذ.
-s، --strict لا لا تلجأ إلى اتخاذ هذا الإجراء في حال عدم توفّر القواعد. طرح الأخطاء بدلاً من ذلك.
-stripSignatures,
--stripSignatures
لا لا تعرض رسالة خطأ عند تنسيق مكتبة موقعة إزالة ملفات التوقيع بدلاً من ذلك.
-t، <arg> -timestamp لا سياسة الطوابع الزمنية التي يجب استخدامها الإدخالات المؤرشفة كوقت تعديلها. القيم: KeepPrevious (تلقائي) حقبة أو الآن.

مثال

يقوم المثال التالي بتشغيل الأداة على المكتبة libraryToProcess.aar في الدليل الحالي ويكتب الإخراج إلى result.aar بنفس الدليل:

./jetifier-standalone -i libraryToProcess.aar -o result.aar

ملاحظات الاستخدام

ينقل Jetifier مراجع Java وXML وPOM وProGuard التي تشير إلى android.support.* حزمة، جارٍ تغييرها بحيث تشير إلى القيم المطابقة androidx.* حزمة.

بما أنّ أحرف البدل في ProGuard للنطاق android.support.* لا يتم تعيينها دائمًا بشكل مباشر androidx.*، ينتج Jetifier كل البدائل المؤهلة.

إذا كان هناك نوع في حزمة android.support.* لا يأتي من أي بيانات مكتبة الدعم، سيستمر Jetifier في نقل النوع ما دام هناك التخطيط لها. ومع ذلك، ليس من المضمون نجاح عملية النقل هذه، حيث قد لا تكون قواعد تعيين عامة بشكلٍ كافٍ لتغطية جميع الأنواع المخصصة.

الاستخدام المتقدّم

تتوافق الأداة Jetifier مع بعض حالات الاستخدام المتقدّمة.

الوضع العكسي

إذا تجاوزت علامة -r، سيتم تشغيل الأداة في الوضع العكسي. في هذا الوضع، تعمل على تحويل واجهات برمجة تطبيقات AndroidX إلى مكافئات مكتبة Support Library. الوضع العكسي مفيدة إذا كنت تقوم بتطوير المكتبات التي تستخدم واجهات برمجة تطبيقات AndroidX ولكنها تحتاج أيضًا إلى توزيع الإصدارات التي تستخدم مكتبة الدعم.

مثال

يقوم المثال التالي بتشغيل الأداة في الوضع العكسي في المكتبة myAndroidXLib.aar في الدليل الحالي وتكتب الإخراج إلى supportLibVersion.aar في الدليل نفسه:

./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar

ملف الإعداد المخصّص

تستخدم أداة Jetifier ملف إعداد لربط فئات Support Library (مكتبة الدعم) نظيره في AndroidX. إذا لزم الأمر، يمكنك إنشاء ملف تهيئة مخصص تغيير هذا التعيين. ويمكنك أيضًا إضافة فئات جديدة إلى عملية الربط غير أعضاء في مكتبة الدعم. على سبيل المثال، يمكنك تعديل تعيين لاستبدال إحدى فئاتك بفئة لاحقة مكتوبة لاستخدامها AndroidX.

لاستخدام ملف تهيئة مخصص:

  1. استخرِج الملف default.generated.config من نافذة الأداة ملف jetifier-core-*.jar واحفظه.
  2. أدخِل أي تعديلات ضرورية على نسختك من ملف الإعداد.
  3. مرِّر ملفك إلى الأداة باستخدام العلامة -c.

مثلاً:

./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config