इस पेज पर, Android Studio के प्रीव्यू वर्शन में जोड़ी गई नई सुविधाओं की सूची दी गई है. प्रीव्यू बिल्ड से, Android Studio की नई सुविधाओं और सुधारों को रिलीज़ होने से पहले ही इस्तेमाल किया जा सकता है. इन झलक वर्शन को डाउनलोड किया जा सकता है. अगर आपको Android Studio के प्रीव्यू वर्शन का इस्तेमाल करते समय कोई समस्या आती है, तो हमें बताएं. गड़बड़ी की रिपोर्ट से, Android Studio को बेहतर बनाने में मदद मिलती है.
कैनरी रिलीज़ में, ऐसी सुविधाएं शामिल होती हैं जिन पर अभी काम चल रहा है. साथ ही, इनकी टेस्टिंग भी कम की जाती है. डेवलपमेंट के लिए, Canary बिल्ड का इस्तेमाल किया जा सकता है. हालांकि, ध्यान रखें कि इसमें सुविधाएं जोड़ी या बदली जा सकती हैं. रिलीज़ कैंडिडेट (आरसी), Android Studio का अगला वर्शन होता है. यह स्टेबल रिलीज़ के लिए लगभग तैयार होता है. अगले वर्शन के लिए सेट की गई सुविधा को स्थिर कर दिया गया है. Android Studio के वर्शन के नामकरण के बारे में जानने के लिए, Android Studio के रिलीज़ के नाम देखें.
Android Studio की प्रीव्यू रिलीज़ के बारे में ताज़ा खबरें पाने के लिए, Android Studio के ब्लॉग में रिलीज़ अपडेट देखें. इसमें हर प्रीव्यू रिलीज़ में किए गए ज़रूरी सुधारों की सूची भी शामिल होती है.
Android Studio के मौजूदा वर्शन
नीचे दी गई टेबल में, Android Studio के मौजूदा वर्शन और उनके चैनलों के बारे में बताया गया है.
वर्शन | चैनल |
---|---|
Android Studio Narwhal 3 Feature Drop | 2025.1.3 | स्थिर दिखाना |
Android Gradle प्लग इन 8.13.0 | स्थिर दिखाना |
Android Studio Narwhal 4 Feature Drop | 2025.1.4 | कैनरी |
Android Gradle प्लग इन के प्रीव्यू के साथ काम करता है
Android Studio के हर प्रीव्यू वर्शन को, Android Gradle प्लगिन (एजीपी) के मिलते-जुलते वर्शन के साथ पब्लिश किया जाता है. Studio के प्रीव्यू वर्शन, AGP के किसी भी साथ काम करने वाले स्टेबल वर्शन के साथ काम करने चाहिए. हालांकि, अगर AGP के प्रीव्यू वर्शन का इस्तेमाल किया जा रहा है, तो आपको Studio के उसी प्रीव्यू वर्शन का इस्तेमाल करना होगा. उदाहरण के लिए, AGP 7.2.0-alpha07 के साथ Android Studio Chipmunk Canary 7. अलग-अलग वर्शन का इस्तेमाल करने पर, सिंक नहीं हो पाएगा. उदाहरण के लिए, Android Studio Chipmunk Beta 1 के साथ AGP 7.2.0-alpha07 का इस्तेमाल करने पर, सिंक नहीं हो पाएगा. इससे AGP के संबंधित वर्शन को अपडेट करने का अनुरोध दिखेगा.
Android Gradle प्लग इन एपीआई के बंद होने और हटाए जाने के बारे में ज़्यादा जानकारी के लिए, Android Gradle प्लग इन एपीआई के अपडेट देखें.
Studio Labs
Studio Labs की मदद से, Android Studio के स्टेबल वर्शन में एआई की नई एक्सपेरिमेंटल सुविधाओं को आज़माया जा सकता है. इससे, डेवलपमेंट के वर्कफ़्लो में एआई की मदद से काम करने की हमारी सुविधाओं को तेज़ी से इंटिग्रेट किया जा सकता है. ज़्यादा जानकारी के लिए, Studio Labs देखें.
फ़िलहाल, Studio Labs में ये सुविधाएं उपलब्ध हैं.
सुविधा | ब्यौरा | Docs |
---|---|---|
झलक जनरेट करने की सुविधा कंपोज़ करें | Gemini, किसी फ़ाइल में मौजूद किसी कंपोज़ेबल या सभी कंपोज़ेबल के लिए, कंपोज़ की झलक अपने-आप जनरेट कर सकता है. इसमें झलक के पैरामीटर के लिए मॉक डेटा भी शामिल होता है. | ईमेल लिखने की सुविधा की झलक जनरेट करना |
डेटा में बदलाव करने वाला यूज़र इंटरफ़ेस (यूआई) | नैचुरल लैंग्वेज का इस्तेमाल करके, सीधे तौर पर कंपोज़ प्रीव्यू पैनल से अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) को अपडेट करें. | यूज़र इंटरफ़ेस (यूआई) को ट्रांसफ़ॉर्म करना |
Android Studio Narwhal 4 Feature Drop | 2025.1.4
Android Studio Narwhal 4 Feature Drop | 2025.1.4 में ये नई सुविधाएं उपलब्ध हैं.
Android Studio के इस वर्शन में ठीक की गई समस्याओं के बारे में जानने के लिए, बंद की गई समस्याएं देखें.
Android Studio के लिए जर्नी
Android Studio के लिए Journeys की मदद से, एंड-टू-एंड टेस्ट को आसानी से लिखा और मैनेज किया जा सकता है. इसके लिए, आपको हर टेस्ट के चरणों और पुष्टि के बारे में बताने के लिए, सामान्य भाषा का इस्तेमाल करने की सुविधा मिलती है. इसे जर्नी कहा जाता है. Gemini की विज़न और तर्क करने की क्षमताओं का इस्तेमाल करके, नैचुरल भाषा में लिखे गए चरणों को उन कार्रवाइयों में बदल दिया जाता है जिन्हें Gemini आपके ऐप्लिकेशन पर करता है. इससे, जर्नी को लिखना और समझना, दोनों आसान हो जाता है. इसके अलावा, ज़्यादा मुश्किल दावे लिखे और उनके बारे में बताया जा सकता है. Gemini, डिवाइस पर मौजूद जानकारी के आधार पर इन दावों का आकलन करता है. इससे यह तय किया जाता है कि आपकी प्रोसेस पूरी हुई या नहीं.
Gemini यह तय करता है कि लक्ष्यों को पूरा करने के लिए कौनसी कार्रवाइयां करनी हैं. इसलिए, आपके ऐप्लिकेशन के लेआउट या व्यवहार में मामूली बदलाव होने पर भी, यूज़र जर्नी पर कोई असर नहीं पड़ता. इससे, आपके ऐप्लिकेशन के अलग-अलग वर्शन और डिवाइस के अलग-अलग कॉन्फ़िगरेशन पर टेस्ट चलाने के दौरान, कम फ़्लेकी टेस्ट होते हैं.
Android Studio से ही, किसी भी लोकल या रिमोट Android डिवाइस पर जर्नी लिखें और चलाएं. आईडीई, जर्नी बनाने के लिए एडिटर का नया अनुभव देता है. साथ ही, यह ज़्यादा बेहतर नतीजे भी देता है. इससे आपको Gemini के तर्क को बेहतर तरीके से समझने और जर्नी को लागू करने में मदद मिलती है.
बैकअप और सिंक

