Android Gradle प्लग इन 8.12 की रिलीज़ से जुड़ी जानकारी

JCenter रिपॉज़िटरी, 31 मार्च, 2021 को रीड-ओनली मोड में बदल गई थी. ज़्यादा जानकारी के लिए, JCenter की सेवा से जुड़ा अपडेट देखें.

Android Studio का बिल्ड सिस्टम, Gradle पर आधारित है. Android Gradle प्लग-इन, Android ऐप्लिकेशन बनाने से जुड़ी कई सुविधाएं जोड़ता है. आम तौर पर, Android Gradle प्लग इन (एजीपी) को Android Studio के साथ-साथ अपडेट किया जाता है. हालांकि, प्लग इन (और Gradle सिस्टम के बाकी हिस्से) को Android Studio से अलग चलाया जा सकता है और इसे अलग से अपडेट किया जा सकता है.

इस पेज पर, Gradle टूल को अप-टू-डेट रखने का तरीका बताया गया है. साथ ही, हाल ही के अपडेट के बारे में जानकारी दी गई है. Android Gradle प्लग-इन के पिछले वर्शन के रिलीज़ नोट देखने के लिए, पिछले रिलीज़ नोट देखें.

Android Gradle प्लग इन में होने वाले बड़े बदलावों के बारे में खास जानकारी पाने के लिए, Android Gradle प्लग इन का रोडमैप देखें.

Gradle की मदद से, Android बिल्ड को कॉन्फ़िगर करने के तरीके के बारे में जानने के लिए, ये पेज देखें:

Gradle बिल्ड सिस्टम के बारे में ज़्यादा जानने के लिए, Gradle के लिए उपयोगकर्ता गाइड देखें.

Android Gradle प्लग इन को अपडेट करना

Android Studio को अपडेट करने पर, आपको Android Gradle प्लगिन को अपने-आप अपडेट करने का अनुरोध मिल सकता है. ऐसा तब होता है, जब प्लगिन का नया वर्शन उपलब्ध होता है. आपके पास अपडेट स्वीकार करने या अपने प्रोजेक्ट की बिल्ड की ज़रूरी शर्तों के आधार पर, मैन्युअल तरीके से कोई वर्शन तय करने का विकल्प होता है.

Android Studio में, फ़ाइल > प्रोजेक्ट स्ट्रक्चर > प्रोजेक्ट मेन्यू में जाकर या टॉप-लेवल की build.gradle.kts फ़ाइल में जाकर, प्लगिन का वर्शन तय किया जा सकता है. प्लगिन का वर्शन, Android Studio के उस प्रोजेक्ट में बनाए गए सभी मॉड्यूल पर लागू होता है. यहां दिए गए उदाहरण में, build.gradle.kts फ़ाइल से प्लगिन को वर्शन 8.12.0 पर सेट करने का तरीका बताया गया है:

Kotlin

plugins {
    id("com.android.application") version "8.12.0" apply false
    id("com.android.library") version "8.12.0" apply false
    id("org.jetbrains.kotlin.android") version "2.1.20" apply false
}

ग्रूवी

plugins {
    id 'com.android.application' version '8.12.0' apply false
    id 'com.android.library' version '8.12.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.20' apply false
}

चेतावनी: आपको वर्शन नंबर में डाइनैमिक डिपेंडेंसी का इस्तेमाल नहीं करना चाहिए. जैसे, 'com.android.tools.build:gradle:8.12.+'. इस सुविधा का इस्तेमाल करने से, वर्शन में अचानक अपडेट हो सकते हैं. साथ ही, वर्शन में अंतर को ठीक करने में मुश्किल आ सकती है.

अगर बताया गया प्लगिन वर्शन डाउनलोड नहीं किया गया है, तो Gradle उसे डाउनलोड कर लेता है. ऐसा तब होता है, जब अगली बार प्रोजेक्ट बनाया जाता है या Android Studio के मेन्यू बार में जाकर, फ़ाइल > Gradle फ़ाइलों के साथ प्रोजेक्ट सिंक करें पर क्लिक किया जाता है.

