Android Gradle प्लग इन के DSL/API को माइग्रेट करने की टाइमलाइन

प्रोजेक्ट: /studio/_project.yaml बुक: /studio/_book.yaml ब्यौरा: इस पेज पर, Android Gradle प्लग इन के डीएसएल और एपीआई के बदलावों के बारे में बताया गया है.

Android Gradle प्लगिन (AGP), Android ऐप्लिकेशन के लिए काम करने वाला बिल्ड सिस्टम है. इसमें कई तरह के सोर्स को कॉम्पाइल करने और उन्हें एक ऐसे ऐप्लिकेशन में लिंक करने की सुविधा शामिल है जिसे किसी फ़िज़िकल Android डिवाइस या एम्युलेटर पर चलाया जा सकता है.

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

AGP API के बंद होने या हटाए जाने के बारे में ज़्यादा जानकारी के लिए, AGP API के अपडेट देखें.

AGP 9.0 (2025 की दूसरी छमाही)

नए वैरिएंट एपीआई काम के हैं, पुराने एपीआई अब काम नहीं करते

  • 4.1 और 4.2 में इनक्यूबेट किए जा रहे वैरिएंट एपीआई, अब स्टेबल हैं.
  • ये सभी इंटरफ़ेस, gradle-api आर्टफ़ैक्ट में मौजूद होते हैं.
  • पुराने वैरिएंट एपीआई में इस्तेमाल किए गए पिछले इंटरफ़ेस और क्लास अब काम नहीं करते.

नए डीएसएल इंटरफ़ेस बेहतर हैं और पुराने इंटरफ़ेस अब काम नहीं करते

  • 4.1, 4.2, और 7.0 में इंक्यूबेट किए जा रहे DSL इंटरफ़ेस अब स्टेबल हैं.
  • ये सभी इंटरफ़ेस, gradle-api आर्टफ़ैक्ट में मौजूद होते हैं.
  • डीएसएल में इस्तेमाल किए गए पिछले इंटरफ़ेस और क्लास अब काम नहीं करते.

AGP की निजी इंटरनल क्लास अब भी ऐक्सेस की जा सकती हैं

अन्य आर्टफ़ैक्ट में मौजूद AGP की निजी इंटरनल क्लास, अब भी बिल्ड फ़ाइलों को कंपाइल करने के दौरान ऐक्सेस की जा सकती हैं. हालांकि, इनका इस्तेमाल करने का सुझाव नहीं दिया जाता, क्योंकि ये किसी भी समय बदल सकती हैं.

AGP 10.0 (2026)

पुराने एपीआई हटा दिए गए हैं

  • डीएसएल और पुराने वैरिएंट एपीआई में इस्तेमाल किए गए सभी पिछले इंटरफ़ेस और क्लास मिटाएं गए हैं.
  • डीएसएल और वैरिएंट एपीआई इंटरफ़ेस और क्लास को ऐक्सेस करने के लिए, आपको सिर्फ़ gradle-api आर्टफ़ैक्ट की ज़रूरत होती है. साथ ही, प्लग इन डेवलप करते समय इसका इस्तेमाल किया जाना चाहिए.
  • Gradle मेटाडेटा का इस्तेमाल करके, सिर्फ़ gradle-api आर्टफ़ैक्ट, बाइल्ड फ़ाइलों को कॉम्पाइल करने के दौरान उपलब्ध होता है. यह मेटाडेटा, कॉम्पाइल और रनटाइम के लिए अलग-अलग डिपेंडेंसी ग्राफ़ उपलब्ध कराता है.

(संभावित) संगठन के अंदर होने वाली AGP की निजी क्लास का ऐक्सेस हटा दिया गया है

gradle आर्टफ़ैक्ट पर डिपेंडेंसी होने पर, अब सभी इंटरनल क्लास छिप जाती हैं. साथ ही, कंपाइलेशन का ऐक्सेस सिर्फ़ gradle-api आर्टफ़ैक्ट में मौजूद इंटरफ़ेस और क्लास को मिलता है. इससे प्लग इन और बिल्ड फ़ाइल, दोनों पर असर पड़ता है.

इंटरनल क्लास का ऐक्सेस पाने के लिए, मैन्युअल तरीके से डिपेंडेंसी जोड़ना मुमकिन नहीं है.