הערות מוצר של גרסת Preview של הפלאגין Android Gradle

בדף הזה מופיעות הערות לגבי גרסאות טרום-השקה של הפלאגין Android Gradle (AGP).

פלאגין Android Gradle 9.0

פלאגין Android Gradle‏ 9.0 הוא גרסה ראשית חדשה של AGP, והוא כולל שינויים בממשקי ה-API ובהתנהגות.

כדי לעדכן לגרסה Android Gradle plugin 9.0.0-alpha10, צריך להשתמש בכלי העזרה לשדרוג Android Gradle plugin ב-Android Studio Otter | 2025.2.1.

הכלי לשדרוג AGP עוזר לשמר התנהגויות קיימות כשמשדרגים את הפרויקט, כשזה מתאים, ומאפשר לשדרג את הפרויקט לשימוש ב-AGP 9.0, גם אם אתם לא מוכנים להשתמש בכל הגדרות ברירת המחדל החדשות ב-AGP 9.0.

תאימות

רמת ה-API המקסימלית של Android שנתמכת על ידי Android Gradle plugin 9.0.0-alpha10 היא רמת API‏ 36.

פלאגין Android ל-Gradle 9.0.0-alpha10 דורש Gradle 9.0.0.

גרסת מינימום גרסת ברירת המחדל פתקים
Gradle 9.0.0 9.0.0 יש מידע נוסף במאמר בנושא עדכון Gradle.
SDK Build Tools 36.0.0 36.0.0 התקנה או הגדרה של SDK Build Tools.
NDK לא רלוונטי 28.2.13676358 התקנה או הגדרה של גרסה אחרת של NDK.
JDK 17 17 מידע נוסף זמין במאמר בנושא הגדרת גרסת ה-JDK.

המחלקה android DSL מטמיעה עכשיו רק את הממשקים הציבוריים החדשים

במהלך השנים האחרונות השקנו ממשקים חדשים ל-DSL ול-API שלנו כדי לשפר את השליטה ב-API שזמינים לציבור. בגרסאות AGP‏ 7.x ו-8.x עדיין נעשה שימוש בסוגי ה-DSL הישנים (לדוגמה, BaseExtension), שגם יישמו את הממשקים הציבוריים החדשים, כדי לשמור על תאימות בזמן שהעבודה על הממשקים התקדמה.

ב-AGP 9.0 נעשה שימוש בלעדי בממשקי ה-DSL החדשים שלנו, וההטמעות השתנו לסוגים חדשים שמוסתרים לחלוטין. השינוי הזה מסיר גם את הגישה ל-API הישן של הווריאציות שהוצא משימוש.

כדי לעדכן ל-AGP 9.0, יכול להיות שתצטרכו לבצע את הפעולות הבאות:

  • מוודאים שהפרויקט תואם ל-Kotlin המובנה: הפלאגין org.jetbrains.kotlin.android לא תואם ל-DSL החדש.
  • העברת פרויקטים של KMP אל פלאגין Android Gradle Library ל-KMP: אי אפשר להשתמש בפלאגין org.jetbrains.kotlin.multiplatform באותו פרויקט משנה של Gradle כמו הפלאגינים com.android.library ו-com.android.application, כי הוא לא תואם ל-DSL החדש.

  • מעדכנים את קובצי ה-build: המטרה של שינוי הממשקים היא לשמור על דמיון מרבי בין שפות התחום, אבל יכול להיות שיהיו שינויים קטנים.

  • מעדכנים את הלוגיקה של הגרסה המותאמת אישית כדי להפנות ל-DSL ול-API החדשים: מחליפים את כל ההפניות ל-DSL הפנימי בממשקי ה-DSL הציבוריים. ברוב המקרים, מדובר בהחלפה של אחד באחד. צריך להחליף כל שימוש ב-applicationVariants ובממשקי API דומים ב-androidComponents API החדש. יכול להיות שהתהליך יהיה מורכב יותר, כי androidComponents API נועד להיות יציב יותר כדי שהתוספים יהיו תואמים למשך זמן ארוך יותר. כדאי לעיין בדוגמאות ל-Gradle.

  • עדכון פלאגינים של צד שלישי: יכול להיות שחלק מהפלאגינים של צד שלישי עדיין מסתמכים על ממשקים או ממשקי API שכבר לא חשופים. מעבר לגרסאות של התוספים האלה שתואמות ל-AGP 9.0.

