Android Studio 3.3 (जनवरी 2019)

Android Studio 3.3 एक बहुत बड़ी रिलीज़ है, जिसमें कई नई सुविधाएं और सुधार शामिल हैं.

3.3.2 (मार्च 2019)

इस छोटे अपडेट में, कई गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है. गड़बड़ियों को ठीक करने से जुड़ी अहम जानकारी देखने के लिए, रिलीज़ से जुड़े अपडेट वाले ब्लॉग पर जाएं.

3.3.1 (फ़रवरी 2019)

इस छोटे से अपडेट में कई गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस में सुधार किए गए हैं.

IntelliJ IDEA 2018.2.2

Android Studio के मुख्य IDE को अपडेट किया गया है. इसमें 2018.2.2 रिलीज़ के ज़रिए, IntelliJ IDEA के सुधारों को शामिल किया गया है.

Android Gradle प्लग इन से जुड़े अपडेट

Android Gradle प्लग-इन में जो नई सुविधाएं जोड़ी गई हैं उनके बारे में जानने के लिए, इसके रिलीज़ नोट देखें.

नेविगेशन एडिटर की मदद से, नेविगेशन आर्किटेक्चर कॉम्पोनेंट का इस्तेमाल करके, ऐप्लिकेशन में तेज़ी से नेविगेशन किया जा सकता है. साथ ही, उसमें नेविगेशन भी बनाया जा सकता है.

ज़्यादा जानकारी के लिए, नेविगेशन आर्किटेक्चर कॉम्पोनेंट की मदद से नेविगेशन लागू करना लेख पढ़ें.

Android Studio की इस्तेमाल नहीं की गई डायरेक्ट्री मिटाएं

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

Android Studio, यहां दी गई डायरेक्ट्री को मिटा देता है:

  • Linux: ~/.AndroidStudio[Preview]X.Y
  • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
  • Windows: %USER%.AndroidStudio[Preview]X.Y

Lint में किए गए सुधार

Gradle से लिंट करने पर, यह प्रोसेस काफ़ी तेज़ हो जाती है. बड़े प्रोजेक्ट में, लिंट की प्रोसेस चार गुना तेज़ हो सकती है.

नया प्रोजेक्ट बनाने वाला विज़र्ड

नया प्रोजेक्ट बनाएं विज़र्ड का नया लुक है. इसमें ऐसे अपडेट शामिल हैं जिनसे Android Studio में नए प्रोजेक्ट बनाने की प्रोसेस को बेहतर बनाने में मदद मिलती है.

ज़्यादा जानकारी के लिए, प्रोजेक्ट बनाना लेख पढ़ें.

प्रोफ़ाइलर से जुड़े अपडेट

Android Studio 3.3 में, अलग-अलग प्रोफ़ाइलर के लिए अपडेट शामिल हैं.

बेहतर परफ़ॉर्मेंस

उपयोगकर्ताओं के सुझावों के आधार पर, प्रोफ़ाइलर का इस्तेमाल करते समय रेंडरिंग की परफ़ॉर्मेंस को बेहतर बनाया गया है. कृपया सुझाव/राय दें या शिकायत करें. ऐसा तब भी करें, जब आपको परफ़ॉर्मेंस से जुड़ी समस्याएं दिखती रहें.

प्रोफ़ाइलर के मेमोरी ऐलोकेशन को ट्रैक करने के विकल्प

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

