Android Gradle प्लगइन 8.3.0 एक मेजर रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.
इनके साथ काम करता है
Android Gradle प्लगिन 8.3, एपीआई लेवल 34 तक के वर्शन के साथ काम करता है. यहां अन्य ज़रूरी जानकारी दी गई है:
कम से कम वर्शन | डिफ़ॉल्ट वर्शन | नोट | |
---|---|---|---|
Gradle | 8.4 | 8.4 | ज़्यादा जानने के लिए, Gradle को अपडेट करना लेख पढ़ें. |
एसडीके बिल्ड टूल | 34.0.0 | 34.0.0 | एसडीके बिल्ड टूल इंस्टॉल करें या कॉन्फ़िगर करें. |
एनडीके | लागू नहीं | 25.1.8937393 | NDK का कोई दूसरा वर्शन इंस्टॉल करें या कॉन्फ़िगर करें. |
JDK | 17 | 17 | ज़्यादा जानने के लिए, JDK वर्शन सेट करना लेख पढ़ें. |
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 SDK इंडेक्स में, 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.0
ठीक की गई समस्याएं | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Android Gradle प्लग इन |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint इंटिग्रेशन |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Shrinker (R8) |
|
Android Gradle प्लग इन 8.3.1
ठीक की गई समस्याएं | ||
---|---|---|
Android Gradle प्लग इन |
|
|
Lint इंटिग्रेशन |
|
Android Gradle प्लग इन 8.3.2
ठीक की गई समस्याएं | |||
---|---|---|---|
Android Gradle प्लग इन |
|
||
Lint इंटिग्रेशन |
|