Kotlin DSL, बिल्ड कॉन्फ़िगरेशन के लिए डिफ़ॉल्ट तौर पर सेट होता है
नए प्रोजेक्ट अब डिफ़ॉल्ट रूप से, Kotlin DSL (build.gradle.kts) का इस्तेमाल, बिल्ड कॉन्फ़िगरेशन के लिए करते हैं. यह Groovy DSL (build.gradle) की तुलना में, सिंटैक्स हाइलाइट करने, कोड पूरा करने, और एलान करने के लिए नेविगेट करने की सुविधा के साथ, बदलाव करने का बेहतर अनुभव देता है. ध्यान दें कि अगर बिल्ड कॉन्फ़िगरेशन के लिए AGP 8.1 और Kotlin DSL का इस्तेमाल किया जा रहा है, तो बेहतर अनुभव के लिए आपको Gradle 8.1 का इस्तेमाल करना चाहिए. ज़्यादा जानने के लिए,
Kotlin DSL माइग्रेशन गाइड देखें.
हर ऐप्लिकेशन के हिसाब से भाषा अपने-आप बदलने की सुविधा
Android Studio Giraffe Canary 7 और AGP 8.1.0-alpha07 से, अपने ऐप्लिकेशन को हर ऐप्लिकेशन के लिए भाषा की प्राथमिकताओं के साथ काम करने के लिए अपने-आप कॉन्फ़िगर किया जा सकता है. आपके प्रोजेक्ट के संसाधनों के आधार पर, Android Gradle प्लग इन LocaleConfig फ़ाइल जनरेट करता है और फ़ाइनल मेनिफ़ेस्ट फ़ाइल में इसका रेफ़रंस जोड़ता है. इसलिए, अब आपको मैन्युअल तरीके से ऐसा करने की ज़रूरत नहीं है. AGP, आपके ऐप्लिकेशन मॉड्यूल के res फ़ोल्डर और लाइब्रेरी मॉड्यूल की डिपेंडेंसी में मौजूद रिसॉर्स का इस्तेमाल करता है. इससे, यह तय किया जाता है कि LocaleConfig फ़ाइल में कौनसी स्थानीय भाषाएं शामिल की जाएं.
ध्यान दें कि हर ऐप्लिकेशन के लिए, भाषा अपने-आप बदलने की सुविधा, Android 13 (एपीआई लेवल 33) या उसके बाद के वर्शन पर काम करने वाले ऐप्लिकेशन के साथ काम करती है. इस सुविधा का इस्तेमाल करने के लिए, आपको compileSdkVersion को 33 या उससे ज़्यादा पर सेट करना होगा. Android के पुराने वर्शन के लिए, हर ऐप्लिकेशन की भाषा की प्राथमिकताएं कॉन्फ़िगर करने के लिए, आपको अब भी एपीआई और ऐप्लिकेशन में भाषा चुनने की सुविधाओं का इस्तेमाल करना होगा.
हर ऐप्लिकेशन के लिए, भाषा के अपने-आप काम करने की सुविधा चालू करने के लिए, कोई डिफ़ॉल्ट स्थानीय भाषा तय करें:
ऐप्लिकेशन मॉड्यूल के res फ़ोल्डर में, resources.properties नाम की एक नई फ़ाइल बनाएं.
resources.properties फ़ाइल में, unqualifiedResLocale लेबल के साथ डिफ़ॉल्ट स्थान-भाषा सेट करें. स्थानीय भाषा के नाम बनाने के लिए, भाषा कोड को वैकल्पिक स्क्रिप्ट और इलाके के कोड के साथ जोड़ें. साथ ही, हर कोड को डैश से अलग करें:
भाषा: दो या तीन अक्षरों वाले ISO 639-1 कोड का इस्तेमाल करें.
स्क्रिप्ट (ज़रूरी नहीं): ISO 15924 कोड का इस्तेमाल करें.
क्षेत्र (ज़रूरी नहीं): दो अक्षर वाले ISO 3166-1-alpha-2 कोड या तीन अंकों वाले UN_M.49 कोड में से किसी एक का इस्तेमाल करें.
उदाहरण के लिए, अगर आपकी डिफ़ॉल्ट स्थान-भाषा अमेरिकन इंग्लिश है, तो:
unqualifiedResLocale=en-US
AGP, डिफ़ॉल्ट भाषा के साथ-साथ, res फ़ोल्डर में मौजूद values-* डायरेक्ट्री का इस्तेमाल करके, आपके बताए गए वैकल्पिक भाषाओं को अपने-आप जनरेट हुई LocaleConfig फ़ाइल में जोड़ता है.
हर ऐप्लिकेशन के लिए, भाषा अपने-आप बदलने की सुविधा डिफ़ॉल्ट रूप से बंद होती है. इस सुविधा को चालू करने के लिए,
मॉड्यूल-लेवल की build.gradle.kts फ़ाइल (अगर Groovy का इस्तेमाल किया जा रहा है, तो build.gradle फ़ाइल) के androidResources {} ब्लॉक में generateLocaleConfig सेटिंग का इस्तेमाल करें:
Android Lint में, JVM 17 को टारगेट करने वाला बाइटकोड शामिल है
AGP 8.1.0-alpha04 से शुरू होकर, Android Lint में JVM
17 को टारगेट करने वाला बाइटकोड शामिल है. अगर कस्टम लिंट जांच लिखी जाती है, तो आपको JDK 17 या इसके बाद के वर्शन के साथ कॉम्पाइल करना होगा और अपने Kotlin कंपाइलर के विकल्पों में jvmTarget = '17' की जानकारी देनी होगी.
नेटिव लाइब्रेरी को कंप्रेस करने की सेटिंग को डीएसएल में ले जाया गया
AGP 8.1.0-alpha10 से, अगर मेनिफ़ेस्ट के बजाय डीएसएल का इस्तेमाल करके नेटिव लाइब्रेरी कम्प्रेशन को कॉन्फ़िगर नहीं किया जाता है, तो आपको चेतावनी मिलेगी. यहां दिए गए दिशा-निर्देशों में, डीएसएल का इस्तेमाल करने के लिए अपने कॉन्फ़िगरेशन को अपडेट करने का तरीका बताया गया है. इन अपडेट को लागू करने में मदद पाने के लिए, AGP Upgrade Assistant (टूल > AGP Upgrade Assistant) का इस्तेमाल करें.
बिना कंप्रेस की गई नेटिव लाइब्रेरी का इस्तेमाल करने के लिए, मेनिफ़ेस्ट से android::extractNativeLibs एट्रिब्यूट हटाएं और मॉड्यूल-लेवल build.gradle.kts फ़ाइल (अगर Groovy का इस्तेमाल किया जा रहा है, तो build.gradle फ़ाइल) में यह कोड जोड़ें:
अगर इस विकल्प को चालू करने के लिए, साइनिंग कॉन्फ़िगरेशन नहीं चुना जाता है, तो AGP, प्रोफ़ाइल किए जा सकने वाले या डीबग किए जा सकने वाले बाइल्ड को चलाते समय, डिफ़ॉल्ट डीबग साइनिंग कॉन्फ़िगरेशन का इस्तेमाल करता है. यह फ़्लैग डिफ़ॉल्ट रूप से बंद होता है, ताकि बाइल्ड बनाने वाले लोग, प्रोफ़ाइलिंग के लिए खास साइनिंग कॉन्फ़िगरेशन का एलान कर सकें.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
इस फ़्लैग की मदद से, लाइब्रेरी बनाने वाले लोग, टेस्टिंग के लिए बने APK में कोर लाइब्रेरी को डी-शुगर कर सकते हैं. ऐसा करने से, जनरेट किए गए AAR पर कोई असर नहीं पड़ता. उदाहरण के लिए, लिंटिंग की मदद से.
हमारा प्लान है कि हम Variant API में भी इस तरह की सुविधा उपलब्ध कराएं.
अगर यह सेटिंग चालू है, तो 'ऐसा डिवाइस जिसे Gradle मैनेज करता है' सेक्शन में, उपयोगकर्ता के तय किए गए कस्टम डिवाइस टाइप का इस्तेमाल किया जा सकता है. अगर आपको Firebase टेस्ट लैब प्लग इन का इस्तेमाल करना है, तो यह फ़्लैग चालू होना चाहिए.
android.lint.printStackTrace
AGP 8.0
false
अगर यह सुविधा चालू है, तो Android lint क्रैश होने पर स्टैक ट्रेस प्रिंट करता है. इस फ़्लैग के पास, LINT_PRINT_STACKTRACE के एनवायरमेंट वैरिएबल जैसी ही सुविधाएं होती हैं.
यह किसी भी समय, एक साथ चालू रहने वाले Gradle मैनेज किए जा रहे डिवाइसों (AVDs) की ज़्यादा से ज़्यादा संख्या बताता है. अगर वैल्यू 0 या
नेगेटिव है, तो डिवाइसों की ज़्यादा से ज़्यादा संख्या तय नहीं की गई है.
[AGP 8.1.0] अगर splits.abi.isEnable और testOptions.unitTests.isIncludeAndroidResources, दोनों 'सही' पर सेट हैं, तो ./gradlew test "मेनिफ़ेस्ट आउटपुट नहीं मिला" के साथ फ़ेल हो जाता है
[AGP 8.1.0] अगर splits.abi.isEnable और testOptions.unitTests.isIncludeAndroidResources, दोनों 'सही' पर सेट हैं, तो ./gradlew test "मेनिफ़ेस्ट आउटपुट नहीं मिला" के साथ फ़ेल हो जाता है
अगर सब-प्रोजेक्ट की क्लास, आर्टफ़ैक्ट ट्रांसफ़ॉर्म की मदद से पहले ही डेक्स हो चुकी हैं, तो उन पर डेक्स करने का टास्क न चलाएं
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2024-11-15 (UTC) को अपडेट किया गया.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2024-11-15 (UTC) को अपडेट किया गया."],[],[]]