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

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.13.2 पर सेट किया गया है:

Kotlin

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

Groovy

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

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

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

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

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

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

प्लगिन का वर्शनGradle का ज़रूरी कम से कम वर्शन
8.138.13
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.47.5
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 का ज़रूरी वर्शन
Otter 2 के लिए नई सुविधाओं वाला सॉफ़्टवेयर अपडेट | 2025.2.2 4.0-8.13
Otter | 2025.2.1 4.0-8.13
Narwhal 4 Feature Drop | 2025.1.4 4.0-8.13
Narwhal 3 Feature Drop | 2025.1.3 4.0-8.13
Narwhal Feature Drop | 2025.1.2 4.0-8.12
Narwhal | 2025.1.1 3.2-8.11
Meerkat Feature Drop | 2024.3.2 3.2-8.10
मीरकैट | 2024.3.1 3.2-8.9

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

Android Studio का वर्शन AGP का ज़रूरी वर्शन
लेडीबग फ़ीचर ड्रॉप | 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
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 OS के प्रीव्यू वर्शन को टारगेट करने वाले प्रोजेक्ट पर काम करने के लिए, Android Studio और AGP के नए प्रीव्यू वर्शन का इस्तेमाल करें. Android Studio के स्टेबल वर्शन के साथ-साथ, इसके प्रीव्यू वर्शन भी इंस्टॉल किए जा सकते हैं.

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

API स्तर Android Studio का कम से कम वर्शन एजीपी का कम से कम वर्शन
36.1 Narwhal 3 का फ़ीचर ड्रॉप | 2025.1.3 8.13.0
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.13.2

Kotlin 2.3 के साथ काम करता है: Android Gradle प्लगिन 8.13.2, R8 8.13.19 का इस्तेमाल करता है. यह Kotlin 2.3 के साथ काम करता है.

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

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

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

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

Android Gradle प्लगिन 8.13.2

ठीक की गई समस्याएं
Android Gradle प्लग इन
AGP 8.12.0 से AAPT2 को SSSE3 और SSE4_1 की ज़रूरत होती है. हालांकि, F-Droid buildserver में यह सुविधा काम नहीं करती
Shrinker (R8)
Kotlin 2.3 के लिए सहायता: kotlin-metadata-jvm लाइब्रेरी को 2.2.10 पर अपडेट करें.
RemoveVerificationErrorForUnknownReturnedValues से, लॉक की पुष्टि करने से जुड़ी गड़बड़ियां हो सकती हैं

Android Gradle प्लगिन 8.13.1

ठीक की गई समस्याएं
Android Gradle प्लग इन
इंक्रीमेंटल कंपाइलेशन के दौरान, नेविगेशन ग्राफ़ से मिले नए रिसॉर्स आईडी हल नहीं किए जाते
compileSdkSpec.minorApiLevel, SettingsExtension के साथ काम नहीं कर रहा है
Shrinker (R8)
R8 8.11 और इसके बाद के वर्शन का इस्तेमाल करने पर, java.lang.VerifyError के साथ रनटाइम में ऐप्लिकेशन क्रैश हो जाता है
ApiModeling की वजह से, रनटाइम के दौरान SurfaceTexture क्रैश हो जाता है.
क्लास का नाम $ से खत्म होने पर, java.lang.StringIndexOutOfBoundsException के साथ ऑप्टिमाइज़ किए गए रिसॉर्स को छोटा करने की प्रोसेस पूरी नहीं होती
रनटाइम में गड़बड़ी हो सकती है: R8 के तरीके से डुप्लीकेट कोड हटाने और ART इंटरप्रेटर कैश मेमोरी की वजह से, सुपरक्लास मैच नहीं हो रहा है
D8, इस्तेमाल किए गए फ़ील्ड को मिटा देता है
AGP 8.13.0: r8 में यह गड़बड़ी हुई: ERROR: R8: java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "<local7>" is null
r8lib.jar में मौजूद कुछ SourceFile एट्रिब्यूट सही नहीं हैं
AGP 8.12.0+ के साथ बंडल किए गए R8 वर्शन, Play Billing 8.0.0 के साथ मेमोरी से जुड़ी गड़बड़ी कर सकते हैं
R8, इनलाइन और सस्पेंड फ़ंक्शन को तोड़ता है
R8 8.11.18 की मदद से ऑप्टिमाइज़ करने के बाद, गैर-कानूनी कोड बनाया गया

Android Gradle प्लगिन 8.13.0

ठीक की गई समस्याएं
Android Gradle Plugin
AAR बनाते समय, लाइब्रेरी प्रोजेक्ट में CheckAarMetadataTask चलाएं
फ़्यूज़्ड लाइब्रेरी प्लगिन, बाहरी लाइब्रेरी से संसाधन के रेफ़रंस को प्रोसेस नहीं कर सकता
Fused Library प्लगिन को overrideLibrary का इस्तेमाल करने की अनुमति देनी चाहिए
ऐप्लिकेशन के targetSdk की डिफ़ॉल्ट वैल्यू को minSdk के बजाय compileSdk पर आधारित करें
Gradle मैनेज किए गए डिवाइसों के साथ `com.android.kotlin.multiplatform.library` क्रैश हो जाता है
Shrinker (R8)
R8 की मदद से, ऐसी क्लास से ClassCastException जिसे कास्ट नहीं किया जा सकता
ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 since 8.10.0
enableExperimentalPartialShrinking API में पैटर्न पार्स करने के लिए, बहुत सख्त नियम लागू होते हैं