Android Gradle प्लगिन 9.2.0 (अप्रैल 2026)

Android Gradle प्लगिन 9.2 एक छोटी रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.

इनके साथ काम करता है

Android Gradle प्लगिन 9.2, ज़्यादा से ज़्यादा एपीआई लेवल 36.1 के साथ काम करता है. Android Gradle प्लगिन 8.6 के साथ काम करने वाले टूल वर्शन से जुड़ी अन्य ज़रूरी जानकारी यहां देखें:

सबसे पुराना वर्शन डिफ़ॉल्ट वर्शन नोट
ग्रेडल 9.4.1 9.4.1 ज़्यादा जानकारी के लिए, Gradle को अपडेट करने का तरीका देखें.
एसडीके बिल्ड टूल 36.0.0 36.0.0 एसडीके बिल्ड टूल इंस्टॉल करें या कॉन्फ़िगर करें.
एनडीके (NDK) लागू नहीं 28.2.13676358 एनडीके का कोई दूसरा वर्शन इंस्टॉल करें या कॉन्फ़िगर करें.
जेडीके 17 17 ज़्यादा जानने के लिए, जेडीके वर्शन सेट करना लेख पढ़ें.

यूनिफ़ाइड कवरेज और टेस्ट रिपोर्ट

android.experimental.reportAggregationSupport=true को सेट करें.

AGP 9.2.0-alpha07 में, एचटीएमएल डैशबोर्ड जनरेट करने के लिए टास्क जोड़े गए हैं. ये डैशबोर्ड, अलग-अलग तरह के टेस्ट (यूनिट और इंस्ट्रुमेंटेशन), मॉड्यूल, और बिल्ड वैरिएंट से टेस्ट के नतीजे और कवरेज को एक साथ दिखाते हैं. इससे एक ही डैशबोर्ड में पूरी जानकारी मिलती है. ज़्यादा जानकारी के लिए, यूनिफ़ाइड कोड कवरेज रिपोर्ट जनरेट करना और यूनिफ़ाइड टेस्ट रिपोर्ट देखना लेख पढ़ें.

R8 में हुए बदलाव

AGP 9.2.0 में, R8 से जुड़े ये बदलाव शामिल हैं.

रनटाइम के दौरान न दिखने वाली एनोटेशन को बनाए रखने के लिए, -keepattributes सिमैंटिक का ज़्यादा सख्ती से पालन करना

रनटाइम के दौरान, रनटाइम इनविज़िबल एनोटेशन को नहीं पढ़ा जा सकता. इसलिए, D8 बिना किसी शर्त के, रनटाइम के दौरान न दिखने वाले एनोटेशन हटा देता है. इसे बदलने का कोई विकल्प नहीं है.

ProGuard के साथ काम करने के लिए, R8 रनटाइम में न दिखने वाली एनोटेशन को आउटपुट करने की सुविधा देता है. हालांकि, DEX में कंपाइल करते समय, रनटाइम में न दिखने वाले एनोटेशन को आम तौर पर कभी भी बनाए नहीं रखना चाहिए. हालांकि, R8 के लिए, रनटाइम में दिखने वाले एनोटेशन को बनाए रखने के लिए, -keepattributes *Annotation* नियम को शामिल करना आम बात है. इसे सीधे तौर पर या उपभोक्ता के लिए बनाए गए नियमों से परोक्ष रूप से शामिल किया जाता है. हालांकि, इससे रनटाइम के दौरान दिखने वाले एनोटेशन भी नहीं दिखते.

इस समस्या को कम करने और D8 के व्यवहार से बेहतर तरीके से मेल खाने के लिए, -keepattributes वाइल्डकार्ड वाले पैटर्न अब RuntimeInvisibleAnnotations, RuntimeInvisibleParameterAnnotations, और RuntimeInvisibleTypeAnnotations से मेल नहीं खाते हैं. इस वजह से, रनटाइम के दौरान न दिखने वाले एनोटेशन सिर्फ़ तब सेव किए जाएंगे, जब एट्रिब्यूट का नाम वाइल्डकार्ड के बिना साफ़ तौर पर बताया गया हो.

