یادداشت های انتشار برای پیش نمایش پلاگین Android Gradle

این صفحه حاوی یادداشت‌های انتشار برای نسخه‌های پیش‌نمایش پلاگین Android Gradle (AGP) است.

پلاگین اندروید Gradle 9.0

پلاگین Android Gradle 9.0 نسخه اصلی جدید AGP است و تغییرات API و رفتار را به همراه دارد.

برای به روز رسانی به پلاگین Android Gradle 9.0.0-alpha10 از افزونه Android Gradle Upgrade Assistant در Android Studio Otter استفاده کنید | 2025.2.1.

دستیار ارتقاء AGP به حفظ رفتارهای موجود هنگام ارتقاء پروژه در صورت لزوم کمک می کند و به شما امکان می دهد پروژه خود را برای استفاده از AGP 9.0 ارتقا دهید، حتی اگر آماده پذیرش همه پیش فرض های جدید در AGP 9.0 نباشید.

سازگاری

حداکثر سطح API Android که افزونه Android Gradle 9.0.0-alpha10 پشتیبانی می کند، سطح API 36 است.

افزونه Android Gradle 9.0.0-alpha10 به Gradle 9.0.0 نیاز دارد.

حداقل نسخه نسخه پیش فرض یادداشت ها
گریدل 9.0.0 9.0.0 برای کسب اطلاعات بیشتر، به روز رسانی Gradle را ببینید.
ابزارهای ساخت SDK 36.0.0 36.0.0 ابزارهای ساخت SDK را نصب یا پیکربندی کنید .
NDK N/A 28.2.13676358 نسخه دیگری از NDK را نصب یا پیکربندی کنید .
JDK 17 17 برای کسب اطلاعات بیشتر، به تنظیم نسخه JDK مراجعه کنید.

کلاس‌های DSL android اکنون فقط رابط‌های عمومی جدید را پیاده‌سازی می‌کنند

در طول چندین سال گذشته، ما رابط‌های جدیدی را برای 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 برای KMP تغییر دهید: استفاده از افزونه org.jetbrains.kotlin.multiplatform در همان پروژه فرعی Gradle به عنوان افزونه های com.android.library و com.android.application با DSL جدید سازگار نیست.

  • فایل‌های ساخت خود را به‌روزرسانی کنید: در حالی که تغییر رابط‌ها به منظور حفظ DSL تا حد امکان مشابه است، ممکن است تغییرات کوچکی رخ دهد.

  • منطق ساخت سفارشی خود را برای ارجاع به DSL و API جدید به روز کنید: هر ارجاعی به DSL داخلی را با رابط های DSL عمومی جایگزین کنید. در بیشتر موارد این جایگزینی یک به یک خواهد بود. هر گونه استفاده از applicationVariants و API های مشابه را با androidComponents API جدید جایگزین کنید. این ممکن است پیچیده تر باشد، زیرا androidComponents API به گونه ای طراحی شده است که پایدارتر باشد تا افزونه ها را برای مدت طولانی تری سازگار نگه دارد. برای نمونه دستور العمل های Gradle ما را بررسی کنید.

  • به‌روزرسانی افزونه‌های شخص ثالث: برخی از افزونه‌های شخص ثالث ممکن است همچنان به رابط‌ها یا APIهایی وابسته باشند که دیگر در معرض نمایش نیستند. به نسخه هایی از آن پلاگین هایی که با AGP 9.0 سازگار هستند مهاجرت کنید.

تغییر به رابط های DSL جدید از پلاگین ها و اسکریپت های ساخت Gradle با استفاده از API های منسوخ مختلف جلوگیری می کند، از جمله:

