बिल्ड कॉन्फ़िगरेशन के लिए, 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, इस डिफ़ॉल्ट भाषा और आपके तय किए गए किसी भी वैकल्पिक स्थानीय भाषा को, अपने-आप जनरेट होने वाली LocaleConfig फ़ाइल में जोड़ता है. इसके लिए, वह res फ़ोल्डर में मौजूद values-* डायरेक्ट्री का इस्तेमाल करता है.
आपको LocaleConfig फ़ाइल को मैन्युअल तरीके से बनाने की सुविधा बंद करनी होगी. इसके बाद ही, हर ऐप्लिकेशन के लिए भाषा की सुविधा अपने-आप चालू होगी और ऐप्लिकेशन बनाया जा सकेगा.
हर ऐप्लिकेशन के लिए भाषा की अपने-आप पहचान होने की सुविधा डिफ़ॉल्ट रूप से बंद होती है. इस सुविधा को चालू करने के लिए, मॉड्यूल-लेवल की build.gradle.kts फ़ाइल के androidResources {} ब्लॉक में मौजूद generateLocaleConfig सेटिंग का इस्तेमाल करें. अगर Groovy का इस्तेमाल किया जा रहा है, तो build.gradle फ़ाइल का इस्तेमाल करें:
Android Lint में JVM 17 को टारगेट करने वाला बाइटकोड शामिल है
AGP 8.1.0-alpha04 और इसके बाद के वर्शन में, Android Lint में JVM 17 को टारगेट करने वाला बाइटकोड होता है. अगर आपको कस्टम लिंट चेक लिखने हैं, तो आपको JDK 17 या इसके बाद के वर्शन के साथ कंपाइल करना होगा. साथ ही, Kotlin कंपाइलर के विकल्पों में jvmTarget = '17' को सेट करना होगा.
नेटिव लाइब्रेरी को कंप्रेस करने की सेटिंग को डीएसएल में ले जाया गया
AGP 8.1.0-alpha10 या इसके बाद के वर्शन में, अगर मेनिफ़ेस्ट के बजाय डीएसएल का इस्तेमाल करके नेटिव लाइब्रेरी कंप्रेस करने की सुविधा कॉन्फ़िगर नहीं की जाती है, तो आपको एक चेतावनी मिलेगी. नीचे दिए गए निर्देशों में, डीएसएल का इस्तेमाल करने के लिए कॉन्फ़िगरेशन अपडेट करने का तरीका बताया गया है. इन अपडेट को लागू करने से जुड़ी मदद पाने के लिए, AGP अपग्रेड असिस्टेंट (टूल > AGP अपग्रेड असिस्टेंट) का इस्तेमाल करें.
बिना कंप्रेस की गई नेटिव लाइब्रेरी का इस्तेमाल करने के लिए, मेनिफ़ेस्ट से android::extractNativeLibs एट्रिब्यूट हटाएं. इसके बाद, मॉड्यूल-लेवल की build.gradle.kts फ़ाइल में यह कोड जोड़ें. अगर Groovy का इस्तेमाल किया जा रहा है, तो build.gradle फ़ाइल में यह कोड जोड़ें:
इस सुविधा को चालू करने पर, अगर कोई साइनिंग कॉन्फ़िगरेशन नहीं दिया जाता है, तो AGP, प्रोफ़ाइल बनाने या डीबग करने लायक बिल्ड को चलाने के लिए, डिफ़ॉल्ट डीबग साइनिंग कॉन्फ़िगरेशन का इस्तेमाल करता है. यह फ़्लैग डिफ़ॉल्ट रूप से बंद होता है, ताकि बिल्ड के लेखकों को खास प्रोफ़ाइलिंग साइनिंग कॉन्फ़िगरेशन के बारे में बताने के लिए बढ़ावा दिया जा सके.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
इस फ़्लैग की मदद से, लाइब्रेरी बनाने वाले लोग टेस्ट APK के लिए, कोर लाइब्रेरी के डिसुगरिंग की सुविधा चालू कर सकते हैं. इससे, बनाई गई AAR पर कोई असर नहीं पड़ता. उदाहरण के लिए, लिंटिंग के ज़रिए.
हम आने वाले समय में, Variant API में इस सुविधा को उपलब्ध कराने के लिए काम कर रहे हैं.
इस सेटिंग के चालू होने पर, Gradle Managed Devices की मदद से उपयोगकर्ता के तय किए गए कस्टम डिवाइस टाइप का इस्तेमाल किया जा सकता है. यह टाइप, प्लगिन के ज़रिए उपलब्ध कराया जा सकता है. अगर आपको Firebase Test Lab प्लगिन का इस्तेमाल करना है, तो इस फ़्लैग को चालू करना होगा.
android.lint.printStackTrace
AGP 8.0
false
अगर यह विकल्प चालू है, तो Android Lint क्रैश होने पर स्टैकट्रेस प्रिंट करता है. इस फ़्लैग में, LINT_PRINT_STACKTRACE एनवायरमेंट वैरिएबल जैसी ही सुविधाएं होती हैं.
इससे यह तय किया जाता है कि किसी भी समय, एक साथ ज़्यादा से ज़्यादा कितने Gradle मैनेज किए गए डिवाइस (एवीडी) चालू हो सकते हैं. अगर वैल्यू 0 या
नेगेटिव है, तो डिवाइसों की ज़्यादा से ज़्यादा संख्या तय नहीं की जाती.
[AGP 8.1.0] splits.abi.isEnable और testOptions.unitTests.isIncludeAndroidResources, दोनों के सही होने पर ./gradlew test में "Unable to find manifest output" गड़बड़ी होती है
[AGP 8.1.0] splits.abi.isEnable और testOptions.unitTests.isIncludeAndroidResources, दोनों के सही होने पर ./gradlew test में "Unable to find manifest output" गड़बड़ी होती है
Android 12 और इसके बाद के वर्शन पर, पुष्टि करने से जुड़ी गड़बड़ी की वजह से क्रैश होना
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2026-01-31 (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"]],["आखिरी बार 2026-01-31 (UTC) को अपडेट किया गया."],[],[]]