המעבר לממשקי ה-DSL החדשים מונע שימוש בתוספים ובסקריפטים של Gradle build שמסתמכים על רכיבי API שונים שיצאו משימוש, כולל:

‫API שהוצא משימוש בחסימה android פעולה החלפה
applicationVariants,
libraryVariants,
testVariants וגם
unitTestVariants
נקודות הרחבה לתוספים כדי להוסיף פונקציונליות חדשה ל-AGP. מחליפים את הערך הזה ב-API של androidComponents.onVariants, לדוגמה:
androidComponents {
    onVariants() { variant ->
        variant.signingConfig
            .enableV1Signing.set(false)
    }
}
יכול להיות שלא יהיה תחליף ישיר לכל ממשקי ה-API הקודמים. מדווחים על בעיה אם יש תרחיש שימוש שלא מכוסה על ידי ממשקי ה-API החדשים של הווריאנטים.
variantFilter מאפשרת להשבית וריאציות נבחרות. מחליפים את הערך הזה ב-API של androidComponents.beforeVariants, לדוגמה:
androidComponents {
    beforeVariants(
        selector()
            .withBuildType("debug")
            .withFlavor("color", "blue")
    ) { variantBuilder ->
        variantBuilder.enable = false
    }
  }
deviceProvider and
testServer
רישום של סביבות בדיקה בהתאמה אישית להרצת בדיקות במכשירי Android ובאמולטורים. עוברים אל מכשירים בניהול Gradle.
sdkDirectory,
ndkDirectory,
bootClasspath,
adbExecutable וגם
adbExe
שימוש ברכיבים שונים של Android SDK למשימות בהתאמה אישית. מעבר אל androidComponents.sdkComponents.
registerArtifactType,
registerBuildTypeSourceProvider,
registerProductFlavorSourceProvider,
registerJavaArtifact,
registerMultiFlavorSourceProvider וגם
wrapJavaSourceSet
פונקציונליות שיצאה משימוש, שקשורה בעיקר לטיפול במקורות שנוצרו ב-Android Studio, שהפסיקה לפעול ב-AGP 7.2.0. אין תחליף ישיר לממשקי ה-API האלה.

אם אתם מעדכנים ל-AGP 9.0 ומוצגת לכם הודעת השגיאה הבאה, המשמעות היא שהפרויקט שלכם עדיין מפנה לחלק מהסוגים הישנים:

java.lang.ClassCastException: class com.android.build.gradle.internal.dsl.ApplicationExtensionImpl$AgpDecorated_Decorated
cannot be cast to class com.android.build.gradle.BaseExtension

אם אתם נחסמים בגלל תוספים לא תואמים של צד שלישי, אתם יכולים לבטל את ההסכמה ולחזור להטמעות הישנות של DSL, וגם ל-API הישן של וריאנטים. במהלך התקופה הזו, הממשקים החדשים יהיו זמינים, ותוכלו להמשיך לעדכן את לוגיקת ה-build שלכם ל-API החדש. כדי לבטל את ההגדרה של הקובץ, מוסיפים לתג את השורה הבאה:gradle.properties

android.newDsl=false

אפשר גם להתחיל לשדרג ל-API החדשים לפני שמשדרגים ל-AGP 9.0. הממשקים החדשים קיימים בהרבה גרסאות של AGP, ולכן יכול להיות שיהיה לכם שילוב של ממשקים חדשים וישנים. במסמכי העזר של AGP API מוצג ממשק ה-API לכל גרסה של AGP, ומתי נוספו כל מחלקה, שיטה ושדה.

במהלך שלב האלפא של גרסה 9.0, אנחנו פונים ליוצרי פלאגינים כדי לעזור להם להתאים ולפרסם פלאגינים שתואמים באופן מלא למצבים החדשים, ונשפר את כלי העזרה לשדרוג AGP ב-Android Studio כדי להנחות אתכם בתהליך המיגרציה.

