Android Gradle प्लग इन 8.3.0 (फ़रवरी 2024)

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

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

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

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

Android Gradle प्लगिन 8.3 में ये नई सुविधाएं जोड़ी गई हैं.

पैच रिलीज़

Android Studio Iguana और Android Gradle प्लगिन 8.3 में रिलीज़ किए गए पैच की सूची यहां दी गई है.

Android Studio Iguana | 2023.2.1 पैच 2 और AGP 8.3.2 (अप्रैल 2024)

इस छोटे अपडेट में, ये गड़बड़ियां ठीक की गई हैं.

Android Studio Iguana | 2023.2.1 Patch 1 और AGP 8.3.1 (मार्च 2024)

इस छोटे अपडेट में, ये गड़बड़ियां ठीक की गई हैं.

Gradle के वर्शन कैटलॉग के लिए सहायता

Android Studio, TOML पर आधारित Gradle वर्शन कैटलॉग को सपोर्ट करता है. यह एक ऐसी सुविधा है जिसकी मदद से, एक ही जगह पर डिपेंडेंसी मैनेज की जा सकती हैं. साथ ही, डिपेंडेंसी को मॉड्यूल या प्रोजेक्ट के बीच शेयर किया जा सकता है. Android Studio में अब एडिटर के सुझावों और प्रोजेक्ट स्ट्रक्चर डायलॉग के साथ इंटिग्रेशन की मदद से, वर्शन कैटलॉग को कॉन्फ़िगर करना आसान हो गया है. Gradle Version Catalogs को सेट अप और कॉन्फ़िगर करने का तरीका जानें. इसके अलावा, अपने बिल्ड को वर्शन कैटलॉग में माइग्रेट करने का तरीका भी जानें.

कोड अपने-आप पूरा होने और नेविगेशन की सुविधा

Android Studio, TOML फ़ाइल फ़ॉर्मैट में वर्शन कैटलॉग में बदलाव करते समय या किसी वर्शन कैटलॉग से बिल्ड फ़ाइल में डिपेंडेंसी जोड़ते समय, कोड पूरा करने की सुविधा देता है. कोड पूरा करने की सुविधा का इस्तेमाल करने के लिए, Ctrl+Space (macOS पर Command+Space) दबाएं. इसके अलावा, अपने ऐप्लिकेशन की build.gradle फ़ाइल में मौजूद किसी डिपेंडेंसी रेफ़रंस से, वर्शन कैटलॉग में मौजूद उस जगह पर तुरंत नेविगेट किया जा सकता है जहां उसे घोषित किया गया है. इसके लिए, Ctrl+b (macOS पर Command+b) दबाएं.

डिपेंडेंसी जोड़ते समय कोड पूरा होने की सुविधा

प्रोजेक्ट स्ट्रक्चर डायलॉग के साथ इंटिग्रेशन

अगर आपके प्रोजेक्ट में TOML फ़ाइल फ़ॉर्मैट में तय किया गया वर्शन कैटलॉग इस्तेमाल किया जाता है, तो Android Studio में प्रोजेक्ट स्ट्रक्चर डायलॉग वेरिएबल व्यू (फ़ाइल > प्रोजेक्ट स्ट्रक्चर > वेरिएबल) के ज़रिए, वहां तय किए गए वेरिएबल में बदलाव किया जा सकता है. हर वर्शन कैटलॉग के लिए, एक ड्रॉप-डाउन होता है. इसमें उस कैटलॉग के वैरिएबल की सूची होती है. किसी वैरिएबल में बदलाव करने के लिए, उसकी वैल्यू पर क्लिक करें और उसे बदलें. इन बदलावों को सेव करने पर, TOML फ़ाइल अपडेट हो जाती है.

प्रोजेक्ट स्ट्रक्चर डायलॉग में, वर्शन कैटलॉग के वैरिएबल

