Android Gradle Plugin 7.2.0 (מאי 2022)
Android Gradle plugin 7.2.0 הוא גרסה מרכזית שכוללת מגוון של תכונות ושיפורים חדשים.
העדכון הקטן הזה תואם לגרסה Android Studio Chipmunk Patch 2 וכולל את תיקוני הבאגים הבאים:
- בעיה מספר 232438924: גרסה 7.2 של AndroidGradlePlugin גורמת לשיבוש ב-API של טרנספורמציה כשמשתמשים בה יחד עם ASM API
- בעיה מספר 231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
העדכון הקטן הזה תואם לגרסה Android Studio Chipmunk Patch 1 וכולל את תיקוני הבאגים הבאים:
- בעיה מספר 230361284: bundletool לא אורז פרופילים של Baseline בצורה נכונה
כדי לראות את תיקוני הבאגים האחרים שנכללים בגרסה הזו, אפשר לעיין בנתוני הגרסה של Android Studio Chipmunk Patch 1.
תאימות
| גרסת המינימום | גרסת ברירת המחדל | פתקים | |
|---|---|---|---|
| Gradle | 7.3.3 | 7.3.3 | יש מידע נוסף במאמר בנושא עדכון Gradle. |
| SDK Build Tools | 30.0.3 | 30.0.3 | צריך להתקין או להגדיר את SDK Build Tools. |
| NDK | לא רלוונטי | 21.4.7075529 | צריך להתקין או להגדיר גרסה אחרת של NDK. |
| JDK | 11 | 11 | מידע נוסף זמין במאמר בנושא הגדרת גרסת ה-JDK. |
אזהרה ובדיקה של Jetifier ב-Build Analyzer
כלי הניתוח של תהליך הבנייה מציג עכשיו אזהרה אם הקובץ gradle.properties של הפרויקט כולל את android.enableJetifier=true. הדגל הזה הוצג בגרסה קודמת של Android Studio כדי להפעיל את AndroidX בספריות שלא תומכות ב-AndroidX באופן מקורי. עם זאת, רוב המערכת האקולוגית של הספרייה עברה לתמיכה ב-AndroidX באופן מובנה, וכנראה שהפרויקט שלכם כבר לא צריך את הדגל Jetifier. בנוסף, הדגל יכול להוביל לביצועים איטיים יותר של הבנייה. אם האזהרה הזו מופיעה, אפשר להריץ בדיקה ב-Build Analyzer כדי לוודא שאפשר להסיר את הדגל.
תמיכה ב-test fixtures
החל מ-Android Studio Chipmunk Beta 1, Android Studio תומך גם ב-Android וגם ב-Java test fixtures. במדריך של Gradle בנושא שימוש ב-test fixtures{:.external} מפורט מידע נוסף על התכונה הזו ועל אופן השימוש בה בפרויקט Java.
כדי להפעיל את תוספי הבדיקה במודול של ספריית Android, מוסיפים את השורה הבאה לקובץ build.gradle ברמת הספרייה:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}כברירת מחדל, כשמפרסמים את הספרייה, מפרסמים גם את קובץ ה-AAR של ה-test fixtures עם הספרייה הראשית. קובץ המטא-נתונים של מודול Gradle יכיל מידע שיאפשר ל-Gradle להשתמש בארטיפקט הנכון כשמבקשים את רכיב testFixtures.
כדי להשבית את הפרסום של קובץ ה-AAR של ה-test fixtures של ספרייה בגרסת ה-release, מוסיפים את הקוד הבא לקובץ build.gradle ברמת הספרייה:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}כדי להשתמש ב-AAR של נתוני הבדיקה של ספריית Android שפורסמה, אפשר להשתמש בשיטת העזר של Gradle testFixtures().
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}כברירת מחדל, הכלי lint ינתח מקורות של מבני בדיקה. אפשר להגדיר את lint כך שיתעלם ממקורות של נתוני בדיקה באופן הבא:
android {
lint {
ignoreTestFixturesSources true
}
}אין תמיכה בשורשי תוכן כפולים
החל מ-AGP 7.2, אי אפשר יותר לשתף את אותה ספריית מקור בין כמה קבוצות של מקורות. לדוגמה, אי אפשר להשתמש באותם מקורות בדיקה גם לבדיקות יחידה וגם לבדיקות מכשור. מידע נוסף זמין במאמר שינוי ההגדרות של קבוצות ברירת המחדל של מקורות.