אם גיליתם שהתכונות או היכולות של ה-DSL החדש או של Variant API חסרות, חשוב לשלוח דיווח על בעיה בהקדם האפשרי.

‫Kotlin מובנה

פלאגין Android Gradle מגרסה 9.0 כולל תמיכה מובנית בהידור של Kotlin, ומחליף את פלאגין Kotlin שמוחל בנפרד. כך קל יותר לשלב את התוסף עם AGP, נמנעים משימוש בממשקי API שיצאו משימוש ומשפרים את הביצועים במקרים מסוימים.

לפלאגין Android Gradle 9.0 יש תלות בזמן ריצה בפלאגין Kotlin Gradle 2.2.10, שהיא הגרסה המינימלית שנדרשת לתמיכה מובנית ב-Kotlin.

‫Kotlin מובנה ב-AGP 9.0 ומספק תמיכה מלאה ב-IDE של Android Studio ל-test-fixtures. כדי לנסות את זה, צריך להשתמש ב-AGP 9.0.0-alpha07 ומעלה.

אפשר לבטל את ההסכמה לשימוש ב-Kotlin המובנה על ידי הגדרת android.builtInKotlin=false.

אם ביטלתם את ההסכמה לשימוש ב-Kotlin המובנה ואתם צריכים להשתמש בגרסה ישנה יותר של Kotlin Gradle plugin, אתם יכולים לכפות את השדרוג לאחור:

buildscript {
    dependencies {
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") {
            version { strictly("2.0.0") } // or another version that you want to use
        }
    }
}

שינויים בהתנהגות

לפלאגין Android Gradle 9.0 יש את ההתנהגויות החדשות הבאות:

התנהגות המלצה
פלאגין Android Gradle בגרסה 9.0 משתמש ב-NDK בגרסה r28c כברירת מחדל. מומלץ לציין במפורש את גרסת ה-NDK שבה רוצים להשתמש.
כברירת מחדל, פלאגין Android Gradle 9.0 מחייב את הצרכנים של ספרייה להשתמש באותה גרסה או בגרסה חדשה יותר של SDK למהדר. כשמשתמשים בספרייה, צריך להשתמש באותו SDK או ב-SDK חדש יותר. אם זה לא אפשרי, או אם אתם רוצים לתת לצרכנים של ספרייה שפרסמתם יותר זמן למעבר, אתם צריכים להגדיר את AarMetadata.minCompileSdk באופן מפורש.

‫AGP 9.0 כולל עדכונים בערכי ברירת המחדל של מאפייני Gradle הבאים. כך תוכלו לבחור אם לשמור על ההתנהגות של AGP 8.13 כשמשדרגים:

נכס פעולה שינוי מ-AGP 8.13 ל-AGP 9.0 המלצה
android.newDsl שימוש בממשקי DSL החדשים, בלי לחשוף את ההטמעות הקודמות של בלוק android.
המשמעות היא גם שאי אפשר יותר לגשת לגרסה הקודמת של Variant API, כמו android.applicationVariants.
false‏ ← true אפשר לבטל את ההסכמה בהגדרה android.newDsl=false.
אחרי שמוודאים שכל הפלאגינים והלוגיקה של הבנייה שבהם הפרויקט משתמש תואמים, מסירים את ההסכמה לביטול ההצטרפות.
android.builtInKotlin הוספנו תמיכה בהידור קוד Kotlin ישירות בפלאגין Android Gradle, ללא הפלאגין org.jetbrains.kotlin.android. false‏ ← true אם אפשר, מומלץ להשתמש ב-Kotlin המובנה ולהפסיק להשתמש בפלאגין org.jetbrains.kotlin.android. אם לא, כדי לבטל את ההסכמה, מגדירים את android.builtInKotlin=false
android.uniquePackageNames האפשרות הזו מוודאת שלכל ספרייה יש שם חבילה ייחודי. false‏ ← true מציינים שמות חבילות ייחודיים לכל הספריות בפרויקט. אם זה לא אפשרי, אפשר להשבית את הדגל הזה בזמן ההעברה.
android.dependency.useConstraints ההגדרה הזו קובעת את השימוש באילוצי תלות בין תצורות.
ברירת המחדל ב-AGP 9.0 היא false, שמשתמשת רק באילוצים בבדיקות של מכשירי אפליקציה (AndroidTest). הגדרת הערך true תחזיר את ההתנהגות של גרסה 8.13.
true‏ ← false אל תשתמשו באילוצי תלות בכל מקום אלא אם אתם צריכים אותם. קבלת ברירת המחדל החדשה של הדגל הזה מאפשרת גם לבצע אופטימיזציות בתהליך ייבוא הפרויקט, וכך לקצר את זמן הייבוא של גרסאות build עם הרבה פרויקטים משניים של ספריות Android.
aandroid.enableAppCompileTimeRClass הידור קוד באפליקציות מול מחלקת R לא סופית, כדי שהידור האפליקציה יהיה זהה להידור הספרייה.
השינוי הזה משפר את המדד 'המרות מצטברות' וסולל את הדרך לשיפורים עתידיים בביצועים של תהליך עיבוד המשאבים.
false‏ ← true בפרויקטים רבים אפשר פשוט לאמץ את ההתנהגות החדשה בלי לבצע שינויים בקוד המקור. אם משתמשים בשדות של מחלקת R במקומות שבהם נדרש קבוע, כמו במקרים של switch, צריך לבצע refactoring כדי להשתמש בהצהרות if בשרשרת.
android.sdk.defaultTargetSdkToCompileSdkIfUnset משתמש בגרסת ה-SDK של הקומפילציה כערך ברירת המחדל של גרסת ה-SDK של היעד באפליקציות ובבדיקות.
לפני השינוי הזה, גרסת ה-SDK לטירגוט הייתה מוגדרת כברירת מחדל לגרסת ה-SDK המינימלית.
false‏ ← true צריך לציין במפורש את גרסת ה-SDK של היעד לאפליקציות ולבדיקות.
android.onlyEnableUnitTestForTheTestedBuildType יוצר רק רכיבי בדיקות יחידה לסוג ה-build שנבדק.
בפרויקט ברירת המחדל, התוצאה היא בדיקת יחידה אחת לניפוי באגים, בעוד שההתנהגות הקודמת הייתה הפעלת בדיקות יחידה לניפוי באגים או לגרסה.
false‏ ← true אם הפרויקט לא דורש הפעלת בדיקות גם לניפוי באגים וגם לפרסום, לא צריך לבצע שינוי.
android.proguard.failOnMissingFiles ה-build נכשל עם שגיאה אם אחד מקובצי השמירה שצוינו ב-AGP DSL לא קיים בדיסק. לפני השינוי הזה, שגיאות כתיב בשמות של קבצים היו גורמות למערכת להתעלם מהקבצים בלי להציג הודעה. false‏ ← true הסרת הצהרות לא חוקיות של קובצי ProGuard
android.r8.optimizedResourceShrinking מאפשר ל-R8 לשמור פחות משאבי Android על ידי התייחסות משותפת למחלקות ולמשאבי Android. false‏ ← true אם כללי השמירה של הפרויקט כבר הושלמו, לא צריך לבצע שינוי.
android.r8.strictFullModeForKeepRules מאפשר ל-R8 לשמור פחות, כי הוא לא שומר באופן מרומז את בנאי ברירת המחדל כששומרים מחלקה. כלומר, -keep class A לא מרמז יותר על -keep class A { <init>(); }
false‏ ← true אם כללי השמירה של הפרויקט כבר הושלמו, לא צריך לבצע שינוי. ‫

