Android Gradle प्लगिन 8.3.0 एक मुख्य रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.
इनके साथ काम करता है
Android Gradle प्लगिन 8.3, ज़्यादा से ज़्यादा एपीआई लेवल 34 के साथ काम करता है. Android Gradle प्लगिन 8.6 के साथ काम करने वाले टूल वर्शन से जुड़ी अन्य ज़रूरी जानकारी यहां देखें:
| सबसे पुराना वर्शन | डिफ़ॉल्ट वर्शन | नोट | |
|---|---|---|---|
| ग्रेडल | 8.4 | 8.4 | ज़्यादा जानकारी के लिए, Gradle को अपडेट करने का तरीका देखें. |
| एसडीके बिल्ड टूल | 34.0.0 | 34.0.0 | एसडीके बिल्ड टूल इंस्टॉल करें या कॉन्फ़िगर करें. |
| एनडीके (NDK) | लागू नहीं | 25.1.8937393 | एनडीके का कोई दूसरा वर्शन इंस्टॉल करें या कॉन्फ़िगर करें. |
| जेडीके | 17 | 17 | ज़्यादा जानने के लिए, जेडीके वर्शन सेट करना लेख पढ़ें. |
Android Gradle प्लगिन 8.3 में ये नई सुविधाएं जोड़ी गई हैं.
पैच रिलीज़
Android Studio Iguana और Android Gradle प्लगिन 8.3 में रिलीज़ किए गए पैच की सूची यहां दी गई है.
Android Studio Iguana | 2023.2.1 पैच 2 और AGP 8.3.2 (अप्रैल 2024)
इस छोटे अपडेट में, ये गड़बड़ियां ठीक की गई हैं.
Android Studio Iguana | 2023.2.1 Patch 1 और AGP 8.3.1 (मार्च 2024)
इस छोटे अपडेट में, ये गड़बड़ियां ठीक की गई हैं.
Gradle के वर्शन कैटलॉग के लिए सहायता
Android Studio, TOML पर आधारित Gradle वर्शन कैटलॉग के साथ काम करता है. इस सुविधा की मदद से, एक ही जगह पर डिपेंडेंसी मैनेज की जा सकती हैं. साथ ही, डिपेंडेंसी को मॉड्यूल या प्रोजेक्ट के साथ शेयर किया जा सकता है. Android Studio में अब एडिटर के सुझावों और प्रोजेक्ट स्ट्रक्चर डायलॉग के साथ इंटिग्रेशन की मदद से, वर्शन कैटलॉग को कॉन्फ़िगर करना आसान हो गया है. Gradle Version Catalogs को सेट अप और कॉन्फ़िगर करने का तरीका जानें. इसके अलावा, अपने बिल्ड को वर्शन कैटलॉग में माइग्रेट करने का तरीका भी जानें.
कोड पूरा करने और नेविगेट करने की सुविधा
Android Studio, TOML फ़ाइल फ़ॉर्मैट में वर्शन कैटलॉग में बदलाव करते समय या वर्शन कैटलॉग से किसी बिल्ड फ़ाइल में डिपेंडेंसी जोड़ते समय, कोड पूरा करने की सुविधा देता है. कोड पूरा करने की सुविधा का इस्तेमाल करने के लिए, Ctrl+Space
(macOS पर Command+Space) दबाएं. इसके अलावा, अपने ऐप्लिकेशन की build.gradle फ़ाइल में मौजूद किसी डिपेंडेंसी रेफ़रंस से, वर्शन कैटलॉग में मौजूद उस जगह पर तुरंत नेविगेट किया जा सकता है जहां उसे घोषित किया गया है. इसके लिए, Ctrl+b (macOS पर Command+b) दबाएं.

प्रोजेक्ट स्ट्रक्चर डायलॉग के साथ इंटिग्रेशन
अगर आपके प्रोजेक्ट में TOML फ़ाइल फ़ॉर्मैट में तय किया गया वर्शन कैटलॉग इस्तेमाल किया जाता है, तो Android Studio में प्रोजेक्ट स्ट्रक्चर डायलॉग वेरिएबल व्यू (फ़ाइल > प्रोजेक्ट स्ट्रक्चर > वेरिएबल) के ज़रिए, वहां तय किए गए वैरिएबल में बदलाव किया जा सकता है. हर वर्शन कैटलॉग के लिए, एक ड्रॉप-डाउन होता है. इसमें उस कैटलॉग के वैरिएबल की सूची होती है. किसी वैरिएबल में बदलाव करने के लिए, उसकी वैल्यू पर क्लिक करें और उसे बदलें. इन बदलावों को सेव करने पर, TOML फ़ाइल अपडेट हो जाती है.

