הכלי 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.
כדי להשתמש בקובץ תצורה מותאם אישית:
- מחלצים את הקובץ
default.generated.config
מקובץ השירותjetifier-core-*.jar
ושומרים אותו. - מבצעים את השינויים הנחוצים בעותק של קובץ התצורה.
- מעבירים את הקובץ לכלי השירות עם הדגל
-c
.
לדוגמה:
./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config