अब इनमें से कोई भी नियम, रनटाइम के दौरान न दिखने वाले एनोटेशन को सुरक्षित नहीं रखेगा:

-keepattributes *
-keepattributes *Annotation*
-keepattributes *Invisible*

रनटाइम के दौरान न दिखने वाले एनोटेशन को बनाए रखने के लिए, इस नियम का इस्तेमाल करें:

-keepattributes RuntimeInvisibleAnnotations,
                RuntimeInvisibleParameterAnnotations,
                RuntimeInvisibleTypeAnnotations

सदस्यता से जुड़े नियमों में, हटाए गए नामों के लिए सहायता

कॉन्फ़िगरेशन की भाषा को बढ़ा दिया गया है, ताकि अब आप सदस्य के नाम के पैटर्न को शामिल न करने की शर्त के आधार पर मैच कर सकें.

उदाहरण के लिए, "ForTesting" से खत्म न होने वाले सभी तरीकों से मैच करने के लिए, इस नियम का इस्तेमाल करें:

-keepclassmembers class com.example.MyClass {
  *** !*ForTesting(...);
}

सदस्य के नाम के पैटर्न को भी -if नियमों की पूर्व शर्त में नकारा जा सकता है. अगर बाहर रखे गए सदस्य के नाम के पैटर्न में वाइल्डकार्ड शामिल हैं, तो ऐसे वाइल्डकार्ड को -if के बाद वाले नियम में वापस नहीं जोड़ा जा सकता.

ठीक की गई समस्याएं

Android Gradle प्लगिन 9.2.0-alpha04

ठीक की गई समस्याएं
Android Gradle प्लगिन
नए AGP DSL का इस्तेमाल करके APK का नाम बदलना
बूटक्लाथपाथ को ऐक्सेस करते समय गड़बड़ी हुई, लेकिन उसका आकलन नहीं किया गया. IllegalStateException: targetCompatibility is not yet finalized

Android Gradle प्लगिन 9.2.0-alpha03

ठीक की गई समस्याएं
Android Gradle प्लगिन
JDK 26 के साथ JdkImageTransform में गड़बड़ी
AGP 10.0 में, AAR के मेटाडेटा में minAgpVersion को अपने-आप कोड में बदलता है
लिंट
`SarifReporter.kt` में ऑफ़सेट पॉइंटर के रुक जाने की वजह से, Lint SARIF रिपोर्ट में कॉन्टेक्स्ट विंडो का छोटा होना
Lint Gradle क्लाइंट में एक ज़रूरी सुविधा मौजूद नहीं है. इसलिए, इस पर भरोसा नहीं किया जा सकता
लिंट इंटिग्रेशन
Lint Gradle टास्क, --quiet फ़्लैग को अनदेखा करते हैं

Android Gradle प्लगिन 9.2.0-alpha02

ठीक की गई समस्याएं
Android Gradle प्लगिन
AGP 9.0 में, applicationVariants.all.mergeAssetsProvider के लिए androidComponents.onVariant के बराबर कोई विकल्प नहीं है
`*.xml.flat` फ़ाइलों में फ़ाइल के पूरे पाथ होते हैं
R8D8ThreadPoolBuildService रजिस्टर नहीं है
लिंट इंटिग्रेशन
Android Lint, Java 21 बाइटकोड में कंपाइल की गई कस्टम लिंट जांचों के साथ काम नहीं करता

Android Gradle प्लगिन 9.2.0-alpha01

ठीक की गई समस्याएं
Android Gradle प्लगिन
अगर उपयोगकर्ताओं के पास commonTest है, लेकिन वे withHostTestBuilder का इस्तेमाल करना भूल गए हैं, तो उन्हें चेतावनी दें
[fused lib - public] OkHttp में सोर्स शामिल हैं
लाइब्रेरी में मेनिफ़ेस्ट प्लेसहोल्डर के साथ androidDeviceTest नहीं चलाया जा सकता (com.android.kotlin.multiplatform.library प्लगिन के साथ AGP 9.0.0)
अगर उपयोगकर्ता के पास src/androidDeviceTest/java फ़ोल्डर में Java बंद है, तो AGP को चेतावनी देनी चाहिए
लिंट
मैसेज में टाइप की गई गलतियों की जांच करना