API منسوخ شده در بلوک android تابع جایگزینی
applicationVariants ،
libraryVariants ،
testVariants و
unitTestVariants
نقاط پسوند برای افزونه ها برای افزودن قابلیت های جدید به AGP. برای مثال، API androidComponents.onVariants را جایگزین آن کنید:
androidComponents {
    onVariants() { variant ->
        variant.signingConfig
            .enableV1Signing.set(false)
    }
}
ممکن است جایگزینی مستقیم برای همه APIهای قبلی وجود نداشته باشد. اگر مورد استفاده ای وجود دارد که توسط API های نوع جدید پوشش داده نمی شود ، مشکلی را ثبت کنید .
variantFilter اجازه می دهد تا انواع انتخاب شده غیرفعال شوند. این را با androidComponents.beforeVariants API جایگزین کنید، برای مثال:
androidComponents {
    beforeVariants(
        selector()
            .withBuildType("debug")
            .withFlavor("color", "blue")
    ) { variantBuilder ->
        variantBuilder.enable = false
    }
  }
deviceProvider و
testServer
ثبت محیط های تست سفارشی برای اجرای تست ها بر روی دستگاه ها و شبیه سازهای اندروید. به دستگاه‌های مدیریت‌شده 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 را پس بگیرید. در حین انجام این کار، رابط های جدید نیز در دسترس هستند، و همچنان می توانید منطق ساخت خود را به API جدید به روز کنید. برای انصراف، این خط را در فایل gradle.properties خود قرار دهید:

android.newDsl=false

همچنین می توانید قبل از ارتقاء به AGP 9.0 ارتقاء به API های جدید را شروع کنید. رابط های جدید برای بسیاری از نسخه های AGP وجود داشته است و بنابراین می توانید ترکیبی از جدید و قدیمی داشته باشید. اسناد مرجع AGP API سطح API را برای هر نسخه AGP و زمانی که هر کلاس، متد و فیلد اضافه شده است را نشان می دهد.

در طول مرحله آلفای 9.0، با نویسندگان افزونه ها تماس می گیریم تا به آنها کمک کنیم تا پلاگین هایی را که کاملاً با حالت های جدید سازگار هستند، تطبیق داده و منتشر کنند، و دستیار ارتقاء AGP را در Android Studio بهبود می بخشد تا شما را در انتقال راهنمایی کند.

اگر متوجه شدید که DSL یا Variant API جدید قابلیت ها یا ویژگی هایی ندارد، لطفاً در اسرع وقت مشکل خود را مطرح کنید.

کاتلین داخلی

افزونه Android Gradle 9.0 شامل پشتیبانی داخلی از کامپایل Kotlin است که جایگزین افزونه Kotlin به طور جداگانه اعمال شده است. این امر ادغام با AGP را ساده می کند، از استفاده از API های منسوخ اجتناب می کند و در برخی موارد عملکرد را بهبود می بخشد.

افزونه اندروید Gradle 9.0 به پلاگین Kotlin Gradle 2.2.10 وابستگی زمان اجرا دارد که حداقل نسخه مورد نیاز برای پشتیبانی داخلی کاتلین است.

کاتلین داخلی در AGP 9.0 پشتیبانی کامل از Android Studio IDE را برای تجهیزات تست به ارمغان می آورد. برای امتحان این، از AGP 9.0.0-alpha07 یا جدیدتر استفاده کنید.

می‌توانید با تنظیم android.builtInKotlin=false از Kotlin داخلی انصراف دهید.

اگر از Kotlin داخلی انصراف داده اید و همچنین نیاز به استفاده از نسخه قدیمی پلاگین Kotlin Gradle دارید، می توانید به اجبار آن را کاهش دهید:

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 دارای رفتارهای جدید زیر است:

رفتار توصیه
افزونه اندروید Gradle 9.0 به طور پیش فرض از NDK نسخه r28c استفاده می کند. در نظر بگیرید که نسخه NDK را که می خواهید به طور صریح استفاده کنید، مشخص کنید.
افزونه Android Gradle 9.0 به طور پیش‌فرض از مصرف‌کنندگان یک کتابخانه می‌خواهد از نسخه SDK کامپایل یکسان یا بالاتر استفاده کنند. هنگام استفاده از کتابخانه از SDK کامپایل یکسان یا بالاتر استفاده کنید. اگر این امکان پذیر نیست، یا می خواهید به مصرف کنندگان کتابخانه ای که منتشر می کنید زمان بیشتری برای جابجایی بدهید، AarMetadata.minCompileSdk به صراحت تنظیم کنید.