अब Android Studio की सेटिंग का बैक अप, क्लाउड स्टोरेज में लिया जा सकता है. इसके लिए, अपने Google या JetBrains खाते का इस्तेमाल करें. इससे आपकी सेटिंग सिंक करने में मदद मिलती है. जैसे, कीमैप, कोड एडिटर की सेटिंग, सिस्टम सेटिंग वगैरह. शुरू करने के लिए, इनमें से कोई एक काम करें:
Android Studio में कोई प्रोजेक्ट खोलने के बाद, अपने Google खाते में साइन इन करें. इसके लिए, IDE के सबसे ऊपर दाएं कोने में मौजूद अवतार पर क्लिक करें. इसके बाद, साइन इन करें पर क्लिक करें.
- दिखने वाले डायलॉग बॉक्स में दिए गए निर्देशों का पालन करें. साथ ही, Google खाता स्टोरेज को ऐक्सेस करने के लिए, Android Studio को अनुमति देने वाले बॉक्स पर सही का निशान लगाना न भूलें.
- Android Studio को अनुमति देने के लिए, निर्देशों का पालन करें.
सेटिंग > बैकअप लें और सिंक करें पर जाएं.
- Android Studio के सभी इंस्टॉलेशन पर अपने ऐप्लिकेशन के डेटा को सिंक करने के लिए, Google को चुनें. इससे, Google खाते के स्टोरेज का इस्तेमाल किया जा सकेगा. इसके अलावा, JetBrains खाते का इस्तेमाल करके, अपने ऐप्लिकेशन के डेटा को IntelliJ और Android Studio के सभी इंस्टॉलेशन के साथ सिंक किया जा सकता है.
- अपने पसंदीदा खाते के स्टोरेज को ऐक्सेस करने के लिए, Android Studio को अनुमति देने के लिए दिए गए निर्देशों का पालन करें. इसके बाद, Android Studio पर वापस जाएं.
- सेटिंग > बैकअप और सिंक पेज पर जाकर, ऐप्लिकेशन के डेटा की उन कैटगरी की समीक्षा की जा सकती है जिन्हें आपको अपने खाते से सिंक करना है.
- 'बैक अप और सिंक' सुविधा को बंद करने के लिए, उस बॉक्स से सही का निशान हटाएं जो इस सुविधा को चालू करता है.
अगर आपने पहले से ही किसी डिवाइस पर डेटा सिंक किया हुआ है, तो Android Studio आपको दो विकल्प देता है. पहला, रिमोट स्टोरेज से सेटिंग डाउनलोड करें (यह डिफ़ॉल्ट विकल्प है). दूसरा, अपनी लोकल सेटिंग अपलोड करें और रिमोट स्टोरेज में सिंक की गई सेटिंग को बदलें.
क्रैश होने की समस्याओं को ठीक करने के लिए सुझाव
Android Studio में Meerkat की नई सुविधाओं वाले सॉफ़्टवेयर अपडेट में, हमने क्रैश के बारे में Gemini की अहम जानकारी देने वाली सुविधा लॉन्च की है. यह सुविधा, ऐप्लिकेशन की क्वालिटी के बारे में अहम जानकारी टूल विंडो में रिपोर्ट किए गए क्रैश के बारे में अहम जानकारी देती है. अब Android Studio, क्रैश डेटा का विश्लेषण करने के लिए Gemini का इस्तेमाल कर सकता है. साथ ही, यह आपके सोर्स कोड का विश्लेषण करके, संभावित समाधानों के सुझाव दे सकता है. App Quality Insights टूल विंडो में क्रैश चुनने के बाद, अहम जानकारी टैब पर जाएं. इसके बाद, Gemini के क्रैश के बारे में अहम जानकारी जनरेट करने के बाद, समस्या ठीक करने का सुझाव दें पर क्लिक करें. इसके बाद, Gemini कोड में बदलाव करने के सुझाव जनरेट करता है. इनकी समीक्षा की जा सकती है और इन्हें एडिटर के अंतर वाले टैब में स्वीकार किया जा सकता है.

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