प्रोजेक्ट स्ट्रक्चर डायलॉग में जाकर भी डिपेंडेंसी अपडेट की जा सकती हैं. इसके लिए, डिपेंडेंसी व्यू (फ़ाइल > प्रोजेक्ट स्ट्रक्चर > डिपेंडेंसी) पर जाएं. प्रोजेक्ट स्ट्रक्चर डायलॉग का इस्तेमाल करके वर्शन अपडेट करने के लिए, उस मॉड्यूल और डिपेंडेंसी पर जाएं जिसमें आपको बदलाव करना है. इसके बाद, अनुरोधित वर्शन फ़ील्ड को अपडेट करें. इन बदलावों को सेव करने पर, TOML फ़ाइल अपडेट हो जाती है. ध्यान दें कि अगर किसी वैरिएबल का इस्तेमाल करके डिपेंडेंसी वर्शन तय किया गया था, तो इस तरीके से वर्शन को सीधे तौर पर अपडेट करने से, वैरिएबल को हार्डकोड की गई वैल्यू से बदल दिया जाता है. यह भी ध्यान रखें कि बिल्ड फ़ाइल से किसी डिपेंडेंसी को हटाने पर, वह वर्शन कैटलॉग से नहीं हटती है. इसके लिए, प्रोजेक्ट स्ट्रक्चर डायलॉग का इस्तेमाल करना ज़रूरी नहीं है.