प्रोजेक्ट स्ट्रक्चर डायलॉग बॉक्स में जाकर भी डिपेंडेंसी अपडेट की जा सकती हैं. इसके लिए, डिपेंडेंसी व्यू (फ़ाइल > प्रोजेक्ट स्ट्रक्चर > डिपेंडेंसी) पर जाएं. प्रोजेक्ट स्ट्रक्चर डायलॉग का इस्तेमाल करके वर्शन अपडेट करने के लिए, उस मॉड्यूल और डिपेंडेंसी पर जाएं जिसमें आपको बदलाव करना है. इसके बाद, अनुरोधित वर्शन फ़ील्ड को अपडेट करें. इन बदलावों को सेव करने पर, TOML फ़ाइल अपडेट हो जाती है. ध्यान दें कि अगर किसी वैरिएबल का इस्तेमाल करके डिपेंडेंसी वर्शन तय किया गया था, तो इस तरीके से सीधे तौर पर वर्शन को अपडेट करने पर, वैरिएबल को हार्डकोड की गई वैल्यू से बदल दिया जाता है. यह भी ध्यान रखें कि बिल्ड फ़ाइल से किसी डिपेंडेंसी को हटाने पर, वह वर्शन कैटलॉग से नहीं हटती है. इसके लिए, प्रोजेक्ट स्ट्रक्चर डायलॉग का इस्तेमाल करना ज़रूरी नहीं है.

प्रोजेक्ट स्ट्रक्चर डायलॉग में वर्शन कैटलॉग से डिपेंडेंसी

पहले से मालूम समस्याएं और सीमाएं

Android Studio में Gradle Version Catalogs के साथ काम करने से जुड़ी ये समस्याएं या सीमाएं हैं.

  • Kotlin स्क्रिप्ट फ़ाइलों में प्लगिन के एलियास के एलान को हाइलाइट करने वाला प्लगिन: जब alias(libs.plugins.example) के फ़ॉर्म में प्लगिन का एलान जोड़ा जाता है, तो एडिटर libs वाले हिस्से के नीचे लाल रंग का अंडरलाइन जोड़ता है. यह Gradle के 8.0 और इससे पहले के वर्शन में मौजूद एक जानी-पहचानी समस्या है. इसे Gradle के आने वाले वर्शन में ठीक कर दिया जाएगा.

  • Android Studio में सिर्फ़ TOML फ़ॉर्मैट वाले वर्शन कैटलॉग काम करते हैं: फ़िलहाल, Android Studio में कोड पूरा करने, नेविगेशन, और प्रोजेक्ट स्ट्रक्चर डायलॉग की सुविधा सिर्फ़ उन वर्शन कैटलॉग के लिए उपलब्ध है जो TOML फ़ाइल फ़ॉर्मैट में तय किए गए हैं. हालांकि, settings.gradle फ़ाइल में सीधे तौर पर वर्शन कैटलॉग जोड़ा जा सकता है. साथ ही, अपने प्रोजेक्ट में इसकी डिपेंडेंसी का इस्तेमाल किया जा सकता है.

  • KTS बिल्ड फ़ाइलों के लिए नेविगेशन की सुविधा काम नहीं करती: Control+क्लिक (macOS पर Command+क्लिक) का इस्तेमाल करके, वर्शन कैटलॉग में डिपेंडेंसी की परिभाषा पर जाने की सुविधा, Kotlin स्क्रिप्ट का इस्तेमाल करके लिखी गई बिल्ड फ़ाइलों के लिए अभी उपलब्ध नहीं है.

  • Firebase Assistant, सीधे तौर पर बिल्ड स्क्रिप्ट में डिपेंडेंसी जोड़ता है: Firebase Assistant, वर्शन कैटलॉग के बजाय सीधे तौर पर आपकी बिल्ड स्क्रिप्ट में डिपेंडेंसी जोड़ता है.

  • "इस्तेमाल के उदाहरण ढूंढें" सुविधा काम नहीं करती: वर्शन कैटलॉग के वैरिएबल के इस्तेमाल के उदाहरणों को अन्य बिल्ड फ़ाइलों में ढूंढने की सुविधा अभी उपलब्ध नहीं है. भले ही, बिल्ड फ़ाइल KTS या Groovy में हो. इसका मतलब है कि वर्शन कैटलॉग में किसी वैरिएबल की परिभाषा पर Control+क्लिक (macOS पर Command+क्लिक) करने से, उन बिल्ड फ़ाइलों पर नहीं पहुंचा जा सकता जहां वैरिएबल का इस्तेमाल किया गया है.

  • अगर कैटलॉग फ़ाइलें रूट gradle फ़ोल्डर में हैं, तो Android Studio में प्रोजेक्ट स्ट्रक्चर डायलॉग में कई कैटलॉग फ़ाइलें दिखती हैं. हालांकि, कंपोज़िट बिल्ड के लिए कैटलॉग नहीं दिखते. उदाहरण के लिए, अगर आपके पास दो कैटलॉग फ़ाइलें हैं—एक आपके ऐप्लिकेशन के लिए और दूसरी कंपोज़िट बिल्ड के लिए—तो प्रोजेक्ट स्ट्रक्चर डायलॉग में सिर्फ़ ऐप्लिकेशन कैटलॉग फ़ाइल दिखेगी. कंपोज़िट बिल्ड का इस्तेमाल किया जा सकता है. हालांकि, आपको इसकी TOML फ़ाइल में सीधे तौर पर बदलाव करना होगा.