מחליפים את -keep class A ב--keep class A { <init>(); } בכללים לשמירה של הפרויקט, בכל המקרים שבהם צריך לשמור את בנאי ברירת המחדל.
android.defaults.buildfeatures.resvalues הפעלת resValues בכל פרויקטי המשנה true‏ ← false מפעילים את resValues רק בפרויקטים המשניים שזקוקים לו, על ידי הגדרת הפקודה הבאה בקובצי ה-build של Gradle של הפרויקטים האלה:
android {
  buildFeatures {
    resValues = true
  }
}
android.defaults.buildfeatures.shaders הפעלת קומפילציה של shader בכל פרויקטי המשנה true‏ ← false כדי להפעיל קומפילציה של Shader רק בפרויקטים משניים שמכילים Shader שצריך לקמפל, מגדירים את הערך הבא בקובצי ה-build של Gradle של הפרויקטים האלה:
android {
  buildFeatures {
    shaders = true
  }
}
android.r8.proguardAndroidTxt.disallowed ב-AGP 9.0, ‏ getDefaultProguardFile() יתמוך רק ב-proguard-android-optimize.txt ולא ב-proguard-android.txt. המטרה היא למנוע שימוש לא מכוון בדגל ­dontoptimize, שנכלל ב-proguard-android.txt. false‏ ← true כדי להימנע מאופטימיזציה, אפשר לציין באופן מפורש את ­dontoptimize בקובץ proguardFile מותאם אישית, בנוסף לשימוש ב-proguard-android-optimize.txt. אם אפשר, חשוב להסיר את הדגל ­dontoptimize מהקובץ הזה, כי הוא מצמצם את היתרונות של האופטימיזציה של R8. אם לא, משביתים את ההגדרה android.r8.globalOptionsInConsumerRules.disallowed=false.
android.r8.globalOptionsInConsumerRules.disallowed מגרסה AGP 9.0, פרסום של ספריות Android ומודולים של תכונות ייכשל אם קובצי השמירה של הצרכן מכילים הגדרות בעייתיות של Proguard. בקובצי צרכן שכוללים אפשרויות גלובליות כמו ­dontoptimize או ­dontobfuscate צריך להשתמש רק במודולים של אפליקציות, והם עלולים להפחית את היתרונות של האופטימיזציה למשתמשי הספריות. אם אפשרויות גלובליות כאלה מוטמעות בתלות שעברה קומפילציה מראש (JAR או AAR), המערכת תתעלם מהן בשקט במהלך הקומפילציה של מודול אפליקציית Android. כדי לדעת מתי זה קורה, אפשר לבדוק את הקובץ configuration.txt (בדרך כלל בנתיב כמו <app_module>/build/outputs/mapping/<build_variant>/configuration.txt) ולחפש הערות כמו: # REMOVED CONSUMER RULE: ­dontoptimize false‏ ← true בספריות שפורסמו, צריך להסיר כללים לא תואמים. במקום זאת, בספריות פנימיות צריך להעביר כללים לא תואמים אבל נדרשים אל proguardFile במודול של אפליקציה. כדי לבטל את ההסכמה, מגדירים את האפשרות android.r8.globalOptionsInConsumerRules.disallowed=false. אחרי שכל הקבצים שלכם ב-Keep לשימוש אישי יהיו תואמים, תוכלו להסיר את הביטול.

תכונות שהוסרו

הפלאגין Android Gradle 9.0 מסיר את הפונקציונליות הבאה:

שינוי ב-DSL

בפלאגין Android Gradle 9.0 בוצעו שינויים ב-DSL שעלולים לגרום לכשלים:

  • הוסרה הפרמטריזציה של CommonExtension.

    השינוי הזה הוא שינוי שובר תאימות ברמת המקור, שמטרתו למנוע שינויים שוברי תאימות ברמת המקור בעתיד. אבל המשמעות שלו היא גם שצריך להעביר את שיטות החסימה מ-CommonExtension אל ApplicationExtension, ‏LibraryExension, ‏DynamicFeatureExtension ו-TestExtension.

    כשמשדרגים את הפרויקט ל-AGP 9.0, צריך לבצע רפקטורינג של קוד הפלאגין Gradle שמשתמש בפרמטרים האלה או בשיטות הבלוק. לדוגמה, התוסף הבא עודכן כדי להסיר את פרמטר הסוג ולא להסתמך על שיטות הבלוק שהוסרו:

    AGP 8.13

    val commonExtension: CommonExtension<*, *, *, *, *, *> =
            extensions.getByType(CommonExtension::class)
    commonExtension.apply {
        defaultConfig {
            minSdk {
                version = release(28)
            }
        }
    }
    

    AGP 9.0

    val commonExtension: CommonExtension =
            extensions.getByType(CommonExtension::class)
    commonExtension.apply {
        defaultConfig.apply {
            minSdk {
                version = release(28)
            }
        }
    }
    

    בתוספים שמטרגטים טווח של גרסאות AGP, שימוש בפונקציית ה-getter ישירות תואם בינארית לגרסאות AGP נמוכות מ-9.0.

