Android Gradle प्लग इन 7.2.0 (मई 2022)

Android Gradle प्लग इन 7.2.0 एक मुख्य रिलीज़ है. इसमें कई तरह की नई सुविधाएं और सुधार शामिल हैं.

7.2.2 (अगस्त 2022)

यह छोटा अपडेट, Android Studio Chipmunk के पैच 2 के रिलीज़ से जुड़ा है. इसमें गड़बड़ियों को ठीक करने से जुड़ी ये चीज़ें शामिल हैं:

  • समस्या #232438924: ASM API के साथ इस्तेमाल करने पर, AndroidGradlePlugin का 7.2 वर्शन, ट्रांसफ़ॉर्म एपीआई को काम नहीं करने देता
  • समस्या #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScript आखिरीAccessors - Shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocation
7.2.1 (मई 2022)

यह छोटा अपडेट, 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 विश्लेषक में जांच करें

अगर आपके प्रोजेक्ट की gradle.properties फ़ाइल में android.enableJetifier=true शामिल है, तो अब बिल्ड विश्लेषक एक चेतावनी दिखाता है. यह फ़्लैग Android Studio के पिछले वर्शन में पेश किया गया था. इसका मकसद उन लाइब्रेरी के लिए AndroidX की सुविधा देना है जो AndroidX के साथ काम नहीं करती हैं. हालांकि, लाइब्रेरी नेटवर्क का ज़्यादातर काम, स्थानीय तौर पर AndroidX के साथ काम करने के लिए हो गया है. हो सकता है कि आपके प्रोजेक्ट के लिए अब Jetifier फ़्लैग की ज़रूरत न रहे. इसके अलावा, फ़्लैग की वजह से बिल्ड की परफ़ॉर्मेंस धीमी हो सकती है. अगर आपको यह चेतावनी दिखती है, तो यह पुष्टि करने के लिए कि फ़्लैग को हटाया जा सकता है या नहीं, Build Analyzer में जाकर जांच की जा सकती है.

टेस्ट फ़िक्सचर के लिए सहायता

Android Studio के चिपमंक बीटा 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 मॉड्यूल मेटाडेटा फ़ाइल में, testFixtures कॉम्पोनेंट का अनुरोध करते समय सही आर्टफ़ैक्ट का इस्तेमाल करने के लिए, Gradle से जुड़ी जानकारी शामिल होगी.

रिलीज़ वैरिएंट में किसी लाइब्रेरी के टेस्ट फ़िक्सचर AAR को पब्लिश करने की सुविधा बंद करने के लिए, अपनी लाइब्रेरी-लेवल की build.gradle फ़ाइल में यह जोड़ें:

afterEvaluate {
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}

किसी पब्लिश की गई Android लाइब्रेरी के टेस्ट फ़िक्स एएआर का इस्तेमाल करने के लिए, Gradle के हेल्पर तरीके testFixtures() का इस्तेमाल किया जा सकता है.

dependencies {
  testImplementation testFixtures('com.example.company:publishedLib:1.0')
}

डिफ़ॉल्ट रूप से, लिंट टेस्ट फ़िक्सचर सोर्स का विश्लेषण करेगा. टेस्ट से जुड़ी चीज़ों के सोर्स को अनदेखा करने के लिए, लिंट को इस तरह से कॉन्फ़िगर किया जा सकता है:

android {
  lint {
    ignoreTestFixturesSources true
  }
}

डुप्लीकेट कॉन्टेंट के रूट का इस्तेमाल नहीं किया जा सकता

AGP 7.2 से, एक ही सोर्स डायरेक्ट्री को कई सोर्स सेट में शेयर नहीं किया जा सकता. उदाहरण के लिए, यूनिट टेस्ट और इंस्ट्रूमेंटेशन टेस्ट, दोनों के लिए एक ही टेस्ट सोर्स का इस्तेमाल नहीं किया जा सकता. ज़्यादा जानने के लिए, डिफ़ॉल्ट सोर्स सेट कॉन्फ़िगरेशन बदलना देखें.