एसडीके टूल के बारे में ज़्यादा जानकारी: नीति से जुड़ी समस्याएं

Android Studio, सार्वजनिक एसडीके के लिए लिंट चेतावनियां दिखाता है. ये चेतावनियां, build.gradle.kts और build.gradle फ़ाइलों में दिखती हैं. साथ ही, प्रोजेक्ट स्ट्रक्चर डायलॉग में भी दिखती हैं. ये ऐसे एसडीके के लिए दिखती हैं जिन्होंने Google Play एसडीके इंडेक्स में, Play की नीति का उल्लंघन किया है. आपको Play की नीतियों का उल्लंघन करने वाली सभी डिपेंडेंसी को अपडेट करना चाहिए. ऐसा इसलिए, क्योंकि इन उल्लंघनों की वजह से, आने वाले समय में Google Play Console पर ऐप्लिकेशन पब्लिश करने में समस्या आ सकती है. नीति के उल्लंघन की चेतावनियां, Android Studio में दिखने वाली पुराने वर्शन की चेतावनियों के साथ दिखती हैं.

Android Studio के compileSdk वर्शन के साथ काम करने की सुविधा

अगर आपका प्रोजेक्ट ऐसे compileSdk का इस्तेमाल करता है जो Android Studio के मौजूदा वर्शन के साथ काम नहीं करता है, तो Android Studio एक चेतावनी दिखाता है. अगर उपलब्ध हो, तो यह Android Studio के ऐसे वर्शन पर स्विच करने का सुझाव भी देता है जो आपके प्रोजेक्ट में इस्तेमाल किए गए compileSdk के साथ काम करता हो. ध्यान रखें कि Android Studio को अपग्रेड करने के लिए, आपको AGP को भी अपग्रेड करना पड़ सकता है. अगर आपके प्रोजेक्ट में इस्तेमाल किया गया compileSdk, AGP के मौजूदा वर्शन के साथ काम नहीं करता है, तो AGP, Build टूल विंडो में एक चेतावनी भी दिखाता है.

लिंट के व्यवहार में बदलाव

Android Gradle प्लगिन 8.3.0-alpha02 और इसके बाद के वर्शन में, किसी मॉड्यूल पर lint चलाने पर, मॉड्यूल के मुख्य और टेस्ट कॉम्पोनेंट के लिए अलग-अलग lint विश्लेषण टास्क चलाए जाते हैं. इस बदलाव की वजह, परफ़ॉर्मेंस को बेहतर बनाना है. पहले जैसा व्यवहार वापस लाने के लिए, अपनी android.experimental.lint.analysisPerComponent=false फ़ाइल में android.experimental.lint.analysisPerComponent=false सेट करें.gradle.properties

इस्तेमाल नहीं किए जाने वाले रिसॉर्स को हटाने की प्रोसेस डिफ़ॉल्ट रूप से चालू होती है

संसाधन को छोटा करने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. इससे resources.arsc फ़ाइल से इस्तेमाल न की गई एंट्री हट जाती हैं और इस्तेमाल न की गई संसाधन फ़ाइलें मिट जाती हैं. इस सुविधा के चालू होने पर, आपकी संसाधन टेबल छोटी हो जाती है. साथ ही, सिर्फ़ रेफ़र की गई res फ़ोल्डर एंट्री को APK में शामिल किया जाता है.

रिसोर्स को सटीक तरीके से छोटा करने की सुविधा बंद करने के लिए, अपने प्रोजेक्ट की gradle.properties फ़ाइल में android.enableNewResourceShrinker.preciseShrinking को false पर सेट करें.

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

Android Gradle प्लगिन 8.3.2

ठीक की गई समस्याएं
Android Gradle प्लगिन
AGP 8.3 में, डिसुगरिंग की सुविधा चालू होने पर डेडलॉक की समस्या हो सकती है
AGP 8.3 में zipApksFor टास्क काम नहीं करता
लिंट इंटिग्रेशन
Lint, KMP की किसी डिपेंडेंसी के बारे में साफ़ तौर पर नहीं बता सका