AGP 9.0 شامل به‌روزرسانی‌های پیش‌فرض ویژگی‌های Gradle زیر است. این به شما این امکان را می دهد که رفتار AGP 8.13 را هنگام ارتقاء حفظ کنید:

اموال تابع از AGP 8.13 به AGP 9.0 تغییر دهید توصیه
android.newDsl از رابط های DSL جدید بدون افشای پیاده سازی های قدیمی بلوک android استفاده کنید.
این همچنین به این معنی است که API نوع قدیمی مانند android.applicationVariants دیگر در دسترس نیست.
falsetrue می توانید با تنظیم android.newDsl=false انصراف دهید.
هنگامی که همه پلاگین ها و منطق ساختی که پروژه شما استفاده می کند سازگار است، انصراف را حذف کنید.
android.builtInKotlin پشتیبانی فعال برای کامپایل کد Kotlin به طور مستقیم در افزونه Android Gradle، بدون افزونه org.jetbrains.kotlin.android . falsetrue در صورت امکان، با حذف استفاده از افزونه org.jetbrains.kotlin.android ، Kotlin داخلی را بپذیرید. اگر نه، با تنظیم android.builtInKotlin=false انصراف دهید
android.uniquePackageNames الزام می کند که هر کتابخانه یک نام بسته مجزا داشته باشد. falsetrue نام بسته های منحصر به فرد را برای تمام کتابخانه های پروژه خود مشخص کنید. اگر این امکان پذیر نیست، می توانید این پرچم را در حین مهاجرت غیرفعال کنید.
android.dependency.useConstraints استفاده از محدودیت های وابستگی بین پیکربندی ها را کنترل می کند.
پیش‌فرض در AGP 9.0 false است که فقط از محدودیت‌ها در آزمایش‌های دستگاه برنامه (AndroidTest) استفاده می‌کند. با تنظیم این مورد روی true به رفتار 8.13 برمی گردد.
truefalse از محدودیت های وابستگی در همه جا استفاده نکنید مگر اینکه به آنها نیاز داشته باشید. پذیرش پیش‌فرض جدید این پرچم، بهینه‌سازی‌هایی را در فرآیند واردات پروژه امکان‌پذیر می‌کند که باید زمان واردات را برای ساخت‌ها با بسیاری از زیرپروژه‌های کتابخانه اندروید کاهش دهد.
aandroid.enableAppCompileTimeRClass کامپایل کد در برنامه ها در برابر کلاس R غیر نهایی، کامپایل برنامه ها را با کامپایل کتابخانه ای هماهنگ می کند.
این افزایش افزایشی را بهبود می بخشد و راه را برای بهینه سازی عملکرد آینده در جریان پردازش منابع هموار می کند.
falsetrue بسیاری از پروژه ها فقط می توانند رفتار جدید را بدون تغییر منبع اتخاذ کنند. اگر از فیلدهای کلاس R در هر جایی که نیاز به ثابت وجود دارد استفاده شود، مانند موارد سوئیچ، Refactor برای استفاده از دستورهای زنجیره ای if.
android.sdk.defaultTargetSdkToCompileSdkIfUnset از نسخه SDK کامپایل به عنوان مقدار پیش‌فرض نسخه SDK هدف در برنامه‌ها و آزمایش‌ها استفاده می‌کند.
قبل از این تغییر، نسخه SDK هدف به طور پیش فرض روی نسخه حداقل SDK خواهد بود.
falsetrue نسخه SDK مورد نظر را به صراحت برای برنامه ها و آزمایش ها مشخص کنید.
android.onlyEnableUnitTestForTheTestedBuildType فقط اجزای تست واحد را برای نوع ساخت آزمایش شده ایجاد می کند.
در پروژه پیش‌فرض این منجر به یک تست واحد برای اشکال‌زدایی می‌شود، که در آن رفتار قبلی اجرای آزمایش‌های واحد برای رفع اشکال یا انتشار بود.
falsetrue اگر پروژه شما برای اجرای هر دو اشکال زدایی و انتشار به آزمایش نیاز ندارد، هیچ تغییری لازم نیست.
android.proguard.failOnMissingFiles اگر هر یک از فایل های نگهداری مشخص شده در AGP DSL روی دیسک وجود نداشته باشد، ساخت با خطا انجام می شود. قبل از این تغییر، اشتباهات تایپی در نام فایل ها منجر به نادیده گرفتن فایل ها می شود. falsetrue هر گونه اعلامیه نامعتبر فایل های محافظ را حذف کنید
android.r8.optimizedResourceShrinking به R8 اجازه می دهد تا با در نظر گرفتن کلاس ها و منابع Android با هم، منابع Android کمتری را حفظ کند. falsetrue اگر قوانین حفظ پروژه شما از قبل کامل شده است، نیازی به تغییر نیست.
android.r8.strictFullModeForKeepRules به R8 اجازه می‌دهد با حفظ نکردن سازنده پیش‌فرض در هنگام نگه‌داشتن یک کلاس، مقدار کمتری را حفظ کند. یعنی -keep class A دیگر به معنی -keep class A { <init>(); }
falsetrue اگر قوانین حفظ پروژه شما از قبل کامل شده است، نیازی به تغییر نیست.

