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

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

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

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

AGP 9.0 (जनवरी 2026)

नए वैरिएंट एपीआई स्टेबल हैं, पुराने एपीआई बंद कर दिए गए हैं

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

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

निजी तौर पर अंदरूनी एजीपी क्लास अब भी ऐक्सेस की जा सकती हैं

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

AGP 10.0 (साल 2026 के आखिर तक)

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

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

(अस्थायी तौर पर) निजी तौर पर ली जाने वाली एजीपी क्लास का ऐक्सेस हटा दिया गया है

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

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