Android Gradle प्लग इन 8.3.0 एक मेजर रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.
इनके साथ काम करता है
Android Gradle प्लग इन 8.3, एपीआई लेवल 34 तक के वर्शन के साथ काम करता है. यहां अन्य सिस्टम के साथ काम करने की जानकारी दी गई है:
कम से कम वर्शन | डिफ़ॉल्ट वर्शन | नोट | |
---|---|---|---|
Gradle | 8.4 | 8.4 | ज़्यादा जानने के लिए, Gradle को अपडेट करना लेख पढ़ें. |
SDK टूल के लिए बिल्ड टूल | 34.0.0 | 34.0.0 | SDK Build Tools को इंस्टॉल या कॉन्फ़िगर करें. |
एनडीके | लागू नहीं | 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 पैच 1 और AGP 8.3.1 (मार्च 2024)
इस छोटे अपडेट में, गड़बड़ियां ठीक करने से जुड़े ये अपडेट शामिल हैं.
Gradle वर्शन कैटलॉग के लिए सहायता
Android Studio, TOML पर आधारित Gradle वर्शन कैटलॉग के साथ काम करता है. इस सुविधा की मदद से, डिपेंडेंसी को एक ही जगह पर मैनेज किया जा सकता है और सभी मॉड्यूल या प्रोजेक्ट के साथ डिपेंडेंसी शेयर की जा सकती हैं. Android Studio में अब वर्शन कैटलॉग को कॉन्फ़िगर करना आसान हो गया है. इसके लिए, एडिटर के सुझावों और प्रोजेक्ट स्ट्रक्चर डायलॉग के साथ इंटिग्रेशन का इस्तेमाल किया जा सकता है. Gradle वर्शन कैटलॉग को सेट अप और कॉन्फ़िगर करने या अपने बिल्ड को वर्शन कैटलॉग में माइग्रेट करने का तरीका जानें.
कोड पूरा होने की सुविधा और नेविगेशन
Android Studio, TOML फ़ाइल फ़ॉर्मैट में वर्शन कैटलॉग में बदलाव करने या वर्शन कैटलॉग से किसी बिल्ड फ़ाइल में डिपेंडेंसी जोड़ने पर, कोड पूरा करने की सुविधा देता है. कोड पूरा होने की सुविधा का इस्तेमाल करने के लिए, Ctrl+Space (macOS पर Command+Space) दबाएं. इसके अलावा, Ctrl+b (macOS पर Command+b) दबाकर, अपने ऐप्लिकेशन की build.gradle
फ़ाइल में मौजूद डिपेंडेंसी रेफ़रंस से, वर्शन कैटलॉग में उस जगह पर तुरंत नेविगेट किया जा सकता है जहां इसे डिक्लेयर्ड किया गया है.
प्रोजेक्ट के स्ट्रक्चर वाले डायलॉग बॉक्स के साथ इंटिग्रेशन
अगर आपका प्रोजेक्ट, TOML फ़ाइल फ़ॉर्मैट में तय किए गए वर्शन कैटलॉग का इस्तेमाल करता है, तो Android Studio में Project Structure डायलॉग Variables व्यू (File > Project Structure > Variables) की मदद से, वहां तय किए गए वैरिएबल में बदलाव किया जा सकता है. हर वर्शन कैटलॉग के लिए, एक ड्रॉप-डाउन होता है. इसमें उस कैटलॉग के वैरिएबल की सूची होती है. किसी वैरिएबल में बदलाव करने के लिए, उसकी वैल्यू पर क्लिक करके उसे बदलें. इन बदलावों को सेव करने पर, 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+क्लिक) करने पर, वैरिएबल का इस्तेमाल करने वाली बिल्ड फ़ाइलें नहीं खुलती हैं.
Android Studio में प्रोजेक्ट स्ट्रक्चर डायलॉग, रूट
gradle
फ़ोल्डर में मौजूद एक से ज़्यादा कैटलॉग फ़ाइलें दिखाता है. हालांकि, यह कंपोज़िट बिल्ड के लिए कैटलॉग नहीं दिखाता. उदाहरण के लिए, अगर आपके पास दो कैटलॉग फ़ाइलें हैं—एक आपके ऐप्लिकेशन के लिए और एक कॉम्पोज़िट बिल्ड के लिए—तो प्रोजेक्ट स्ट्रक्चर डायलॉग सिर्फ़ ऐप्लिकेशन कैटलॉग फ़ाइल दिखाता है. कॉम्पोज़िट बिल्ड का इस्तेमाल किया जा सकता है, लेकिन आपको सीधे उसकी TOML फ़ाइल में बदलाव करना होगा.
SDK टूल के बारे में ज़्यादा जानकारी: नीति से जुड़ी समस्याएं
Android Studio, build.gradle.kts
और build.gradle
फ़ाइलों में और प्रोजेक्ट के स्ट्रक्चर वाले डायलॉग बॉक्स में, सार्वजनिक तौर पर उपलब्ध उन SDK टूल के लिए लिंट से जुड़ी चेतावनियां दिखाता है जिनके लिए Google Play SDK इंडेक्स में, Play की नीति का उल्लंघन करने की जानकारी दी गई है. आपको ऐसी सभी डिपेंडेंसी अपडेट करनी चाहिए जो Play की नीतियों का उल्लंघन करती हैं. ऐसा इसलिए, क्योंकि इन उल्लंघनों की वजह से, आने वाले समय में आपको Google Play Console पर पब्लिश करने से रोका जा सकता है. नीति उल्लंघन की चेतावनियां, Android Studio के पुराने वर्शन से जुड़ी चेतावनियों के साथ दिखती हैं.
Android Studio के compileSdk वर्शन के साथ काम करने की सुविधा
अगर आपके प्रोजेक्ट में किसी ऐसे compileSdk
का इस्तेमाल किया गया है जो Android Studio के मौजूदा वर्शन के साथ काम नहीं करता, तो Android Studio चेतावनी दिखाता है. अगर उपलब्ध हो, तो यह Android Studio के उस वर्शन पर स्विच करने का सुझाव भी देता है जो आपके प्रोजेक्ट में इस्तेमाल किए गए compileSdk
के साथ काम करता है. ध्यान रखें कि
Android Studio को अपग्रेड करने के लिए, आपको AGP को भी अपग्रेड करना पड़ सकता है.
अगर आपके प्रोजेक्ट में इस्तेमाल किए गए compileSdk
के साथ AGP का मौजूदा वर्शन काम नहीं करता है, तो AGP बिल्ड टूल विंडो में चेतावनी भी दिखाता है.
Lint के काम करने के तरीके में बदलाव
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 इंटिग्रेशन |
|