-keep class A با -keep class A { <init>(); } در قوانین keep پروژه شما برای هر موردی که نیاز به نگه داشتن سازنده پیش فرض دارید.
android.defaults.buildfeatures.resvalues resValues در تمام پروژه های فرعی فعال می کند truefalse با تنظیم موارد زیر در فایل‌های ساخت Gradle پروژه‌ها، resValues فقط در زیر پروژه‌هایی که به آن نیاز دارند، فعال کنید:
android {
  buildFeatures {
    resValues = true
  }
}
android.defaults.buildfeatures.shaders کامپایل سایه زن را در همه پروژه های فرعی فعال می کند truefalse با تنظیم موارد زیر در فایل‌های ساخت Gradle پروژه‌ها، کامپایل سایه‌زن را فقط در زیر پروژه‌هایی فعال کنید که حاوی سایه‌زن‌ها هستند:
android {
  buildFeatures {
    shaders = true
  }
}
android.r8.proguardAndroidTxt.disallowed در AGP 9.0، getDefaultProguardFile() فقط از proguard-android-optimize.txt به جای proguard-android.txt پشتیبانی می کند. این برای جلوگیری از استفاده تصادفی از پرچم dontoptimize است که در proguard-android.txt موجود است. falsetrue اگر می‌خواهید از بهینه‌سازی اجتناب کنید، در کنار استفاده از proguard-android-optimize.txt می‌توانید صراحتاً dontoptimize در یک proguardFile سفارشی مشخص کنید. در صورت امکان، پرچم dontoptimize از این فایل حذف کنید، زیرا مزایای بهینه سازی R8 را کاهش می دهد. اگر نه، با تنظیم android.r8.globalOptionsInConsumerRules.disallowed=false ، انصراف دهید.
android.r8.globalOptionsInConsumerRules.disallowed از AGP 9.0، اگر مصرف‌کننده فایل‌های حاوی پیکربندی‌های مشکل‌ساز Proguard را حفظ کند، انتشار کتابخانه و ماژول ویژگی‌های Android با شکست مواجه می‌شود. فایل‌های نگهداری از مصرف‌کننده که شامل گزینه‌های سراسری مانند dontoptimize یا dontobfuscate هستند، فقط باید در ماژول‌های برنامه استفاده شوند و می‌توانند مزایای بهینه‌سازی را برای کاربران کتابخانه کاهش دهند. اگر در یک وابستگی از پیش کامپایل شده (JAR یا AAR) جاسازی شود، کامپایل ماژول برنامه Android به‌طور بی‌صدا چنین گزینه‌های جهانی را نادیده می‌گیرد. می‌توانید با بررسی configuration.txt (معمولاً در مسیری مانند <app_module>/build/outputs/mapping/<build_variant>/configuration.txt /configuration.txt) مشاهده کنید که چه زمانی این اتفاق می‌افتد: # REMOVED CONSUMER RULE: dontoptimize falsetrue کتابخانه های منتشر شده باید قوانین ناسازگار را حذف کنند. کتابخانه های داخلی باید هر گونه قوانین ناسازگار اما لازم را به جای آن به یک proguardFile در یک ماژول برنامه منتقل کنند. با تنظیم android.r8.globalOptionsInConsumerRules.disallowed=false انصراف دهید. هنگامی که همه فایل‌های ذخیره مصرف‌کننده شما سازگار هستند، انصراف را حذف کنید.