पहले से मालूम समस्याएं और सीमाएं
Android Studio में Gradle वर्शन कैटलॉग के साथ काम करने से जुड़ी ये समस्याएं या सीमाएं हैं.
Kotlin स्क्रिप्ट फ़ाइलों में प्लगिन के एलियास के एलान को हाइलाइट करने वाला प्लगिन: जब
alias(libs.plugins.example)के फ़ॉर्म में प्लगिन का एलान जोड़ा जाता है, तो एडिटरlibsवाले हिस्से के नीचे लाल रंग का अंडरलाइन जोड़ता है. यह Gradle के 8.0 और इससे पहले के वर्शन में मौजूद एक जानी-पहचानी समस्या है. इसे Gradle के आने वाले वर्शन में ठीक कर दिया जाएगा.Android Studio में, सिर्फ़ TOML फ़ॉर्मैट वाले वर्शन कैटलॉग काम करते हैं: Android Studio में कोड पूरा करने, नेविगेशन, और प्रोजेक्ट स्ट्रक्चर डायलॉग की सुविधा सिर्फ़ उन वर्शन कैटलॉग के लिए उपलब्ध है जो TOML फ़ाइल फ़ॉर्मैट में तय किए गए हैं. हालांकि,
settings.gradleफ़ाइल में सीधे तौर पर वर्शन कैटलॉग जोड़ा जा सकता है. साथ ही, अपने प्रोजेक्ट में इसकी डिपेंडेंसी का इस्तेमाल किया जा सकता है.KTS बिल्ड फ़ाइलों के लिए नेविगेशन की सुविधा काम नहीं करती: Control+क्लिक (macOS पर Command+क्लिक) का इस्तेमाल करके, वर्शन कैटलॉग में डिपेंडेंसी की परिभाषा पर जाने की सुविधा, Kotlin स्क्रिप्ट का इस्तेमाल करके लिखी गई बिल्ड फ़ाइलों के लिए फ़िलहाल उपलब्ध नहीं है.
Firebase Assistant, डिपेंडेंसी को सीधे तौर पर बिल्ड स्क्रिप्ट में जोड़ता है: Firebase Assistant, डिपेंडेंसी को सीधे तौर पर आपकी बिल्ड स्क्रिप्ट में जोड़ता है, न कि वर्शन कैटलॉग के ज़रिए.
"इस्तेमाल के उदाहरण ढूंढें" सुविधा मौजूद नहीं है: वर्शन कैटलॉग के वैरिएबल के इस्तेमाल के उदाहरणों को अन्य बिल्ड फ़ाइलों में ढूंढने की सुविधा अभी मौजूद नहीं है. भले ही, बिल्ड फ़ाइल KTS या Groovy में हो. इसका मतलब है कि वर्शन कैटलॉग में किसी वैरिएबल की परिभाषा पर Control+क्लिक (macOS पर Command+क्लिक) करने से, उन बिल्ड फ़ाइलों पर नहीं पहुंचा जा सकता जहां वैरिएबल का इस्तेमाल किया गया है.
अगर कैटलॉग फ़ाइलें रूट
gradleफ़ोल्डर में हैं, तो Android Studio में प्रोजेक्ट स्ट्रक्चर डायलॉग बॉक्स में कई कैटलॉग फ़ाइलें दिखती हैं. हालांकि, कंपोज़िट बिल्ड के लिए कैटलॉग नहीं दिखते. उदाहरण के लिए, अगर आपके पास दो कैटलॉग फ़ाइलें हैं—एक आपके ऐप्लिकेशन के लिए और दूसरी कंपोज़िट बिल्ड के लिए—तो प्रोजेक्ट स्ट्रक्चर डायलॉग में सिर्फ़ ऐप्लिकेशन कैटलॉग फ़ाइल दिखेगी. कंपोज़िट बिल्ड का इस्तेमाल किया जा सकता है. हालांकि, आपको इसकी TOML फ़ाइल में सीधे तौर पर बदलाव करना होगा.
एसडीके टूल के बारे में ज़्यादा जानकारी: नीति से जुड़ी समस्याएं
Android Studio, सार्वजनिक एसडीके के लिए लिंट चेतावनियां दिखाता है. ये चेतावनियां, build.gradle.kts और build.gradle फ़ाइलों में दिखती हैं. साथ ही, Google Play एसडीके इंडेक्स में Play की नीति के उल्लंघन वाले सार्वजनिक एसडीके के लिए, प्रोजेक्ट स्ट्रक्चर डायलॉग में भी दिखती हैं. आपको Play की नीतियों का उल्लंघन करने वाली सभी डिपेंडेंसी को अपडेट करना चाहिए. ऐसा इसलिए, क्योंकि इन उल्लंघनों की वजह से, आने वाले समय में Google Play Console पर ऐप्लिकेशन पब्लिश करने में समस्या आ सकती है. नीति के उल्लंघन की चेतावनियां, Android Studio में दिखने वाली पुराने वर्शन की चेतावनियों के साथ दिखती हैं.
Android Studio के compileSdk वर्शन के साथ काम करने की सुविधा
अगर आपका प्रोजेक्ट ऐसे compileSdk का इस्तेमाल करता है जो Android Studio के मौजूदा वर्शन के साथ काम नहीं करता है, तो Android Studio एक चेतावनी दिखाता है. अगर उपलब्ध हो, तो यह compileSdk का इस्तेमाल करने वाले Android Studio के किसी ऐसे वर्शन पर स्विच करने का सुझाव भी देता है जो आपके प्रोजेक्ट के साथ काम करता हो. ध्यान रखें कि
Android Studio को अपग्रेड करने के लिए, आपको AGP को भी अपग्रेड करना पड़ सकता है.
अगर आपके प्रोजेक्ट में इस्तेमाल किया गया compileSdk, AGP के मौजूदा वर्शन के साथ काम नहीं करता है, तो AGP, Build टूल विंडो में एक चेतावनी भी दिखाता है.
लिंट के व्यवहार में बदलाव
Android Gradle प्लगिन 8.3.0-alpha02 और इसके बाद के वर्शन में, किसी मॉड्यूल पर lint चलाने पर, मॉड्यूल के मुख्य और टेस्ट कॉम्पोनेंट के लिए अलग-अलग lint विश्लेषण टास्क चलाए जाते हैं. इस बदलाव की वजह, परफ़ॉर्मेंस को बेहतर बनाना है.
पहले जैसा व्यवहार वापस लाने के लिए, अपनी gradle.properties फ़ाइल में android.experimental.lint.analysisPerComponent=false सेट करें.
इस्तेमाल नहीं किए जाने वाले रिसॉर्स को हटाने की प्रोसेस डिफ़ॉल्ट रूप से चालू होती है
संसाधन को छोटा करने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. इससे resources.arsc फ़ाइल से इस्तेमाल न की गई एंट्री हट जाती हैं और इस्तेमाल न की गई संसाधन फ़ाइलें मिट जाती हैं.
इस सुविधा के चालू होने पर, आपकी संसाधन टेबल छोटी हो जाती है. साथ ही, APK में सिर्फ़ res फ़ोल्डर की रेफ़रंस वाली एंट्री शामिल की जाती हैं.
रिसोर्स को सटीक तरीके से छोटा करने की सुविधा बंद करने के लिए, अपने प्रोजेक्ट की gradle.properties फ़ाइल में android.enableNewResourceShrinker.preciseShrinking को false पर सेट करें.
ठीक की गई समस्याएं
Android Gradle प्लगिन 8.3.2
| ठीक की गई समस्याएं | |||
|---|---|---|---|
| Android Gradle प्लगिन |
|
||
| लिंट इंटिग्रेशन |
|
||
Android Gradle प्लगिन 8.3.1
| ठीक की गई समस्याएं | ||
|---|---|---|
| Android Gradle प्लगिन |
|
|
| लिंट इंटिग्रेशन |
|
|
Android Gradle प्लगिन 8.3.0
| ठीक की गई समस्याएं | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Android Gradle प्लगिन |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| लिंट |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| लिंट इंटिग्रेशन |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Shrinker (R8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||