הסרת DSL

הפלאגין Android Gradle 9.0 מסיר את:

ממשקי API שהוסרו

הפלאגין Android Gradle 9.0 מסיר את:

הוסרו מאפייני Gradle

המאפיינים הבאים של Gradle נוספו בהתחלה כדרכים להשבית באופן גלובלי תכונות שהופעלו כברירת מחדל.

התכונות האלה מושבתות כברירת מחדל מגרסה AGP 8.0 ומטה. כדי ליצור בנייה יעילה יותר, מומלץ להפעיל את התכונות האלה רק בפרויקטים המשניים שמשתמשים בהן.

נכס פעולה החלפה
android.defaults.buildfeatures.aidl ההגדרה הזו מאפשרת קומפילציה של AIDL בכל פרויקטי המשנה כדי להפעיל קומפילציה של AIDL רק בפרויקטים משניים שבהם יש מקורות AIDL, צריך להגדיר את המאפיין הבא בקובצי ה-build של Gradle של הפרויקטים האלה:
android {
  buildFeatures {
    aidl = true
  }
}
בקובץ ה-build של Gradle של כל פרויקט משנה שמכיל מקורות AIDL
android.defaults.buildfeatures.renderscript הפעלת הידור של RenderScript בכל פרויקטי המשנה כדי להפעיל קומפילציה של renderscript רק בפרויקטים משניים שבהם יש מקורות renderscript, צריך להגדיר את המאפיין הבא בקובצי ה-build של Gradle של הפרויקטים האלה:
android {
  buildFeatures {
    renderScript = true
  }
}

מאפייני Gradle שנאכפים

אם מגדירים את מאפייני Gradle הבאים, AGP 9.0 מחזיר שגיאה.

הכלי Android Gradle plugin Upgrade Assistant לא ישדרג פרויקטים ל-AGP 9.0 שמשתמשים במאפיינים האלה.

נכס פעולה
android.r8.integratedResourceShrinking הפחתת משאבים מופעלת עכשיו תמיד כחלק מ-R8, וההטמעה הקודמת הוסרה.

בעיות שתוקנו

פלאגין Android Gradle‏ 9.0.0-alpha10

בעיות שתוקנו
Android Gradle Plugin
המאפיינים extractNativeLibs ו-useEmbeddedDex לא אמורים להגיע מהמניפסט
אזהרות מ-R8 ב-AGP 9.0.0-alpha09
Lint
‫Kotlin מובנה לא מוסיף ‎ .kotlin_module ל-META-INF
נתיב המחלקה של Lint מכיל כפילויות של מחלקות בגרסאות שונות
הפתרון לעקיפת משאבים פרטיים לא פועל (tools:override = "true")

פלאגין Android Gradle‏ 9.0.0-alpha09

בעיות שתוקנו
Android Gradle Plugin
הפלאגין `legacy-kapt` מדלג על עיבוד ההערות, בניגוד לפלאגין `kotlin-kapt`
המאפיין compileSdkSpec.minorApiLevel לא פועל עם SettingsExtension
‫[fused lib - public] ספרייה מאוחדת שנוצרה לא כוללת מקורות

פלאגין Android Gradle‏ 9.0.0-alpha08

בעיות שתוקנו
לא סומנו בעיות ציבוריות שתוקנו ב-AGP 9.0.0-alpha08

פלאגין Android Gradle‏ 9.0.0-alpha07

