Android Gradle Plugin 7.2.0 (מאי 2022)

Android Gradle plugin 7.2.0 הוא גרסה מרכזית שכוללת מגוון של תכונות ושיפורים חדשים.

7.2.2 (אוגוסט 2022)

העדכון המשני הזה תואם למהדורה Android Studio Chipmunk Patch 2, והוא כולל את תיקוני הבאגים הבאים:

  • בעיה מס' 232438924: גרסת AndroidGradlePlugin 7.2 גורמת לשגיאות ב-transform API כשמשתמשים בה יחד עם ASM API
  • בעיה מס' 231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
7.2.1 (מאי 2022)

העדכון המשני הזה תואם למהדורה Android Studio Chipmunk Patch 1, והוא כולל את תיקוני הבאגים הבאים:

  • בעיה מס' 230361284: חבילות ה-bundletool לא מכילות את הפרופילים הבסיסיים בצורה נכונה

כדי לראות את תיקוני הבאגים האחרים שכלולים בגרסה הזו, אפשר לעיין בנתוני הגרסה של 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

כלי הניתוח של גרסאות build מציג עכשיו אזהרה אם קובץ gradle.properties של הפרויקט כולל את android.enableJetifier=true. הדגל הזה הוצג בגרסה קודמת של Android Studio כדי לאפשר את השימוש ב-AndroidX בספריות שלא תומכות ב-AndroidX באופן מקורי. עם זאת, סביבת הספריות עברה בעיקר לתמיכה ב-AndroidX באופן מקורי, וכנראה שהפרויקט שלכם כבר לא זקוק לדגל Jetifier. בנוסף, הדגל יכול להוביל לביצועים איטיים יותר של ה-build. אם האזהרה הזו מופיעה, אפשר להריץ בדיקה ב-Build Analyzer כדי לוודא שאפשר להסיר את הדגל.

תמיכה ב-fixtures לבדיקה

החל מ-Android Studio Chipmunk Beta 1, Android Studio תומך גם ב-Android וגם ב-Java test fixtures. למידע נוסף על התכונה 'אביזרי בדיקה' ועל אופן השימוש בה בפרויקט Java, אפשר לעיין במדריך של Gradle בנושא שימוש באביזרי בדיקה{:.external}.

כדי להפעיל ערכות בדיקה במודול הספרייה של Android, מוסיפים את הקטע הבא לקובץ build.gradle ברמת הספרייה:

android {
  testFixtures {
    enable true
    // enable testFixtures's android resources (disabled by default)
    // androidResources true
  }
}

כברירת מחדל, פרסום הספרייה מפרסם גם את קובץ ה-AAR של ערכות הבדיקה עם הספרייה הראשית. קובץ המטא-נתונים של מודול Gradle יכיל מידע שיעזור ל-Gradle לצרוך את הארטיפקט הנכון כשמבקשים את הרכיב testFixtures.

כדי להשבית את פרסום קובץ ה-AAR של ערכות הבדיקה של ספרייה בגרסה המהדורה, מוסיפים את הקטע הבא לקובץ build.gradle ברמת הספרייה:

afterEvaluate {
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}

כדי להשתמש ב-AAR של ערכות הבדיקה של ספריית Android שפורסמה, אפשר להשתמש ב-method העזר של Gradle‏ testFixtures().

dependencies {
  testImplementation testFixtures('com.example.company:publishedLib:1.0')
}

כברירת מחדל, ה-lint ינתח את מקורות ה-fixtures לבדיקה. אפשר להגדיר את ה-lint כך שיתעלם ממקורות של ערכות בדיקה באופן הבא:

android {
  lint {
    ignoreTestFixturesSources true
  }
}

אין תמיכה בשורשים של תוכן כפול

החל מ-AGP 7.2, אי אפשר יותר לשתף את אותו ספריית מקורות בכמה קבוצות מקורות. לדוגמה, אי אפשר להשתמש באותם מקורות בדיקה גם לבדיקות יחידה וגם לבדיקות מכשור. למידע נוסף, ראו שינוי ההגדרות של קבוצות המקור שמוגדרות כברירת מחדל.