ویژگی های حذف شده

پلاگین 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 را هدف قرار می دهند، استفاده مستقیم از گیرنده با نسخه های AGP کمتر از 9.0 باینری سازگار است.

DSL حذف شد

پلاگین Android Gradle 9.0 حذف می کند:

API های حذف شده

پلاگین Android Gradle 9.0 حذف می کند:

ویژگی های Gradle حذف شد

ویژگی‌های Gradle زیر ابتدا به‌عنوان راه‌هایی برای غیرفعال کردن ویژگی‌هایی که به‌طور پیش‌فرض فعال شده بودند، اضافه شدند.

این ویژگی‌ها به‌طور پیش‌فرض از نسخه AGP 8.0 یا پایین‌تر غیرفعال شده‌اند. این ویژگی‌ها را فقط در پروژه‌های فرعی فعال کنید که از آنها برای ساخت کارآمدتر استفاده می‌کنند.

اموال تابع جایگزینی
android.defaults.buildfeatures.aidl تدوین AIDL را در همه پروژه های فرعی فعال می کند با تنظیم ویژگی زیر در فایل های ساخت Gradle پروژه ها، کامپایل AIDL را فقط در زیر پروژه هایی که منابع AIDL وجود دارد، فعال کنید:
android {
  buildFeatures {
    aidl = true
  }
}
در فایل ساخت Gradle هر زیر پروژه حاوی منابع AIDL
android.defaults.buildfeatures.renderscript کامپایل RenderScript را در همه پروژه های فرعی فعال می کند کامپایل رندر اسکریپت را فقط در پروژه های فرعی که منابع رندر اسکریپت در آن ها وجود دارد با تنظیم ویژگی زیر در فایل های ساخت Gradle آن پروژه ها فعال کنید:
android {
  buildFeatures {
    renderScript = true
  }
}

ویژگی های Gradle اجباری

اگر ویژگی های Gradle زیر را تنظیم کنید AGP 9.0 خطا می دهد.

افزونه Android Gradle به‌روزرسانی دستیار پروژه‌هایی را که از این ویژگی‌ها استفاده می‌کنند به AGP 9.0 ارتقا نمی‌دهد.

اموال تابع
android.r8.integratedResourceShrinking اکنون کوچک شدن منابع همیشه به عنوان بخشی از R8 اجرا می شود، پیاده سازی قبلی حذف شده است.

مسائل رفع شد

پلاگین اندروید Gradle 9.0.0-alpha10

رفع مشکلات
پلاگین اندروید Gradle
extractNativeLibs و useEmbeddedDex نباید از مانیفست بیایند
هشدارهای R8 در AGP 9.0.0-alpha09
لینت
Kotlin داخلی .kotlin_module را به META-INF اضافه نمی کند
Lint classpath شامل کلاس های تکراری در نسخه های مختلف است
نادیده گرفتن راه حل منابع خصوصی کار نمی کند (ابزار: override = "درست")

پلاگین اندروید Gradle 9.0.0-alpha09

رفع مشکلات
پلاگین اندروید Gradle
افزونه «legacy-kapt» برخلاف «kotlin-kapt» از پردازش حاشیه نویسی صرف نظر می کند
compileSdkSpec.minorApiLevel با SettingsExtension کار نمی کند
[fused lib - public] کتابخانه ذوب شده تولید شده شامل منابع نمی شود

پلاگین اندروید Gradle 9.0.0-alpha08

رفع مشکلات
هیچ مشکل عمومی به عنوان ثابت در AGP 9.0.0-alpha08 علامت‌گذاری نشد

