بهروزرسانیهای Gradle و افزایه Android Gradle
ارتقا دادن نسخههای Gradle و «افزایه Android Gradle»
ابتدا نسخههای Gradle و «افزایه Android Gradle» را ارتقا دهید. این ارتقا شامل سازگاری بهتر با برخیاز وابستگیهای کیت توسعه نرمافزار (ازجمله Kotlin 1.9) و همچنین برخیاز رفع اشکالهای مهم است.
این نسخه اصلی کیت توسعه نرمافزار به وابستگیهای نسخه زیر برای پروژه برنامه Android شما نیاز دارد:
- نسخه Gradle حداقل نسخه ۷.۵.۰ اما نه بالاتر از نسخه ۷.۶.۰.
- نسخه «افزایه Android Gradle» (AGP) در محدوده v7.4.x.
میتوانید نسخه بالاتری از افزونهها را هدف قرار دهید؛ اما ممکن است با هشدارهای منسوخ شدن مواجه شوید یا برخیاز ویژگیهای جدید کار نکنند.
برای اصلاح نسخه Gradle، خط را در فایل
/gradle/wrapper/gradle-wrapper.properties پروژه اصلاح کنید
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
برای اصلاح نسخه «افزایه Android Gradle»، فایل build.gradle را که حاوی بلوک buildscript است اصلاح کنید. برای مثال:
buildscript {
repositories {
google()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.1'
}
}
انتقال پشتیبانی کتابخانه Java 7 به Java 8
مرحله ۱ - فعال کردن پشتیبانی کتابخانه Java 8
ازآنجاییکه حداقل سطح میانای برنامهسازی کاربردی کیت توسعه نرمافزار ۲۳ است و نسخه AGP موردنیاز ۷.۴+ است، پیکربندی کمی با سند منبع ذکرشده متفاوت است.
buildscript {
repositories {
google()
mavenCentral()
jcenter()
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
}
}
dependencies {
classpath 'com.android.tools:r8:8.0.46'
classpath 'com.android.tools.build:gradle:7.4.1'
}
}
android {
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}
مرحله ۲ - انتقال از Proguard یا Dexguard به R8
AGP نسخه ۷.۴ و بالاتر از R8 بهعنوان ابزار پیشفرض کوچکسازی، مبهمسازی، و بهینهسازی برای باینری استفاده میکند، بنابراین در این مرحله به اقدام خاصی نیاز نیست.
اگر پروژه از AGP 4.0+ منتقل شده باشد، AGP ممکن است هشدارهای زیر را درباره حذف فایل صادر کند:
useProguard trueمورد استفاده در فایلbuild.gradleandroid.enableR8=falseمورد استفاده در فایلgradle.properties
برداشتن این خطوط معمولاً این مشکلات را برطرف میکند.
انتقال Kotlin نسخه ۱.۶ به ۱.۹
مرحله ۱ - انتقال به افزایه Kotlin Gradle نسخه ۱.۹.۰
نسخه «افزایه Kotlin Gradle» را در فایل build.gradle ماژول سطح بالای برنامهتان بهروز کنید. حتماً org.jetbrains.kotlin:kotlin-gradle-plugin را در وابستگیها از بلوک buildscript اضافه کنید، درصورتیکه وجود نداشته باشد.
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
}
}
اگر از Kotlin Gradle Plugin نسخه 1.6.X یا 1.7.X استفاده میکنید، باید برنامهتان را از Kotlin-synthetics منتقل کنید. برای اطلاعات بیشتر، به راهنمای انتقال رسمی مراجعه کنید.
مرحله ۲ - ارتقا دادن kotlin-stdlib به نسخه ۱.۹.۰
kotlin-stblib را در فایل build.gradle برنامه به نسخه ۱.۹.۰ ارتقا دهید.
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}
حتماً هرگونه ارجاع به kotlin-stdlib-jdk7 یا
kotlin-stdlib-jdk8 را بردارید. هر دو وابستگی در
kotlin-stdlib از Kotlin
1.8.0 ادغام شدهاند.