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 को IntelliJ IDEA से मिले सुधारों के साथ अपडेट किया गया है. यह 2018.2.2 रिलीज़ के ज़रिए किया गया है.

Android Gradle प्लग इन के अपडेट

Android Gradle प्लगिन में नया क्या है, इस बारे में जानने के लिए इसके रिलीज़ नोट देखें.

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

ज़्यादा जानकारी के लिए, Navigation Architecture Component की मदद से नेविगेशन लागू करना लेख पढ़ें.

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 से शुरू करने पर, Lint बहुत तेज़ी से काम करता है. बड़े प्रोजेक्ट में, Lint को चार गुना तेज़ी से चलाया जा सकता है.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

एसडीके कॉम्पोनेंट अपने-आप डाउनलोड होने की सुविधा

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

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

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

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

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

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

C++ को पसंद के मुताबिक बनाने के विकल्पों को हटाना

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

  • Exceptions Support (-fexceptions)
  • Runtime Type Information Support (-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 > Preferences > Experimental > Gradle पर क्लिक करें. इसके बाद, सिर्फ़ ऐक्टिव वैरिएंट सिंक करें चेकबॉक्स को चुनें.

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

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

जल्दी से सुझाव/राय देना या शिकायत करना

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

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

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