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 प्लगिन में नई सुविधाओं के बारे में जानने के लिए, इसकी रिलीज़ से जुड़ी जानकारी देखें.

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

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

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) या उसके बाद के वर्शन पर चलने वाले डिवाइसों पर टेस्ट करते समय, जगह की जानकारी ट्रैक करना ड्रॉपडाउन का इस्तेमाल करके, इस सेटिंग को बदला जा सकता है.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Android Studio से बनाए गए सभी प्रोजेक्ट के लिए, इनसे जुड़ी सेटिंग चालू हैं.

CMake वर्शन 3.10.2

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 ऐप्लिकेशन बंडल अब Instant Apps के साथ काम करते हैं

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

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

    <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 या उसके बाद के वर्शन का इस्तेमाल करना ज़रूरी है. इन ज़रूरी शर्तों को पूरा करने पर, आईडीई आपसे अपने प्रोजेक्ट को सिंक करते समय, इस ऑप्टिमाइज़ेशन को चालू करने के लिए कहेगा. नए प्रोजेक्ट पर, ऑप्टिमाइज़ेशन डिफ़ॉल्ट रूप से चालू होता है.

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

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

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

जल्दी से फ़ीडबैक देना

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

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

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