تنقل أداة 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
|
لا | مستوى التسجيل: القيم المسموح بها هي:
|
-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.
لاستخدام ملف تهيئة مخصص:
- استخرِج الملف
default.generated.config
من نافذة الأداة ملفjetifier-core-*.jar
واحفظه. - أدخِل أي تعديلات ضرورية على نسختك من ملف الإعداد.
- مرِّر ملفك إلى الأداة باستخدام العلامة
-c
.
مثلاً:
./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config