ऐलोकेशन ट्रैकिंग ड्रॉपडाउन का इस्तेमाल करके, इन मोड में से चुना जा सकता है:

  • पूरी जानकारी: यह ऑब्जेक्ट के लिए मेमोरी के सभी ऐलोकेशन कैप्चर करता है. ध्यान दें कि अगर आपके पास कोई ऐसा ऐप्लिकेशन है जो बहुत सारे ऑब्जेक्ट को बांटता है, तो आपको प्रोफ़ाइल बनाते समय परफ़ॉर्मेंस से जुड़ी काफ़ी समस्याएं दिख सकती हैं.

  • सैंपल किया गया: यह ऑब्जेक्ट मेमोरी के ऐलोकेशन का समय-समय पर सैंपल कैप्चर करता है. यह डिफ़ॉल्ट तरीका है और प्रोफ़ाइल बनाने के दौरान, ऐप्लिकेशन की परफ़ॉर्मेंस पर इसका कम असर पड़ता है. आपको ऐसे ऐप्लिकेशन की परफ़ॉर्मेंस से जुड़ी कुछ समस्याएं आ सकती हैं जो कम समय में बहुत सारे ऑब्जेक्ट को ऐलोकेट करते हैं.

  • बंद करने पर: मेमोरी असाइन करने की सुविधा बंद हो जाती है. अगर इसे पहले से नहीं चुना गया है, तो सीपीयू रिकॉर्डिंग करते समय यह मोड अपने-आप चालू हो जाता है. रिकॉर्डिंग पूरी होने पर, यह मोड पिछली सेटिंग पर वापस आ जाता है. सीपीयू रिकॉर्डिंग कॉन्फ़िगरेशन डायलॉग में जाकर, इस व्यवहार को बदला जा सकता है.

    ट्रैकिंग का असर, Java ऑब्जेक्ट और JNI रेफ़रंस, दोनों पर पड़ता है.

फ़्रेम रेंडरिंग डेटा की जांच करें

सीपीयू प्रोफ़ाइलर में, अब यह जांच की जा सकती है कि आपके Java ऐप्लिकेशन को मुख्य यूज़र इंटरफ़ेस (यूआई) थ्रेड और RenderThread पर रेंडर करने में कितना समय लगता है. यह डेटा, उन रुकावटों की जांच करने में मददगार हो सकता है जिनकी वजह से, यूज़र इंटरफ़ेस (यूआई) जैंक होता है और फ़्रेम रेट कम होता है. उदाहरण के लिए, फ़्रेमरेट को स्मूद बनाए रखने के लिए ज़रूरी 16 मि॰से॰ से ज़्यादा समय लेने वाले हर फ़्रेम को लाल रंग में दिखाया जाता है.

फ़्रेम रेंडरिंग डेटा देखने के लिए, ट्रेस रिकॉर्ड करें. इसके लिए, ऐसे कॉन्फ़िगरेशन का इस्तेमाल करें जिससे सिस्टम कॉल को ट्रैक किया जा सके. ट्रेस रिकॉर्ड करने के बाद, फ़्रेम सेक्शन में जाकर, रिकॉर्डिंग की टाइमलाइन पर हर फ़्रेम के बारे में जानकारी देखें. यह सेक्शन, नीचे दिखाया गया है.

फ़्रेम रेट से जुड़ी समस्याओं की जांच करने और उन्हें ठीक करने के बारे में ज़्यादा जानने के लिए, धीमी रेंडरिंग लेख पढ़ें.

इवेंट की टाइमलाइन में फ़्रैगमेंट

इवेंट टाइमलाइन में अब यह दिखता है कि फ़्रैगमेंट कब अटैच और डिटैच किए गए. इसके अलावा, जब किसी फ़्रैगमेंट पर कर्सर घुमाया जाता है, तो टूलटिप आपको फ़्रैगमेंट की स्थिति दिखाता है.

नेटवर्क प्रोफ़ाइलर में, कनेक्शन पेलोड के लिए फ़ॉर्मैट किया गया टेक्स्ट देखना

पहले, नेटवर्क प्रोफ़ाइलर सिर्फ़ कनेक्शन के पेलोड से रॉ टेक्स्ट दिखाता था. Android Studio 3.3 अब कुछ खास तरह के टेक्स्ट को डिफ़ॉल्ट रूप से फ़ॉर्मैट करता है. इसमें JSON, एक्सएमएल, और एचटीएमएल शामिल हैं. जवाब और अनुरोध टैब में, फ़ॉर्मैट किया गया टेक्स्ट देखने के लिए, पार्स किया गया टेक्स्ट देखें लिंक पर क्लिक करें. साथ ही, रॉ टेक्स्ट देखने के लिए, सोर्स देखें लिंक पर क्लिक करें.

ज़्यादा जानकारी के लिए, नेटवर्क प्रोफ़ाइलर की मदद से नेटवर्क ट्रैफ़िक की जांच करना देखें.

