Android Gradle प्लग इन 7.2.0 (मई 2022)
Android Gradle प्लग इन 7.2.0 एक मुख्य रिलीज़ है. इसमें कई तरह की नई सुविधाएं और सुधार शामिल हैं.
यह छोटा अपडेट, Android Studio Chipmunk के पैच 2 के रिलीज़ से जुड़ा है. इसमें गड़बड़ियों को ठीक करने से जुड़ी ये चीज़ें शामिल हैं:
- समस्या #232438924: ASM API के साथ इस्तेमाल करने पर, AndroidGradlePlugin का 7.2 वर्शन, ट्रांसफ़ॉर्म एपीआई को काम नहीं करने देता
- समस्या #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
यह छोटा अपडेट, Android Studio Chipmunk के पैच 1 के रिलीज़ से जुड़ा है. इसमें गड़बड़ियों को ठीक करने से जुड़ी ये चीज़ें शामिल हैं:
- समस्या #230361284: bundletool, बेसलाइन प्रोफ़ाइलों को सही तरीके से पैकेज नहीं करता
इस रिलीज़ में शामिल अन्य गड़बड़ियों को ठीक करने के बारे में जानने के लिए, Android Studio Chipmunk पैच 1 के रिलीज़ नोट देखें.
इनके साथ काम करता है
कम से कम वर्शन | डिफ़ॉल्ट वर्शन | नोट | |
---|---|---|---|
Gradle | 7.3.3 | 7.3.3 | ज़्यादा जानने के लिए, Gradle को अपडेट करना लेख पढ़ें. |
SDK टूल के लिए बिल्ड टूल | 30.0.3 | 30.0.3 | SDK Build Tools को इंस्टॉल या कॉन्फ़िगर करें. |
एनडीके | लागू नहीं | 21.4.7075529 | NDK का कोई दूसरा वर्शन इंस्टॉल या कॉन्फ़िगर करें. |
JDK | 11 | 11 | ज़्यादा जानने के लिए, JDK वर्शन सेट करना लेख पढ़ें. |
Jetifier से जुड़ी चेतावनी और Build Analyzer में जाकर जांच करना
अगर आपके प्रोजेक्ट की gradle.properties
फ़ाइल में android.enableJetifier=true
शामिल है, तो अब बिल्ड विश्लेषक एक चेतावनी दिखाता है. इस फ़्लैग को Android Studio के पिछले वर्शन में, उन लाइब्रेरी के लिए AndroidX को चालू करने के लिए पेश किया गया था जो AndroidX के साथ काम नहीं करती हैं. हालांकि, लाइब्रेरी नेटवर्क अब ज़्यादातर मामलों में,
AndroidX के साथ काम करने के लिए नेटिव तौर पर उपलब्ध है. इसलिए, हो सकता है कि आपके प्रोजेक्ट के लिए अब जेटफ़ायर फ़्लैग की ज़रूरत न हो. इसके अलावा, फ़्लैग की वजह से बिल्ड की परफ़ॉर्मेंस धीमी हो सकती है. अगर आपको यह चेतावनी दिखती है, तो यह पुष्टि करने के लिए कि फ़्लैग को हटाया जा सकता है या नहीं, 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 मॉड्यूल मेटाडेटा फ़ाइल में, 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 से, एक ही सोर्स डायरेक्ट्री को कई सोर्स सेट में शेयर नहीं किया जा सकता. उदाहरण के लिए, यूनिट टेस्ट और इंस्ट्रूमेंटेशन टेस्ट, दोनों के लिए एक ही टेस्ट सोर्स का इस्तेमाल नहीं किया जा सकता. ज़्यादा जानने के लिए, डिफ़ॉल्ट सोर्स सेट कॉन्फ़िगरेशन बदलना देखें.