Gradle को अपडेट करना

Android Studio को अपडेट करने पर, आपको Gradle को भी उपलब्ध नए वर्शन में अपडेट करने का अनुरोध मिल सकता है. आपके पास अपडेट स्वीकार करने का विकल्प होता है. इसके अलावा, प्रोजेक्ट की बिल्ड से जुड़ी ज़रूरी शर्तों के आधार पर, मैन्युअल तरीके से कोई वर्शन तय किया जा सकता है.

यहां दी गई टेबल में बताया गया है कि Android Gradle प्लग इन के हर वर्शन के लिए, Gradle का कौनसा वर्शन ज़रूरी है. बेहतरीन परफ़ॉर्मेंस के लिए, आपको Gradle और प्लगिन, दोनों के नए वर्शन का इस्तेमाल करना चाहिए.

प्लगिन का वर्शनGradle का ज़रूरी कम से कम वर्शन
8.128.13
8.118.13
8.108.11.1
8.98.11.1
8.88.10.2
8.78.9
8.68.7
8.58.7
8.48.6
8.38.4
8.28.2
8.18.0
8.08.0

पुराने संस्करण

प्लगिन का वर्शनGradle का ज़रूरी वर्शन
7.4सऊदी रियाल
7.37.4
7.27.3.3
7.17.2
7.07.0
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 - 3.6.45.6.4+
3.5.0 - 3.5.45.4.1+
3.4.0 - 3.4.35.1.1+
3.3.0 - 3.3.34.10.1+
3.2.0 - 3.2.14.6+
3.1.0+4.4+
3.0.0 या इसके बाद के वर्शन4.1+
2.3.0+3.3+
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.3

Android Studio में, फ़ाइल > प्रोजेक्ट स्ट्रक्चर > प्रोजेक्ट मेन्यू में जाकर, Gradle का वर्शन सेट किया जा सकता है. इसके अलावा, कमांड लाइन का इस्तेमाल करके भी Gradle का वर्शन अपडेट किया जा सकता है. Gradle Wrapper कमांड लाइन टूल का इस्तेमाल करना सबसे अच्छा तरीका है. यह टूल, gradlew स्क्रिप्ट को अपडेट करता है. यहां दिए गए उदाहरण में, Gradle Wrapper का इस्तेमाल करके Gradle के वर्शन को 8.13 पर सेट किया गया है. ध्यान दें कि Gradle और Gradle Wrapper, दोनों को अपग्रेड करने के लिए, आपको यह निर्देश दो बार चलाना होगा. ज़्यादा जानकारी के लिए, Gradle Wrapper को अपग्रेड करना लेख पढ़ें.

gradle wrapper --gradle-version 8.13

हालांकि, कुछ मामलों में ऐसा नहीं हो सकता. उदाहरण के लिए, अगर आपने अभी-अभी AGP अपडेट किया है और वह Gradle के मौजूदा वर्शन के साथ काम नहीं करता है. ऐसे में, आपको gradle/wrapper/gradle-wrapper.properties फ़ाइल में Gradle डिस्ट्रिब्यूशन के रेफ़रंस में बदलाव करना होगा. नीचे दिए गए उदाहरण में, gradle-wrapper.properties फ़ाइल में Gradle का वर्शन 8.13 पर सेट किया गया है.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.13-bin.zip
...

Android Gradle प्लग इन और Android Studio के साथ काम करने की सुविधा

Android Studio का बिल्ड सिस्टम, Gradle पर आधारित है. साथ ही, Android Gradle प्लगइन (AGP) कई ऐसी सुविधाएं जोड़ता है जो Android ऐप्लिकेशन बनाने के लिए खास तौर पर डिज़ाइन की गई हैं. यहां दी गई टेबल में बताया गया है कि Android Studio के हर वर्शन के लिए, AGP का कौनसा वर्शन ज़रूरी है.