בעיות שתוקנו
Android Gradle Plugin
תהליך ה-build נכשל אם יש משימות של יצירת קוד
אם משתמשים בתוסף `kotlin-android` עם הערכים `android.builtInKotlin=false`,‏ `android.newDsl=false` ו-`android.enableLegacyVariantApi=false`, הפעולה תיכשל עם השגיאה 'ה-API ‏applicationVariants יצא משימוש'
ה-Kotlin המובנה לא מצליח לפתור את הבעיה של kotlin-stdlib ללא גרסה כש-kotlin.stdlib.default.dependency=false
‫DexData פותח קובץ בלי לסגור אותו, ומונע ניקוי
החל מ-AGP 9.0,‏ AndroidSourceDirectorySet לא יורחב יותר על ידי PatternFilterable
שגיאה ב-Test Fixture במודולים לבדיקה בלבד
שגיאה לא נכונה כשמשתמשים במקבלים של הקשר ב-test fixtures
שגיאות שגויות ב-IDE עבור קוד Kotlin ב-testFixtures

פלאגין Android Gradle‏ 9.0.0-alpha06

בעיות שתוקנו
Android Gradle Plugin
ה-DSL החדש לאופטימיזציה לא יוצר את הקובץ configuration.txt כברירת מחדל
גרסה AGP 8.13.0 לא מצליחה לאמת את תרשים הניווט במודול
‫AGP משתמש ב-Gradle API שהוצא משימוש: סימון של כמה מחרוזות
אזהרה למשתמשים שמנסים להשתמש בספריית multidex מדור קודם עם minSdkVersion ‏ >=21
Lint
‫Lint ChecksSdkIntAtLeast Check does not check if the annotated value is correct

פלאגין Android Gradle‏ 9.0.0-alpha05

בעיות שתוקנו
Android Gradle Plugin
‫android.proguard.failOnMissingFiles לא פועל עבור consumerProguardFiles
עדכון התלות בפלאגין Kotlin Gradle לגרסה 2.2.10
יצירת KotlinJvmAndroidCompilation באמצעות KGP API
מצב Kotlin explicit API מוחל על מקורות בדיקה
Lint
‫Lint מציג את האזהרה 'Could not clean up K2 caches'

פלאגין Android Gradle‏ 9.0.0-alpha04

בעיות שתוקנו
Android Gradle Plugin
החלפת גרסת ברירת המחדל של Java במקור/יעד מ-Java 8 ל-Java 11 ב-AGP 9.0
החלפת ברירת המחדל של android.useAndroidX ל-true
שיפור החריגה כשמחילים את התוסף kapt עם Kotlin מובנה.
Lint
‫Lint מציג את האזהרה 'Could not clean up K2 caches'

פלאגין Android Gradle‏ 9.0.0-alpha03

בעיות שתוקנו
Android Gradle Plugin
כשהאפשרות `isIncludeAndroidResources` מופעלת, הפעולה `process{Variant}UnitTestManifest` נכשלת במיזוג של שימושים ב-tools:overrideLibrary ב-AGP 8.12.0
‫AGP גורם להצגת אזהרות לגבי הוצאה משימוש ב-Gradle עבור משימות בדיקה של JVM
‫DependencyReportTask לא תואם למטמון ההגדרות
Lint
באג: הסרה של משאבים שלא נעשה בהם שימוש לא מסירה גם את התרגומים שלהם, ולא מוצגת שאלה לגבי זה

‫Android Gradle plugin 9.0.0-alpha02

בעיות שתוקנו
Android Gradle Plugin
ה-build נכשל אם קובץ ה-proguard לא קיים
remove buildconfig defaults gradle.properties flags
שינוי ערך ברירת המחדל של targetSdk באפליקציה כך שיתבסס על compileSdk במקום על minSdk

פלאגין Android Gradle‏ 9.0.0-alpha01

בעיות שתוקנו
Android Gradle Plugin
הסרה של AndroidSourceSet.jni שהוצא משימוש ב-AGP 9.0
הסרה של Installation.installOptions()‎ ב-AGP 9.0
הסרת BuildType.isRenderscriptDebuggable ב-AGP 9.0.
הסרה של android.defaults.buildfeatures.renderscript
‫`com.android.kotlin.multiplatform.library` קורס עם מכשירים בניהול Gradle
הסרה של ברירות המחדל של `android.defaults.buildfeatures.aidl` בדגל gradle.properties