Android Gradle प्लगिन 8.3.1

ठीक की गई समस्याएं
Android Gradle प्लगिन
MergeJavaResourcesTask में इंक्रीमेंटल इनपुट हैंडल करने से जुड़ी समस्या
लिंट इंटिग्रेशन
AGP 8.3.0-rc02 में, Lint, सिबलिंग सोर्स सेट के टाइप को ठीक नहीं कर सकता

Android Gradle प्लगिन 8.3.0

ठीक की गई समस्याएं
Android Gradle प्लगिन
PackageForUnitTest टास्क के लिए, बिल्ड कैश मेमोरी की ज़रूरत नहीं है
[AGP 8.1.0] splits.abi.isEnable और testOptions.unitTests.isIncludeAndroidResources, दोनों के सही होने पर ./gradlew test में "Unable to find manifest output" गड़बड़ी होती है
नेस्ट किए गए Gradle कंपोज़िट बिल्ड के साथ AGP मॉडल बनाने में गड़बड़ी होती है
इस्तेमाल नहीं किए जाने वाले रिसॉर्स को हटाने की प्रोसेस में, रिसॉर्स आईडी को बदल दिया जाता है. इससे रनटाइम क्रैश हो जाते हैं
Gradle के ज़रूरी वर्शन की जांच, दूसरी और इसके बाद की बिल्ड पर नहीं चलती है
AGP को 8.0.2 से 8.1.0 पर अपडेट करने के बाद, ':app:mergeReleaseClasses' टास्क पूरा नहीं हो सका
[Gradle 8.4][अपग्रेड] kotlin gradle plugin में बंद की जा चुकी सुविधा का इस्तेमाल करने की वजह से, अपग्रेड के बाद इंटिग्रेशन टेस्ट पूरा नहीं हो सका
कॉन्फ़िगरेशन फ़ेज़ के दौरान, मेनिफ़ेस्ट ओवरले फ़ाइलों की मौजूदगी की जांच न करें
MergeJavaResWorkAction गड़बड़ी के बारे में Gradle के दस्तावेज़ का लिंक काम नहीं कर रहा है
.gradle/.android/analytics.settings की वजह से, Gradle 8.1 में कॉन्फ़िगरेशन कैश मेमोरी काम नहीं करती
AGP को ProjectComponentIdentifier.build के बिना ProjectComponentIdentifier.projectPath का इस्तेमाल नहीं करना चाहिए
कृपया AGP "Analytics other plugin to proto: ..." के लिए, सूचना-लेवल की लॉगिंग कम करें/हटाएं
[Gradle 8.4][अपग्रेड] ProcessJavaResTask में कॉन्फ़िगरेशन के दौरान फ़ाइल ऑपरेशन से कॉन्फ़िगरेशन कैश मेमोरी काम नहीं करती
सिंबल टेबल (R.txt) पाने के लिए वैरिएंट एपीआई
lint का स्टैंडअलोन प्लगिन, gradleApi() डिपेंडेंसी को ठीक से हैंडल नहीं करता
AGP क्लास/प्रॉपर्टी के बारे में खराब kDocs. `VariantOutput.enable` से पता चलता है कि इसे `VariantOutput.enable` से बदला जाना चाहिए
AGP 8.3.0-alpha02, Windows होस्ट पर रिलीज़ प्रोफ़ाइलें इंस्टॉल नहीं कर सकता
`android.enableDexingArtifactTransform=true` को लागू करें
[Gradle 8.4][अपग्रेड] कॉन्फ़िगरेशन फ़ेज़ में फ़ाइल हैंडलिंग की वजह से, अपग्रेड के बाद इंटिग्रेशन टेस्ट पूरा नहीं हो सका
AGP 8.3.0-alpha-02 - `Error: Failed to deserialize cached resource repository.`
[Gradle 8.4][अपग्रेड] TestLabBuildService के कॉन्फ़िगरेशन फ़ेज़ में फ़ाइल हैंडलिंग की वजह से, अपग्रेड के बाद इंटिग्रेशन टेस्ट पूरा नहीं हुआ
AGP 8.1.0, इंस्ट्रुमेंटेड टेस्ट चलाने के बाद ऐप्लिकेशन को अनइंस्टॉल कर देता है. हालांकि, 7.4.2 ऐसा नहीं करता
किसी APK को ट्रांसफ़ॉर्म करने पर, ListingFileRedirectTask में गड़बड़ी होती है
ASSETS आर्टफ़ैक्ट को बदलने से, इनपुट/आउटपुट की गलत जगहें मिलती हैं
android.experimental.r8.dex-startup-optimization=true को डिफ़ॉल्ट के तौर पर प्रमोट करें
Gradle के नए कॉन्फ़िगरेशन अलाइनमेंट एपीआई पर माइग्रेट करना
जब Kotlin कंपाइलर, IDEA 21.3 पर अपडेट करने की कोशिश करता है, तब संसाधन कंपाइल नहीं हो पाता
Artifacts API के साथ Reactive get()
AGP की "android.lint.printStackTrace" प्रॉपर्टी को स्टेबल वर्शन में अपग्रेड करें
AGP 8.1.0: डाइनैमिक सुविधा: exportReleaseConsumerProguardFiles और extractProguardFiles के बीच इंप्लिसिट डिपेंडेंसी की वजह से, कंपाइलेशन से जुड़ी गड़बड़ियां होती हैं
`variant.unitTest.jniLibs.addGeneratedSourceDirectory` से कोई फ़र्क़ नहीं पड़ता
Gradle 8.4 के साथ काम करने के लिए, AGP में इस्तेमाल किए गए एक्सएमएल पार्सर को अपडेट किया गया
AGP 8.0.1 रिलीज़ पैकेज में jacoco इंस्ट्रूमेंट काम नहीं करता
HEDGEHOG REGRESSION: Run बटन कुछ सेकंड की देरी से काम करता है (Creating spec)
AGP 8.3.0-alpha11, रिलीज़ APK बनाता है. यह android.content.res.Resources$NotFoundException के साथ स्टार्टअप पर क्रैश हो जाता है
AGP की "android.lint.printStackTrace" प्रॉपर्टी को स्टेबल वर्शन में अपग्रेड करें
सुविधा का अनुरोध: com.android.build.api.extension.impl.CURRENT_AGP_VERSION को सार्वजनिक एपीआई के तौर पर प्रमोट करें
एसडीके मैनेजर को stdout में लॉग की जानकारी को स्पैम करना बंद करना चाहिए
DexArchiveBuilderTaskDelegate, सिर्फ़ रिसॉर्स वाली लाइब्रेरी मॉड्यूल के साथ काम नहीं कर सका
AGP7.4 कस्टम प्लगिन वैरिएंट toTransform के लिए, डुप्लीकेट एंट्री वाली सभी फ़ाइलों के लिए: META-INF/MANIFEST.MF अपवाद
नए मेनिफ़ेस्ट टैग के साथ काम करता है,
Studio की सेटिंग में, "अलग किए गए प्रोजेक्ट" का लिंक गलत जगह पर ले जाता है.
कृपया Javadoc और SourceJar पर जनरेट किए गए सोर्स शामिल करने के विकल्प उपलब्ध कराएं
compileSdk और minCompileSdkVersion वाली डिपेंडेंसी के बीच अंतर को तुरंत ठीक करने की ज़रूरत है
[Gradle] tools:overrideLibrary में तारे के निशान (*) का इस्तेमाल किया जा सकता है
मेनिफ़ेस्ट में बदलाव करते समय यूज़र इंटरफ़ेस (यूआई) फ़्रीज़ हो जाता है
AGP 8.2.0 में JaCoCo का वर्शन सेट नहीं किया जा सका
डाइनैमिक सुविधाओं का इस्तेमाल करने वाले प्रोजेक्ट में, Android Gradle प्लगिन 8.2.0 को इंस्टॉल करने का टास्क पूरा नहीं होता
डाइनैमिक सुविधाओं का इस्तेमाल करने वाले प्रोजेक्ट में, Android Gradle प्लगिन 8.2.0 को इंस्टॉल करने का टास्क पूरा नहीं होता
Dexer (D8)
[desugared library] Desugared library का वर्शन 2.1, R8 के पिछले वर्शन के साथ काम नहीं करता है
क्या D8 के साथ भी ऑप्टिमाइज़ेशन की सुविधा काम करती है?
लिंट
[लिंट] TranslucentViewDetector, filterIncident फ़ंक्शन में क्रैश हो जाता है. इससे लिंट का नतीजा गलत आता है
TranslucentViewDetector को "behind" वैल्यू स्वीकार करनी चाहिए
Android Lint, KMP लाइब्रेरी पर काम नहीं करता है. इसमें `property 'variantInputs.name' doesn't have a configured value.` मैसेज दिखता है.
TranslucentViewDetector, मेनिफ़ेस्ट में गलत लाइन की जानकारी देता है
प्रोजेक्ट की डिपेंडेंसी का इस्तेमाल करते समय, lintDebug फ़ंक्शन, UseTomlInstead के बारे में गलत तरीके से चेतावनियां दिखाता है
Android Lint ने किसी दूसरे प्रोजेक्ट से जुड़ी ऐसी समस्याओं के बारे में सूचना दी है जिनके बारे में पहले से नहीं पता था
LINT चेक, बाइंडिंग और क्लिक लिसनर में इस्तेमाल नहीं किए गए संसाधन का फ़ॉल्स पॉज़िटिव पता लगाना
कस्टम लिंट चेक जार फ़ाइल लोड नहीं की जा सकी: नोड को TreeNode में नहीं बदला जा सकता
वैरिएबल के एलान में एनोटेट की गई क्लास के इस्तेमाल के लिए, Lint visitAnnotationUsage को कॉल नहीं किया गया
java.util.NoSuchElementException: Array is empty. की वजह से, Lint 31.0.2 काम नहीं करता.
kotlin.text.MatchNamedGroupCollection#get(String) के लिए, एपीआई 26 की ज़रूरत होती है. इस बारे में कोई लिंट चेतावनी नहीं मिली
lint:TypographyQuotes false negatives: more than one escaped apostrophe are ignored
AGP 8.0.2 में लिंट InvalidId डिटेक्टर फ़ॉल्स पॉज़िटिव
LintError से जुड़ी समस्याओं को लिंट बेसलाइन में जोड़ा गया
क्विकफ़िक्स लिंट काम नहीं करता और इससे IDE में गड़बड़ी होती है
आंशिक विश्लेषण की वजह से, टेस्ट के नतीजे में अंतर होना
ऐसी चेतावनी को हाइलाइट करना जो गलत है
वैरिएबल के एलान में एनोटेट की गई क्लास के इस्तेमाल के लिए, Lint visitAnnotationUsage को कॉल नहीं किया गया
इस्तेमाल न किए गए संसाधनों को प्रोसेस करने वाला टूल, Gradle बिल्ड फ़ाइल मिटा सकता है
NewApi लिंट चेक, "isAtleastU() && otherCondition()" फ़ाइनल फ़ील्ड को नहीं समझता
`LintClient.getSdkHome` से StackOverflow
Android Studio / Lint, "प्लैटफ़ॉर्म" डिपेंडेंसी के पुराने होने पर आपको सूचना नहीं देता
बग: Firebase-bom डिपेंडेंसी को अपडेट करने का कोई सुझाव नहीं मिला
प्रोजेक्ट स्ट्रक्चर (और Gradle (?)) को Firebase BOM डिपेंडेंसी का पता नहीं चलता है, ताकि उन्हें नए वर्शन में अपग्रेड किया जा सके.
लिंट इंटिग्रेशन
testImplementation डिपेंडेंसी से DuplicatePlatformClasses लिंट की गड़बड़ी
Shrinker (R8)
AGP 8.0.2 से 8.1.0 पर अपग्रेड करने के बाद, R8 काम नहीं करता
isShrinkResources, 8.3.0-alpha11 से alpha14 में बहुत ज़्यादा ऑप्टिमाइज़ करता है
AGP 8.2.0 के साथ R8 Flurry SDK क्रैश होने की समस्या
Android - R8 की वजह से LinearLayoutManager की सबक्लास क्रैश हो जाती है
अपग्रेड करने के बाद, R8 v8.2.33 में रनटाइम क्रैश हो गया. इसकी वजह, "java.lang.VerifyError: Bad type on operand stack" है
[R8 8.3.21] R8 8.3.21, R8 8.1.56 से 1.57 एमबी बड़ा है
[R8 8.3.21] R8 8.3.21, R8 8.1.56 से 1.57 एमबी बड़ा है
class.getInterfaces() से खाली वैल्यू मिलती है
kotlin_dev बॉट पर SimpleKotlinEnumUnboxingTest की जांच नहीं हो पाई