پلاگین اندروید Gradle 9.0.0-alpha07

رفع مشکلات
پلاگین اندروید Gradle
اگر وظایف تولید کد وجود داشته باشد، یک بیلد با شکست مواجه می شود
با «android.builtInKotlin=false» و «android.newDsl=false» و «android.enableLegacyVariantApi=false»، استفاده از افزونه «kotlin-android» با «API «ApplicationVariants منسوخ شده است» ناموفق خواهد بود.
Kotlin داخلی در هنگام kotlin.stdlib.default.dependency=false قادر به حل و فصل kotlin-stdlib بدون نسخه نمی باشد
DexData یک فایل را بدون بسته شدن باز می کند و از پاکسازی جلوگیری می کند
AndroidSourceDirectorySet باید توسعه PatternFilterable را در AGP 9.0 متوقف کند.
خطای تست فیکسچر در ماژول‌های فقط تست
خطای نادرست هنگام استفاده از گیرنده های زمینه در تجهیزات آزمایشی
خطاهای IDE نادرست برای کد Kotlin در testFixtures

پلاگین Android Gradle 9.0.0-alpha06

رفع مشکلات
پلاگین اندروید Gradle
DSL بهینه سازی جدید به طور پیش فرض configuration.txt را ایجاد نمی کند
AGP 8.13.0 نمی تواند نمودار ناوبری را در یک ماژول تأیید کند
AGP از Gradle API منسوخ شده استفاده می کند: نماد چند رشته ای
به کاربرانی که سعی در استفاده از کتابخانه مولتی دکس قدیمی با minSdkVersion >=21 دارند، هشدار دهید
لینت
بررسی Lint ChecksSdkIntAtLeast بررسی نمی کند که آیا مقدار حاشیه نویسی درست است یا خیر

پلاگین اندروید Gradle 9.0.0-alpha05

رفع مشکلات
پلاگین اندروید Gradle
android.proguard.failOnMissingFiles برای customersProguardFiles کار نمی کند
وابستگی افزونه Kotlin Gradle را به 2.2.10 به روز کنید
KotlinJvmAndroidCompilation را با استفاده از KGP API ایجاد کنید
حالت API صریح Kotlin برای منابع آزمایشی اعمال شد
لینت
هشدار پرز پرز "نمی توان حافظه پنهان K2 را پاک کرد"

پلاگین اندروید Gradle 9.0.0-alpha04

رفع مشکلات
پلاگین اندروید Gradle
نسخه پیش‌فرض منبع/هدف جاوا را از جاوا 8 به جاوا 11 در AGP 9.0 تغییر دهید
android.useAndroidX پیش‌فرض را روی true برگردانید
در هنگام استفاده از افزونه kapt با Kotlin داخلی، استثنا بهتر است.
لینت
هشدار پرز پرز "نمی توان حافظه پنهان K2 را پاک کرد"

پلاگین اندروید Gradle 9.0.0-alpha03

رفع مشکلات
پلاگین اندروید Gradle
وقتی «isIncludeAndroidResources» فعال است، «process{Variant}UnitTestManifest» در ادغام tools:overrideLibrary در AGP 8.12.0 شکست خورده است.
AGP باعث اخطار منسوخ شدن در Gradle برای وظایف تست JVM می شود
DependencyReportTask با کش پیکربندی ناسازگار است
لینت
اشکال: حذف منابع استفاده نشده ترجمه آنها را نیز حذف نمی کند و در مورد آن نیز سوال نمی کند.

پلاگین Android Gradle 9.0.0-alpha02

رفع مشکلات
پلاگین اندروید Gradle
زمانی که فایل proguard وجود نداشته باشد، ساخت ناموفق است
حذف پیش فرض های buildconfig پرچم های gradle.properties
مقدار پیش‌فرض targetSdk برنامه را تغییر دهید تا به جای minSdk بر اساس compileSdk باشد

پلاگین Android Gradle 9.0.0-alpha01

رفع مشکلات
پلاگین اندروید Gradle
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