SDK टूल के कॉम्पोनेंट अपने-आप डाउनलोड होना

जब आपके प्रोजेक्ट को SDK टूल के प्लैटफ़ॉर्म, NDK या CMake से SDK टूल का कोई कॉम्पोनेंट चाहिए, तो Gradle अब ज़रूरी पैकेज को अपने-आप डाउनलोड करने की कोशिश करता है. ऐसा तब तक होता है, जब तक आपने पहले SDK Manager का इस्तेमाल करके, लाइसेंस से जुड़े किसी भी समझौते को स्वीकार नहीं कर लिया है.

ज़्यादा जानकारी के लिए, Gradle की मदद से, मौजूद नहीं होने वाले पैकेज अपने-आप डाउनलोड होने की सुविधा देखें.

Clang-Tidy के लिए सहायता

Android Studio में अब स्टैटिक कोड का विश्लेषण करने की सुविधा शामिल है. इसके लिए, Clang-Tidy का इस्तेमाल किया जाता है. यह सुविधा, नेटिव कोड वाले प्रोजेक्ट के लिए उपलब्ध है. Clang-Tidy के साथ काम करने की सुविधा चालू करने के लिए, अपने NDK टूल को r18 या इसके बाद के वर्शन पर अपडेट करें.

इसके बाद, Settings या प्राथमिकताएं डायलॉग में जाकर जांच को चालू या फिर से चालू किया जा सकता है. इसके बाद, एडिटर > इंस्पेक्शन > C/C++ > General > Clang-Tidy पर जाएं. सेटिंग या प्राथमिकताएं डायलॉग में इस जांच को चुनने पर, सबसे दाएं पैनल के विकल्प सेक्शन में, Clang-Tidy की जांच की सूची भी देखी जा सकती है. यह सूची, चालू और बंद की गई जांचों की होती है. अतिरिक्त जांच चालू करने के लिए, उन्हें सूची में जोड़ें और लागू करें पर क्लिक करें.

Clang-Tidy को ज़्यादा विकल्पों की मदद से कॉन्फ़िगर करने के लिए, Clang-Tidy Checks के विकल्पों को कॉन्फ़िगर करें पर क्लिक करें. इसके बाद, खुलने वाले डायलॉग बॉक्स में उन्हें जोड़ें.

C++ कस्टमाइज़ेशन के विकल्पों को हटाना

C++ सहायता को पसंद के मुताबिक बनाएं डायलॉग से ये विकल्प हटा दिए गए हैं:

  • अपवादों के लिए सहायता (-fexceptions)
  • रनटाइम टाइप की जानकारी देने वाली सुविधा (-ftti)

Android Studio की मदद से बनाए गए सभी प्रोजेक्ट के लिए, ये सुविधाएं चालू होती हैं.

CMake वर्शन 3.10.2

SDK Manager में अब CMake का 3.10.2 वर्शन शामिल है. ध्यान दें कि Gradle अब भी डिफ़ॉल्ट रूप से 3.6.0 वर्शन का इस्तेमाल करता है.

Gradle के इस्तेमाल के लिए CMake का कोई वर्शन तय करने के लिए, अपने मॉड्यूल की build.gradle फ़ाइल में यह जानकारी जोड़ें:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

build.gradle में CMake को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, Gradle को मैन्युअल तरीके से कॉन्फ़िगर करना लेख पढ़ें.

CMake के कम से कम वर्शन तय करने के लिए, नया “+” सिंटैक्स

अपने मुख्य मॉड्यूल की build.gradle फ़ाइल में CMake का वर्शन बताते समय, अब CMake के cmake_minimum_required() कमांड के व्यवहार से मैच करने के लिए, “+” जोड़ा जा सकता है.

चेतावनी: अन्य बिल्ड डिपेंडेंसी के साथ "+" सिंटैक्स का इस्तेमाल करने का सुझाव नहीं दिया जाता. ऐसा इसलिए, क्योंकि डाइनैमिक डिपेंडेंसी की वजह से वर्शन में अचानक अपडेट हो सकते हैं और वर्शन के बीच के अंतर को हल करने में समस्या आ सकती है.