लोकल एलएलएम का इस्तेमाल करना
Android Studio Narwhal 4 Feature Drop की मदद से, उस एलएलएम को चुना जा सकता है जो IDE की एआई सुविधाओं को बेहतर बनाता है.

एलएलएम को आपकी लोकल मशीन पर होना चाहिए. अगर आपके पास इंटरनेट कनेक्टिविटी सीमित है या एआई मॉडल के इस्तेमाल पर पाबंदियां हैं, तो यह फ़ायदेमंद है. इसके अलावा, अगर आपको सिर्फ़ ओपन-सोर्स रिसर्च मॉडल के साथ एक्सपेरिमेंट करना है, तो भी यह फ़ायदेमंद है.
लोकल एलएलएम, Android Studio में पहले से मौजूद एलएलएम की सुविधा का विकल्प देता है. हालांकि, Android Studio में Gemini का इस्तेमाल करने पर, Android डेवलपमेंट का सबसे अच्छा अनुभव मिलता है. ऐसा इसलिए, क्योंकि Gemini को Android के लिए ट्यून किया गया है. साथ ही, यह Android Studio की सभी सुविधाओं के साथ काम करता है. Gemini की मदद से, Android डेवलपमेंट से जुड़े कामों के लिए अलग-अलग मॉडल चुने जा सकते हैं. इनमें बिना किसी शुल्क के इस्तेमाल किया जा सकने वाला डिफ़ॉल्ट मॉडल या Gemini API के लिए पैसे चुकाकर ली गई पासकोड से ऐक्सेस किए जाने वाले मॉडल शामिल हैं.
लोकल एलएलएम के साथ काम करने के लिए, आपको अपने कंप्यूटर पर एलएलएम उपलब्ध कराने वाला कोई सॉफ़्टवेयर इंस्टॉल करना होगा. जैसे, LM Studio या Ollama. साथ ही, आपको अपनी पसंद का कोई ऐसा मॉडल इंस्टॉल करना होगा जो इस सॉफ़्टवेयर के साथ काम करता हो.
Android SDK अपग्रेड असिस्टेंट अब Android 16 / API 36 के साथ काम करता है
Android 15 / API 35 से Android 16 / API 36 पर माइग्रेट करने की सुविधा, Android SDK टूल के लिए अपग्रेड असिस्टेंट में जोड़ दी गई है. माइग्रेट करने से जुड़ी मदद पाने के लिए, Tools > Android SDK Upgrade Assistant पर जाएं.
Android Gradle प्लग इन 9.0
Android Gradle प्लग इन 9.0, AGP का नया मेजर वर्शन है. इसमें एपीआई और व्यवहार से जुड़े बदलाव किए गए हैं.
Android Gradle प्लग इन 9.0.0-alpha02 पर अपडेट करने के लिए, Android Studio Narwhal 4 Feature Drop | 2025.1.4 में Android Gradle प्लग इन अपग्रेड असिस्टेंट का इस्तेमाल करें.
AGP अपग्रेड असिस्टेंट, आपके प्रोजेक्ट को अपग्रेड करते समय मौजूदा व्यवहारों को बनाए रखने में मदद करता है. इससे आपको AGP 9.0 का इस्तेमाल करने के लिए, अपने प्रोजेक्ट को अपग्रेड करने की सुविधा मिलती है. भले ही, आप AGP 9.0 में सभी नए डिफ़ॉल्ट को अपनाने के लिए तैयार न हों.
इनके साथ काम करता है
Android Gradle प्लग इन 9.0.0-alpha02, Android के एपीआई लेवल 36 तक के वर्शन के साथ काम करता है.
Android Gradle प्लग इन 9.0.0-alpha02 के लिए, Gradle 9.0.0 की ज़रूरत होती है.
व्यवहार में बदलाव
Android Gradle प्लग इन 9.0 में ये नई सुविधाएं जोड़ी गई हैं:
व्यवहार | सुझाव |
---|---|
Android Gradle प्लग इन 9.0, डिफ़ॉल्ट रूप से NDK के r28c वर्शन का इस्तेमाल करता है.
|
आपको जिस NDK वर्शन का इस्तेमाल करना है उसे साफ़ तौर पर बताएं. |
Android Gradle प्लग इन 9.0 में, लाइब्रेरी का इस्तेमाल करने वाले लोगों को डिफ़ॉल्ट रूप से, कंपाइल एसडीके के एक ही या इससे ज़्यादा वर्शन का इस्तेमाल करना होता है. |
किसी लाइब्रेरी का इस्तेमाल करते समय, उसी या उससे ज़्यादा कंपाइल SDK टूल का इस्तेमाल करें.
अगर ऐसा नहीं किया जा सकता या आपको लाइब्रेरी का इस्तेमाल करने वाले लोगों को स्विच करने के लिए ज़्यादा समय देना है, तो AarMetadata.minCompileSdk को साफ़ तौर पर सेट करें.
|
AGP 9.0 में, Gradle की इन प्रॉपर्टी की डिफ़ॉल्ट वैल्यू अपडेट की गई हैं. अपग्रेड करते समय, एजीपी 8.13 के व्यवहार को बनाए रखने का विकल्प मिलता है:
प्रॉपर्टी | फ़ंक्शन | AGP 8.13 से AGP 9.0 में बदलाव | सुझाव |
---|---|---|---|
android.uniquePackageNames |
यह नियम लागू करता है कि हर लाइब्रेरी का पैकेज नाम अलग हो. | false → true |
अपने प्रोजेक्ट में मौजूद सभी लाइब्रेरी के लिए, पैकेज के यूनीक नाम डालें. अगर ऐसा नहीं किया जा सकता, तो माइग्रेट करते समय इस फ़्लैग को बंद किया जा सकता है. |
android.dependency.useConstraints |
यह कॉन्फ़िगरेशन के बीच, डिपेंडेंसी की शर्तों के इस्तेमाल को कंट्रोल करता है. AGP 9.0 में डिफ़ॉल्ट वैल्यू false है. यह सिर्फ़ ऐप्लिकेशन डिवाइस टेस्ट (AndroidTest) में कंस्ट्रेंट का इस्तेमाल करता है.
इसे true पर सेट करने से, 8.13 वर्शन में मौजूद सुविधा वापस आ जाएगी.
|
true → false |
जब तक ज़रूरी न हो, तब तक हर जगह डिपेंडेंसी की शर्तों का इस्तेमाल न करें. इस फ़्लैग के नए डिफ़ॉल्ट को स्वीकार करने से, प्रोजेक्ट इंपोर्ट करने की प्रोसेस में ऑप्टिमाइज़ेशन भी चालू हो जाते हैं. इससे, Android लाइब्रेरी वाले कई सबप्रोजेक्ट के साथ बिल्ड इंपोर्ट करने में लगने वाला समय कम हो जाता है. |
aandroid.enableAppCompileTimeRClass |
ऐप्लिकेशन में, नॉन-फ़ाइनल R क्लास के ख़िलाफ़ कोड कंपाइल किया जाता है. इससे ऐप्लिकेशन कंपाइलेशन, लाइब्रेरी कंपाइलेशन के मुताबिक हो जाता है. इससे इंक्रीमेंटैलिटी बेहतर होती है. साथ ही, संसाधन प्रोसेसिंग फ़्लो की परफ़ॉर्मेंस को आने वाले समय में ऑप्टिमाइज़ करने का रास्ता खुलता है. |
false → true |
कई प्रोजेक्ट, सोर्स कोड में बदलाव किए बिना ही नई सुविधा का इस्तेमाल कर सकते हैं. अगर R क्लास के फ़ील्ड का इस्तेमाल ऐसी किसी जगह पर किया जाता है जहां कॉन्स्टेंट की ज़रूरत होती है, जैसे कि स्विच केस, तो चेन किए गए if स्टेटमेंट का इस्तेमाल करने के लिए रीफ़ैक्टर करें. |
android.sdk.defaultTargetSdkToCompileSdkIfUnset |
यह ऐप्लिकेशन और टेस्ट में, टारगेट एसडीके के वर्शन के लिए डिफ़ॉल्ट वैल्यू के तौर पर, कंपाइल एसडीके के वर्शन का इस्तेमाल करता है. इस बदलाव से पहले, टारगेट SDK टूल का वर्शन डिफ़ॉल्ट रूप से SDK टूल के कम से कम लेवल वाले वर्शन पर सेट होता था. |
false → true |
ऐप्लिकेशन और टेस्ट के लिए, टारगेट एसडीके वर्शन साफ़ तौर पर बताएं. |
android.onlyEnableUnitTestForTheTestedBuildType |
यह सिर्फ़ टेस्ट किए गए बिल्ड टाइप के लिए यूनिट टेस्ट कॉम्पोनेंट बनाता है. डिफ़ॉल्ट प्रोजेक्ट में, इससे डीबग के लिए एक यूनिट टेस्ट मिलती है, जबकि पहले डीबग या रिलीज़ के लिए यूनिट टेस्ट की जाती थीं. |
false → true |
अगर आपके प्रोजेक्ट में, डीबग और रिलीज़, दोनों के लिए टेस्ट चलाने की ज़रूरत नहीं है, तो कोई बदलाव करने की ज़रूरत नहीं है. |
android.proguard.failOnMissingFiles |
अगर एजीपी डीएसएल में बताई गई कोई भी फ़ाइल डिस्क पर मौजूद नहीं है, तो यह विकल्प गड़बड़ी के साथ बिल्ड को पूरा नहीं करता. इस बदलाव से पहले, फ़ाइल के नाम में टाइप की गई गलतियों की वजह से, फ़ाइलों को अनदेखा कर दिया जाता था. | false → true |
proguard.txt फ़ाइल में किए गए अमान्य एलान हटाएं |
android.r8.optimizedResourceShrinking |
इस विकल्प की मदद से, R8 को कम Android संसाधन रखने की अनुमति मिलती है. ऐसा इसलिए, क्योंकि यह क्लास और Android संसाधनों, दोनों पर एक साथ विचार करता है. | false → true |
अगर आपके प्रोजेक्ट के डेटा को सुरक्षित रखने से जुड़े नियम पहले से ही पूरे हैं, तो कोई बदलाव करने की ज़रूरत नहीं है. |
android.r8.strictFullModeForKeepRules |
इस विकल्प की मदद से, R8 को किसी क्लास को बनाए रखते समय डिफ़ॉल्ट कंस्ट्रक्टर को बनाए रखने की ज़रूरत नहीं पड़ती. इससे R8 को कम मेमोरी की ज़रूरत पड़ती है.
इसका मतलब है कि -keep class A अब -keep class A { <init>(); } के बराबर नहीं है |
false → true |
अगर आपके प्रोजेक्ट के डेटा को सुरक्षित रखने से जुड़े नियम पहले से ही पूरे हैं, तो कोई बदलाव करने की ज़रूरत नहीं है.
बदलें -keep class A
को
-keep class A { <init>(); }
से. ऐसा उन मामलों में करें जहां आपको डिफ़ॉल्ट कंस्ट्रक्टर को बनाए रखने की ज़रूरत है.
|
android.defaults.buildfeatures.shaders |
इस विकल्प की मदद से, सभी सबप्रोजेक्ट में शेडर कंपाइलेशन चालू किया जा सकता है | true → false |
सिर्फ़ उन सबप्रोजेक्ट में शेडर कंपाइलेशन चालू करें जिनमें कंपाइल किए जाने वाले शेडर मौजूद हैं. इसके लिए, उन प्रोजेक्ट की Gradle बिल्ड फ़ाइलों में यह सेटिंग करें:
android { buildFeatures { shaders = true } } |
हटाई गई सुविधाएं
Android Gradle प्लग इन 9.0 में, ये सुविधाएं हटा दी गई हैं:
- Wear OS ऐप्लिकेशन को एम्बेड करने की सुविधा
AGP 9.0 में, Wear OS ऐप्लिकेशन को एम्बेड करने की सुविधा हटा दी गई है. यह सुविधा अब Play में काम नहीं करती. इसमेंwearApp
कॉन्फ़िगरेशन औरAndroidSourceSet.wearAppConfigurationName
डीएसएल को हटाना शामिल है. Wear OS पर अपना ऐप्लिकेशन पब्लिश करने का तरीका जानने के लिए, Wear OS पर ऐप्लिकेशन उपलब्ध कराना लेख पढ़ें.
बदला गया डीएसएल
Android Gradle प्लग इन 9.0 में, डीएसएल में ये नुकसान पहुंचाने वाले बदलाव किए गए हैं:
CommonExtension
के पैरामीटर को हटा दिया गया है. यह बदलाव सिर्फ़ सोर्स लेवल पर किया गया है, ताकि आने वाले समय में सोर्स लेवल पर होने वाले बदलावों से बचा जा सके. इसका मतलब यह भी है कि DSL ब्लॉक के तरीकों कोCommonExtension
सेApplicationExtension
,LibraryExension
,DynamicFeatureExtension
, औरTestExtension
पर ले जाना होगा.
हटाया गया डीएसएल
Android Gradle प्लग इन 9.0 में ये सुविधाएं हटा दी गई हैं:
AndroidSourceSet.jni
, क्योंकि यह काम नहीं कर रहा था.AndroidSourceSet.wearAppConfigurationName
, क्योंकि यह Wear OS ऐप्लिकेशन के लिए एम्बेड की गई सुविधा को हटाने से जुड़ा है.BuildType.isRenderscriptDebuggable
, क्योंकि यह काम नहीं कर रहा था.ComponentBuilder.enabled
. इसकी जगहComponentBuilder.enable
ने ले ली है.Installation.installOptions(String)
. इसेInstallation.installOptions
की बदली जा सकने वाली प्रॉपर्टी से बदल दिया गया है.VariantBuilder.targetSdk
औरtargetSdkPreview
, क्योंकि ये लाइब्रेरी में काम के नहीं थे. इसके बजाय,GeneratesApkBuilder.targetSdk
याGeneratesApkBuilder.targetSdkPreview
का इस्तेमाल करें.एक्सपेरिमेंट के तौर पर उपलब्ध, लेकिन कभी भी स्थिर नहीं होने वाला
PostProcessing
ब्लॉक.ProductFlavor.setDimension
, जिसेdimension
प्रॉपर्टी से बदल दिया गया हैVariant.unitTest
, क्योंकि यहcom.android.test
प्लगिन पर लागू नहीं होता था.unitTest
,VariantBuilder
के सबटाइप पर उपलब्ध है. यहHasUnitTest
तक उपलब्ध है.VariantBuilder.enableUnitTest
, क्योंकि यहcom.android.test
प्लगिन पर लागू नहीं होता था.enableUnitTest
,VariantBuilder
के सबटाइप पर उपलब्ध है. यहHasUnitTestBuilder
तक उपलब्ध है.VariantBuilder
केHasUnitTestBuilder
सबटाइप में,VariantBuilder.unitTestEnabled
को हटा दिया गया है. इसकी जगह,enableUnitTest
का इस्तेमाल किया जाएगा.
हटाई गई Gradle प्रॉपर्टी
शुरुआत में, इन Gradle प्रॉपर्टी को डिफ़ॉल्ट रूप से चालू की गई सुविधाओं को ग्लोबल लेवल पर बंद करने के तरीकों के तौर पर जोड़ा गया था.
AGP 8.0 या इससे पहले के वर्शन में, ये सुविधाएं डिफ़ॉल्ट रूप से बंद कर दी गई हैं. इन सुविधाओं को सिर्फ़ उन उप-प्रोजेक्ट में चालू करें जिनमें इनका इस्तेमाल किया जाता है, ताकि ज़्यादा असरदार तरीके से बनाया जा सके.
प्रॉपर्टी | फ़ंक्शन | प्रतिस्थापन |
---|---|---|
android.defaults.buildfeatures.aidl |
यह सभी सबप्रोजेक्ट में AIDL कंपाइलेशन की सुविधा चालू करता है |
सिर्फ़ उन सबप्रोजेक्ट में AIDL कंपाइलेशन चालू करें जिनमें AIDL सोर्स मौजूद हैं. इसके लिए, उन प्रोजेक्ट की Gradle बिल्ड फ़ाइलों में यह प्रॉपर्टी सेट करें:
android { buildFeatures { aidl = true } } |
android.defaults.buildfeatures.renderscript |
यह सभी सबप्रोजेक्ट में, RenderScript कंपाइल करने की सुविधा चालू करता है |
सिर्फ़ उन सबप्रोजेक्ट में renderscript कंपाइलेशन चालू करें जिनमें renderscript सोर्स मौजूद हैं. इसके लिए, उन प्रोजेक्ट की Gradle बिल्ड फ़ाइलों में यह प्रॉपर्टी सेट करें:
android { buildFeatures { renderScript = true } } |
हटाए गए एपीआई
Android Gradle प्लग इन 9.0 में ये सुविधाएं हटा दी गई हैं:
- बंद किए गए और बंद किए गए
BaseExtension.registerTransform
एपीआई. इनका इस्तेमाल सिर्फ़ AGP 4.2 या इससे पहले के वर्शन पर चल रहे ऐप्लिकेशन को टारगेट करते समय, AGP के सबसे नए वर्शन के साथ कंपाइल करने के लिए किया जाता था.
लागू की गई Gradle प्रॉपर्टी
अगर आपने Gradle की इन प्रॉपर्टी को सेट किया है, तो AGP 9.0 में गड़बड़ी होगी.
Android Gradle प्लगइन अपग्रेड असिस्टेंट, इन प्रॉपर्टी का इस्तेमाल करने वाले प्रोजेक्ट को AGP 9.0 पर अपग्रेड नहीं करेगी.
प्रॉपर्टी | फ़ंक्शन |
---|---|
android.r8.integratedResourceShrinking |
संसाधन कम करने की प्रोसेस अब हमेशा R8 के हिस्से के तौर पर चलती है. इसे लागू करने का पिछला तरीका हटा दिया गया है. |