משפך

הכלי Jetifier העצמאי מעביר ספריות שתלויות בתמיכה בספרייה אל במקום זאת, להסתמך על חבילות AndroidX המקבילות. הכלי מאפשר לכם להעביר ישירות על הספרייה עצמה, במקום להשתמש בפלאגין של Android Gradle שכלול בחבילה באמצעות Android Studio.

התקנת Jetifier

כדי להתקין את Jetifier, צריך להוריד את ה-zip קובץ ומחלצים אותו. במכשיר שלכם צריכה להיות מותקנת Java בגרסה 1.8 ואילך.

שימוש

כדי לעבד ספרייה, מעבירים את הנתיב לספרייה הנוכחית ואת הנתיב אל בקובץ הפלט שהכלי צריך ליצור. Jetifier תומך ב-JAR, AAR ו-ZIP כולל ארכיונים מקוננים.

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

אפשרויות

בטבלה הבאה מפורטות האפשרויות הזמינות לפקודות של הכלי Jetifier:

אפשרות נדרש? תיאור
-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, כלי השירות יפעל במצב הפוך. במצב הזה, הפונקציה הכלי ממיר את ממשקי ה-API של AndroidX לגרסאות המקבילות בספריית התמיכה. מצב היפוך שימושי אם אתם מפתחים ספריות שמשתמשות בממשקי API של AndroidX אבל צריכות גם להפיץ גרסאות מספריית התמיכה.

דוגמה

הדוגמה הבאה מפעילה את כלי השירות במצב הפוך בספרייה myAndroidXLib.aar בספרייה הנוכחית והפלט ייכתב אל supportLibVersion.aar באותה ספרייה:

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

קובץ תצורה בהתאמה אישית

הכלי Jetifier משתמש בקובץ תצורה כדי למפות כיתות בספריית התמיכה מקבילות ל-AndroidX. במקרה הצורך, אפשר ליצור קובץ תצורה בהתאמה אישית משנה את המיפוי הזה. אפשר אפילו להוסיף למיפוי כיתות חדשות שלא שהם בעצם חלק מספריית התמיכה. לדוגמה, אפשר לשנות את מיפוי לצורך החלפה של אחת מהכיתות שלכם במחלקה עוקבת שנכתבה לשימוש AndroidX.

כדי להשתמש בקובץ תצורה מותאם אישית:

  1. מחלצים את הקובץ default.generated.config מקובץ השירות jetifier-core-*.jar ושומרים אותו.
  2. מבצעים את השינויים הנחוצים בעותק של קובץ התצורה.
  3. מעבירים את הקובץ לכלי השירות עם הדגל -c.

לדוגמה:

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