Android Gradle प्लग इन 7.2.0 (मई 2022)
Android Gradle प्लग इन 7.2.0 एक मुख्य रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.
यह छोटा अपडेट, Android Studio Chipmunk के पैच 2 की रिलीज़ से जुड़ा है. इसमें गड़बड़ियों को ठीक करने से जुड़े ये अपडेट शामिल हैं:
- समस्या #232438924: AndroidGradlePlugin 7.2 वर्शन, ASM API के साथ इस्तेमाल किए जाने पर ट्रांसफ़ॉर्म एपीआई को काम नहीं करने देता
- समस्या #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
यह छोटा अपडेट, Android Studio Chipmunk के Patch 1 की रिलीज़ से जुड़ा है. इसमें ये गड़बड़ियां ठीक की गई हैं:
- समस्या #230361284: bundletool, बेसलाइन प्रोफ़ाइलों को सही तरीके से पैकेज नहीं करता
इस रिलीज़ में शामिल अन्य बग ठीक करने के बारे में जानने के लिए, Android Studio Chipmunk Patch 1 के रिलीज़ नोट देखें.
इनके साथ काम करता है
| कम से कम वर्शन | डिफ़ॉल्ट वर्शन | नोट | |
|---|---|---|---|
| Gradle | 7.3.3 | 7.3.3 | ज़्यादा जानने के लिए, Gradle को अपडेट करने का तरीका देखें. |
| एसडीके बिल्ड टूल | 30.0.3 | 30.0.3 | एसडीके बिल्ड टूल इंस्टॉल करें या कॉन्फ़िगर करें. |
| NDK | लागू नहीं | 21.4.7075529 | एनडीके का कोई दूसरा वर्शन इंस्टॉल करें या कॉन्फ़िगर करें. |
| जेडीके | 11 | 11 | ज़्यादा जानने के लिए, जेडीके वर्शन सेट करना लेख पढ़ें. |
Build Analyzer में Jetifier की चेतावनी और जांच
अगर आपके प्रोजेक्ट की gradle.properties फ़ाइल में android.enableJetifier=true शामिल है, तो Build Analyzer अब एक चेतावनी दिखाता है. इस फ़्लैग को Android Studio के पिछले वर्शन में पेश किया गया था. इसका इस्तेमाल उन लाइब्रेरी के लिए AndroidX को चालू करने के लिए किया जाता है जो AndroidX के साथ काम नहीं करती हैं. हालांकि, लाइब्रेरी का इकोसिस्टम ज़्यादातर AndroidX को नेटिव तौर पर सपोर्ट करने के लिए माइग्रेट हो गया है. साथ ही, हो सकता है कि अब आपके प्रोजेक्ट को Jetifier फ़्लैग की ज़रूरत न हो. इसके अलावा, फ़्लैग की वजह से बिल्ड की परफ़ॉर्मेंस धीमी हो सकती है. अगर आपको यह चेतावनी दिखती है, तो Build Analyzer में जाकर यह जांच की जा सकती है कि फ़्लैग हटाया जा सकता है या नहीं.
टेस्ट फ़िक्चर के लिए सहायता
Android Studio Chipmunk Beta 1 से, Android Studio में Android और Java, दोनों के टेस्ट फ़िक्चर काम करते हैं. टेस्ट फ़िक्चर की सुविधा और इसे Java प्रोजेक्ट में इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, टेस्ट फ़िक्चर इस्तेमाल करने{:.external} के बारे में Gradle की गाइड देखें.
अपने Android लाइब्रेरी मॉड्यूल में टेस्ट फ़िक्चर चालू करने के लिए, अपनी लाइब्रेरी-लेवल की build.gradle फ़ाइल में यह कोड जोड़ें:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}डिफ़ॉल्ट रूप से, लाइब्रेरी पब्लिश करने पर टेस्ट फ़िक्चर AAR भी मुख्य लाइब्रेरी के साथ पब्लिश हो जाता है. Gradle Module Metadata फ़ाइल में, Gradle के लिए जानकारी शामिल होगी. इससे Gradle, testFixtures कॉम्पोनेंट का अनुरोध करते समय सही आर्टफ़ैक्ट का इस्तेमाल कर पाएगा.
रिलीज़ वैरिएंट में, लाइब्रेरी के टेस्ट फ़िक्चर AAR को पब्लिश करने की सुविधा बंद करने के लिए,
अपनी लाइब्रेरी-लेवल की build.gradle फ़ाइल में यह कोड जोड़ें:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}पब्लिश की गई Android लाइब्रेरी के टेस्ट फ़िक्चर AAR का इस्तेमाल करने के लिए, Gradle के हेल्पर तरीके testFixtures() का इस्तेमाल किया जा सकता है.
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}डिफ़ॉल्ट रूप से, लिंट टेस्ट फ़िक्चर के सोर्स का विश्लेषण करेगा. टेस्ट फ़िक्चर सोर्स को अनदेखा करने के लिए, लिंट को इस तरह कॉन्फ़िगर किया जा सकता है:
android {
lint {
ignoreTestFixturesSources true
}
}कॉन्टेंट रूट को डुप्लीकेट नहीं किया जा सकता
AGP 7.2 या इसके बाद के वर्शन से, एक ही सोर्स डायरेक्ट्री को कई सोर्स सेट के साथ शेयर नहीं किया जा सकता. उदाहरण के लिए, यूनिट टेस्ट और इंस्ट्रुमेंटेशन टेस्ट, दोनों के लिए एक ही टेस्ट सोर्स का इस्तेमाल नहीं किया जा सकता. ज़्यादा जानने के लिए, डिफ़ॉल्ट सोर्स सेट के कॉन्फ़िगरेशन बदलना लेख पढ़ें.