Android Studio का वर्शन AGP का ज़रूरी वर्शन
Narwhal Feature Drop | 2025.1.2 4.0-8.12
Narwhal | 2025.1.1 3.2-8.11
Meerkat की नई सुविधाओं वाला सॉफ़्टवेयर अपडेट | 2024.3.2 3.2-8.10
Meerkat | 2024.3.1 3.2-8.9
लेडीबग फ़ीचर ड्रॉप | 2024.2.2 3.2-8.8
Ladybug | 2024.2.1 3.2-8.7
Koala Feature Drop | 2024.1.2 3.2-8.6
Koala | 2024.1.1 3.2-8.5
Jellyfish | 2023.3.1 3.2-8.4
इगुआना | 2023.2.1 3.2-8.3
Hedgehog | 2023.1.1 3.2-8.2
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0

पुराने संस्करण

Android Studio का वर्शन AGP का ज़रूरी वर्शन
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Android Gradle प्लग इन में नया क्या है, इस बारे में जानने के लिए Android Gradle प्लग इन के रिलीज़ नोट देखें.

Android के एपीआई लेवल के लिए टूल के कम से कम वर्शन

Android Studio और AGP के कुछ ऐसे वर्शन हैं जो किसी खास एपीआई लेवल के साथ काम करते हैं. अपने प्रोजेक्ट के targetSdk या compileSdk के लिए ज़रूरी Android Studio या AGP के पुराने वर्शन का इस्तेमाल करने से, अनचाही समस्याएं हो सकती हैं. हमारा सुझाव है कि Android ओएस के प्रीव्यू वर्शन को टारगेट करने वाले प्रोजेक्ट पर काम करने के लिए, Android Studio और AGP के नए प्रीव्यू वर्शन का इस्तेमाल करें. Android Studio के स्टेबल वर्शन के साथ-साथ, इसके प्रीव्यू वर्शन भी इंस्टॉल किए जा सकते हैं.

Android Studio और AGP के कम से कम ये वर्शन होने चाहिए:

API स्तर Android Studio का कम से कम वर्शन एजीपी का कम से कम वर्शन
36.0 मीरकैट | 2024.3.1 पैच 1 8.9.1
35 Koala Feature Drop | 2024.2.1 8.6.0
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

वर्शनिंग में हुए बदलाव (नवंबर 2020)

हम Android Gradle प्लगइन (एजीपी) के वर्शन नंबर को अपडेट कर रहे हैं, ताकि यह Gradle बिल्ड टूल से ज़्यादा मेल खाए.

यहां मुख्य बदलावों के बारे में बताया गया है:

  • AGP अब सिमेंटिक वर्शनिंग का इस्तेमाल करेगा. साथ ही, बड़े बदलावों को मुख्य रिलीज़ के लिए टारगेट किया जाएगा.

  • हर साल AGP का एक मेजर वर्शन रिलीज़ किया जाएगा. यह Gradle के मेजर वर्शन के साथ अलाइन होगा.

  • AGP 4.2 के बाद रिलीज़ होने वाला वर्शन 7.0 होगा. इसके लिए, Gradle को 7.x वर्शन पर अपग्रेड करना होगा. AGP के हर मेजर वर्शन के लिए, Gradle टूल के अंडरलाइंग मेजर वर्शन को अपग्रेड करना ज़रूरी होगा.

  • एपीआई को बंद करने से करीब एक साल पहले इसकी सूचना दी जाएगी. साथ ही, एपीआई की जगह इस्तेमाल की जा सकने वाली सुविधा को भी उपलब्ध करा दिया जाएगा. पाबंदी वाले एपीआई को अगले बड़े अपडेट के दौरान, करीब एक साल बाद हटा दिया जाएगा.

इनके साथ काम करता है