Android ऐप्लिकेशन बंडल अब इंस्टैंट ऐप्लिकेशन के साथ काम करते हैं

Android Studio की मदद से, अब Android ऐप्लिकेशन बंडल बनाए जा सकते हैं. साथ ही, Google Play Instant के लिए पूरी तरह से सहायता भी मिलती है. दूसरे शब्दों में कहें, तो अब एक ही Android Studio प्रोजेक्ट से, इंस्टॉल किए गए ऐप्लिकेशन और झटपट इस्तेमाल की सुविधा देने वाले, दोनों तरह के ऐप्लिकेशन बनाए और डिप्लॉय किए जा सकते हैं. साथ ही, उन्हें एक ही Android ऐप्लिकेशन बंडल में शामिल किया जा सकता है.

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

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

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

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

एक वैरिएंट वाला प्रोजेक्ट सिंक करना

Android Studio को यह समझने में मदद मिलती है कि आपका प्रोजेक्ट कैसे बना है, इसके लिए अपने प्रोजेक्ट को बाइल्ड कॉन्फ़िगरेशन के साथ सिंक करना एक अहम चरण है. हालांकि, बड़े प्रोजेक्ट के लिए, इस प्रोसेस में काफ़ी समय लग सकता है. अगर आपके प्रोजेक्ट में एक से ज़्यादा बिल्ड वैरिएंट का इस्तेमाल किया जाता है, तो अब प्रोजेक्ट सिंक को ऑप्टिमाइज़ किया जा सकता है. इसके लिए, सिंक को सिर्फ़ उस वैरिएंट तक सीमित करें जिसे आपने फ़िलहाल चुना है.

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

इस ऑप्टिमाइज़ेशन को मैन्युअल तरीके से चालू करने के लिए, फ़ाइल > सेटिंग > एक्सपेरिमेंटल > Gradle पर क्लिक करें (Mac पर Android Studio > प्राथमिकताएं > एक्सपेरिमेंटल > Gradle). इसके बाद, सिर्फ़ चालू वैरिएंट सिंक करें चेकबॉक्स को चुनें.

ध्यान दें: फ़िलहाल, यह ऑप्टिमाइज़ेशन सिर्फ़ उन प्रोजेक्ट के साथ काम करता है जिनमें सिर्फ़ Java प्रोग्रामिंग लैंग्वेज का इस्तेमाल किया गया है. उदाहरण के लिए, अगर IDE को आपके प्रोजेक्ट में Kotlin या C++ कोड का पता चलता है, तो वह इस ऑप्टिमाइज़ेशन को अपने-आप चालू नहीं करता और आपको इसे मैन्युअल रूप से चालू नहीं करना चाहिए.

ज़्यादा जानकारी के लिए, सिंगल-वैरिएंट प्रोजेक्ट सिंक करने की सुविधा चालू करना लेख पढ़ें.

तुरंत सुझाव, शिकायत या राय देना

अगर आपने Android Studio को बेहतर बनाने के लिए, इस्तेमाल के आंकड़े शेयर करने का विकल्प चुना है, तो आपको IDE विंडो के सबसे नीचे मौजूद स्टेटस बार में ये दो नए आइकॉन दिखेंगे:

बस उस आइकॉन पर क्लिक करें जो आईडीई के साथ आपके मौजूदा अनुभव को सबसे सही तरीके से दिखाता हो. जब ऐसा किया जाता है, तो आईडीई, इस्तेमाल के आंकड़े भेजता है. इनकी मदद से, Android Studio टीम आपकी भावनाओं को बेहतर तरीके से समझ पाती है. कुछ मामलों में, जैसे कि आईडीई के साथ खराब अनुभव के बारे में बताने पर, आपके पास ज़्यादा सुझाव/राय देने का मौका होगा.

अगर आपने अब तक इस्तेमाल के आंकड़े शेयर नहीं किए हैं, तो Mac पर सेटिंग डायलॉग प्राथमिकताएं खोलें. इसके बाद, दिखने का तरीका और व्यवहार > सिस्टम सेटिंग > डेटा शेयर करना पर जाएं और Google को इस्तेमाल के आंकड़े भेजें पर क्लिक करके, इस्तेमाल के आंकड़े शेयर करें.