Gradle और Android Gradle प्लग इन से जुड़े अपडेट
Gradle और Android Gradle प्लग इन के वर्शन अपग्रेड करना
सबसे पहले, अपने Gradle और Android Gradle प्लग इन के वर्शन अपग्रेड करें. इस अपग्रेड में, SDK टूल की कुछ डिपेंडेंसी (जैसे, Kotlin 1.9) के साथ बेहतर तरीके से काम करने की सुविधा शामिल है. साथ ही, कुछ अहम गड़बड़ियां भी ठीक की गई हैं.
SDK टूल के इस मेजर वर्शन के साथ, आपके Android ऐप्लिकेशन प्रोजेक्ट के लिए, इन वर्शन की डिपेंडेंसी ज़रूरी हैं:
- Gradle का कम से कम v7.5.0 वर्शन, लेकिन v7.6.0 से ज़्यादा नहीं.
- Android Gradle प्लग इन (AGP) का v7.4.x से लेकर 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 लाइब्रेरी के साथ काम करने की सुविधा चालू करना
SDK टूल का कम से कम एपीआई लेवल 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'
}
दूसरा चरण - ProGuard या Dexguard से R8 पर माइग्रेट करना
AGP v7.4 और उसके बाद के वर्शन में, बाइनरी के लिए R8 को डिफ़ॉल्ट रूप से छोटा करने, गच्चा देने, और ऑप्टिमाइज़ करने वाले टूल के तौर पर इस्तेमाल किया जाता है. इसलिए, फ़िलहाल आपको कोई खास कार्रवाई करने की ज़रूरत नहीं है.
अगर प्रोजेक्ट को AGP 4.0 या उसके बाद के वर्शन से माइग्रेट किया गया है, तो AGP फ़ाइल हटाने के बारे में ये चेतावनियां जारी कर सकता है:
build.gradle
फ़ाइल मेंuseProguard true
का इस्तेमालgradle.properties
फ़ाइल मेंandroid.enableR8=false
का इस्तेमाल
आम तौर पर, इन लाइनों को हटाने से ये समस्याएं ठीक हो जाती हैं.
Kotlin 1.6 से 1.9 पर माइग्रेट करना
पहला चरण - Kotlin Gradle प्लग इन 1.9.0 पर माइग्रेट करना
अपने ऐप्लिकेशन के टॉप लेवल मॉड्यूल की build.gradle फ़ाइल में, Kotlin 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 से माइग्रेट करना होगा. ज़्यादा जानकारी के लिए, डेटा को दूसरी जगह भेजने से जुड़ी आधिकारिक गाइड देखें.
दूसरा चरण - kotlin-stdlib को 1.9.0 पर अपग्रेड करना
अपने ऐप्लिकेशन की build.gradle फ़ाइल में, kotlin-stblib
को 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
में मर्ज कर दिया गया है.