Android Gradle प्लगिन 8.12, ज़्यादा से ज़्यादा एपीआई लेवल 36 के साथ काम करता है. यहां अन्य ज़रूरी जानकारी दी गई है:

कम से कम वर्शन डिफ़ॉल्ट वर्शन नोट
Gradle 8.13 8.13 ज़्यादा जानने के लिए, Gradle को अपडेट करना लेख पढ़ें.
एसडीके बिल्ड टूल 35.0.0 35.0.0 एसडीके बिल्ड टूल इंस्टॉल करें या कॉन्फ़िगर करें.
एनडीके लागू नहीं 27.0.12077973 NDK का कोई दूसरा वर्शन इंस्टॉल करें या कॉन्फ़िगर करें.
JDK 17 17 ज़्यादा जानने के लिए, JDK वर्शन सेट करना लेख पढ़ें.

ठीक की गई समस्याएं

Android Gradle प्लग इन 8.12.0

ठीक की गई समस्याएं
Android Gradle प्लग इन
experimentalProperties के लिए बूलियन वैल्यू कैसे तय करें
AGP का इस्तेमाल करके, डिवाइस की जांच को नॉन-डिफ़ॉल्ट बिल्ड टाइप में साफ़ तौर पर चालू करने की सुविधा काम नहीं करती
AGP को configurations.register पर ले जाएं, ताकि कॉन्फ़िगरेशन को तुरंत लागू होने से रोका जा सके
defaultExcludes में नेस्ट की गई MANIFEST.MF फ़ाइलें शामिल करें
includeAndroidResources == true होने पर, Gradle प्लग इन को टेस्ट मेनिफ़ेस्ट मर्ज करना चाहिए
src/extraMain/java फ़ोल्डर में मौजूद सोर्स फ़ाइलों को "built-in-kotlin" का इस्तेमाल करके कंपाइलर में नहीं जोड़ा जाता
SourceDirectories.addGeneratedSourceDirectory, कई वैरिएंट के साथ काम नहीं करता
AGP 8.8.0-alpha09 की वजह से, JaCoCo रिपोर्टिंग से जुड़ी कुछ समस्याएं आ रही हैं
[fused lib - public] adding kmp lib like coil does not work
मर्ज़ किए गए मेनिफ़ेस्ट में पैकेज के बारे में जानकारी देने की वजह से, AGP 8.12.0-alpha05 का इस्तेमाल करके टेस्ट नहीं बनाए जा सकते
AGP 8.12.0-alpha07, Firebase Performance Gradle प्लगिन लागू होने पर रिलीज़ बिल्ड जनरेट नहीं कर पाता
AGP KMP में ExtractAnnotations जोड़ें
BuiltInKotlinJvmAndroidCompilation, Kotlin कंपाइलर प्लग-इन के साथ काम नहीं करता. जैसे, Anvil और KSP
`:mergingArtifactAAR_METADATA` टास्क के दौरान, फ़्यूज़ किए गए लाइब्रेरी प्लगिन में गड़बड़ी हुई
Lint
AbstractAnnotationDetector, ओवरलोड किए गए गलत फ़ंक्शन/कंस्ट्रक्टर की जांच करता है
टेस्ट में Config.OLDEST_SDK का इस्तेमाल करने पर, Lint चेतावनी देता है
क्विकफ़िक्स के दौरान, TypoDetector में IllegalArgumentException की वजह से बार-बार क्रैश होने की समस्या
बग: Android Studio में जर्मन भाषा में "die die" के बारे में फ़ॉल्स पॉज़िटिव की समस्या हो सकती है
SupportAnnotationUsage नियम में KT-73255 काम करना चाहिए
[लिंट] `MemberExtensionConflict` के बहुत ज़्यादा फ़ॉल्स पॉज़िटिव - समस्या की जानकारी गलत है
[लिंट] पैरामीटर के नाम में टकराव होने पर, MemberExtensionConflict फ़ॉल्स पॉज़िटिव की समस्या
[lint] PropertyEscape false positive on valid properties file