Android Gradle प्लग इन 8.7.0 (अक्टूबर 2024)

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

साथ काम करने की सुविधा

Android Gradle प्लगिन 8.7, एपीआई लेवल 35 तक के वर्शन के साथ काम करता है. यहां अन्य ज़रूरी जानकारी दी गई है:

कम से कम वर्शन डिफ़ॉल्ट वर्शन नोट
"Gradle" 8.9 8.9 "ज़्यादा जानने के लिए, Gradle अपडेट करना लेख पढ़ें."
एसडीके बिल्ड टूल 34.0.0 34.0.0 एसडीके बिल्ड टूल इंस्टॉल करें या कॉन्फ़िगर करें.
एनडीके लागू नहीं 27.0.12077973 "NDK का कोई दूसरा वर्शन इंस्टॉल करें या कॉन्फ़िगर करें."
JDK 17 17 "ज़्यादा जानने के लिए, JDK का वर्शन सेट करना लेख पढ़ें."

लिंट के काम करने के तरीके में बदलाव

Android Gradle प्लग इन 8.7.0-alpha08 से शुरू होने वाले वर्शन में, अगर Gradle का इस्तेमाल करके lint चलाया जाता है, तो LintError मौजूद होने पर, lint analysis टास्क एक अपवाद दिखाता है. इस बदलाव से, कभी-कभी होने वाली गड़बड़ियों को बिल्ड कैश में सेव होने से रोका जा सकता है.

माफ़ करें, इस बदलाव की वजह से उन प्रोजेक्ट के लिए बिल्ड काम नहीं कर रहे हैं जिनकी लिंट बेसलाइन फ़ाइलों में सही LintError इंस्टेंस मौजूद हैं. गड़बड़ी के मैसेज में इस बारे में जानकारी होती है कि कौनसी लिंट जांचों की वजह से समस्या आ रही है. कुछ मामलों में, लाइब्रेरी की डिपेंडेंसी को अपडेट करने से समस्या हल हो सकती है. अगर ऐसा नहीं है, तो लाइब्रेरी बनाने वाला व्यक्ति इस समस्या को ठीक होने तक, लिंट चेक करने की सुविधा बंद कर सकता है.

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

Android Gradle प्लग इन 8.7.0

ठीक की गई समस्याएं
Android Gradle प्लगिन
AGP को यह दावा करना चाहिए कि वह एपीआई 35 के साथ काम करता है, जिसे जल्द ही शिप किया जाएगा
AGP 8.5: "mergeDebugResources" टास्क ज़्यादा चलाए जाते हैं, जिससे बिल्ड की प्रोसेस धीमी हो जाती है
AGP में ndk 27 को डिफ़ॉल्ट NDK के तौर पर सेट करें.
AGP को यह दावा करना चाहिए कि वह एपीआई 35 के साथ काम करता है, जिसे जल्द ही शिप किया जाएगा
AGP को यह दावा करना चाहिए कि वह एपीआई 35 के साथ काम करता है, जिसे जल्द ही शिप किया जाएगा
NoSuchFileException की वजह से, Android lint नहीं चल सका
BuildType#initWith, पोस्टप्रोसेसिंग ब्लॉक की कॉपी करता है, लेकिन ProGuard कॉन्फ़िगरेशन लागू नहीं होता
foregroundServiceType टैग के लिए मर्ज नहीं किया जा सकता
NoSuchFileException की वजह से, Android lint नहीं चल सका
Lint
लिंट को ViewGroups के तौर पर इस्तेमाल किए गए अमान्य ऑब्जेक्ट की जांच करनी चाहिए
शून्य होस्ट वाले यूआरआई के लिए, "android:host मौजूद नहीं है"
KtAnalysisSessionProvider, 8.7.0-alpha04 में शामिल किए गए लिंट चेक के साथ काम नहीं करता
Kotlin के साथ PackageManager.ResolveInfoFlags.of का इस्तेमाल करने पर, "False positive" WrongConstant

Android Gradle प्लग इन 8.7.1

ठीक की गई समस्याएं
Android Gradle प्लगिन
agp docs में बहुत सारे TBD हैं
Lint
AGP 8.6.1: रिग्रेशन - Kotlin में @LongDef के अंदर [Int].toLong() का इस्तेमाल करने पर, WrongConstant लिंट की जांच में गड़बड़ी हुई
इंटेंट-फ़िल्टर स्कीम को http या https पर सेट करते समय, "कम से कम एक होस्ट तय करनी होगी" लिंट की गड़बड़ी

Android Gradle प्लग इन 8.7.2

ठीक की गई समस्याएं
Lint
AGP 8.7.0 - Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
Shrinker (R8)
[R8 8.6.27] मेथड के लागू करने के तरीके को `throw null` से बदल दिया गया है
R8 के मौजूदा वर्शन के साथ इस्तेमाल करने पर, Android ProGuard की डिफ़ॉल्ट फ़ाइलें चेतावनी देती हैं
अगर मैसेज बहुत बड़ा है, तो MissingStartupProfileItemsDiagnostic, Gradle क्लाइंट को मेमोरी से जुड़ी गड़बड़ी के साथ क्रैश कर देता है

Android Gradle प्लग इन 8.7.3

ठीक की गई समस्याएं
Lint
लिंट चलाने पर, विश्लेषण एपीआई के तरीके से जुड़ी कई चेतावनियां नहीं दिखती हैं
False positive lint check android.permission.SCHEDULE_EXACT_ALARM is only granted to system apps