به روز رسانی پلاگین Gradle و Android Gradle
نسخه های Gradle و Android Gradle Plugin را ارتقا دهید
ابتدا نسخه Gradle و Android Gradle Plugin خود را ارتقا دهید. این ارتقاء شامل سازگاری بهتر با برخی وابستگیهای SDK (از جمله Kotlin 1.9) و همچنین برخی رفع اشکالات مهم است.
این نسخه اصلی SDK به وابستگیهای نسخه زیر برای پروژه برنامه Android شما نیاز دارد:
- نسخه Gradle حداقل v7.5.0 اما بالاتر از v7.6.0 نیست.
- یک نسخه Android Gradle Plugin (AGP) در محدوده v7.4.x.
می توانید نسخه بالاتری از افزونه ها را هدف قرار دهید. با این حال، ممکن است با هشدارهای منسوخ شدن مواجه شوید، یا برخی از ویژگی های جدید ممکن است کار نکنند.
برای تغییر نسخه Gradle، خط را در فایل /gradle/wrapper/gradle-wrapper.properties
پروژه خود تغییر دهید.
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
برای تغییر نسخه Android Gradle Plugin، فایل build.gradle
را که حاوی بلوک buildscript
است تغییر دهید. به عنوان مثال:
buildscript {
repositories {
google()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.1'
}
}
جاوا 7 به جاوا 8 از مهاجرت پشتیبانی می کند
مرحله 1 - پشتیبانی از کتابخانه جاوا 8 را فعال کنید
از آنجایی که سطح SDK min API 23 است و نسخه AGP مورد نیاز 7.4+ است، پیکربندی کمی با مستندات منبع ذکر شده متفاوت است.
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'
}
مرحله 2 - از Proguard یا Dexguard به R8 مهاجرت کنید
AGP v7.4+ از R8 به عنوان ابزار کوچک کردن، مبهم سازی و بهینه سازی پیش فرض برای باینری استفاده می کند، بنابراین در این مرحله نیازی به اقدام خاصی نیست.
اگر پروژه از AGP 4.0+ منتقل شود، AGP ممکن است هشدارهای زیر را در مورد حذف فایل صادر کند:
-
useProguard true
در فایلbuild.gradle
-
android.enableR8=false
در فایلgradle.properties
حذف این خطوط معمولاً آن مشکلات را حل می کند.
مهاجرت کاتلین 1.6 به 1.9
مرحله 1 - به پلاگین Kotlin Gradle 1.9.0 مهاجرت کنید
نسخه پلاگین 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 1.6.X یا 1.7.X می آیید، باید برنامه خود را از Kotlin-synthetics منتقل کنید. برای اطلاعات بیشتر به راهنمای رسمی مهاجرت مراجعه کنید.
مرحله 2 - kotlin-stdlib را به 1.9.0 ارتقا دهید
kotlin-stblib
را در فایل build.gradle برنامه خود به 1.9.0 ارتقا دهید.
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}
مطمئن شوید که هر گونه ارجاع به kotlin-stdlib-jdk7
یا kotlin-stdlib-jdk8
را حذف کرده اید. هر دو وابستگی با شروع Kotlin 1.8.0 در kotlin-stdlib
ادغام شدهاند.