Android Studio 3.2 (सितंबर 2018)

Android Studio 3.2 एक मुख्य रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.

3.2.1 (अक्टूबर 2018)

Android Studio 3.2 के इस अपडेट में ये बदलाव और सुधार शामिल हैं:

  • बंडल किया गया Kotlin वर्शन अब 1.2.71 है.
  • अब डिफ़ॉल्ट बिल्ड टूल का वर्शन 28.0.3 है.
  • नेविगेशन लाइब्रेरी में, आर्ग्युमेंट टाइप का नाम बदलकर type से argType कर दिया गया है.
  • ये गड़बड़ियां ठीक कर दी गई हैं:
    • डेटा बाइंडिंग लाइब्रेरी का इस्तेमाल करते समय, अंडरस्कोर वाले वैरिएबल के नामों की वजह से, कंपाइलेशन से जुड़ी गड़बड़ियां हो रही थीं.
    • CMake की वजह से, IntelliSense और CLion की अन्य सुविधाएं काम नहीं कर रही थीं.
    • SliceProvider जोड़ने से, उन प्रोजेक्ट में कंपाइलेशन से जुड़ी गड़बड़ियां हो रही थीं जो androidx.* लाइब्रेरी का इस्तेमाल नहीं करते थे.
    • कुछ Kotlin यूनिट टेस्ट नहीं चल रहे थे.
    • डेटा बाइंडिंग से जुड़ी समस्या की वजह से, PsiInvalidElementAccessException हो रहा था.
    • <merge> एलिमेंट की वजह से कभी-कभी लेआउट एडिटर क्रैश हो रहा था.

3.2.0 में ऐसी समस्याएं जिनके बारे में पहले से जानकारी है

ध्यान दें: Android Studio के 3.2.1 वर्शन में ये समस्याएं हल कर दी गई हैं

  • हमारा सुझाव है कि आप Kotlin के 1.2.70 वर्शन का इस्तेमाल न करें.

    Kotlin के 1.2.61 वर्शन में, एक ऐसी गड़बड़ी को ठीक किया गया है जिसकी वजह से Android Studio फ़्रीज़ हो सकता है. हालांकि, Kotlin 1.2.70 में यह सुधार शामिल नहीं है.

    हालांकि, Kotlin के वर्शन 1.2.71 और इसके बाद के वर्शन में, इस समस्या को ठीक करने की ज़रूरत नहीं होती है.

  • आम तौर पर, आपको बिल्ड टूल के वर्शन की जानकारी देने की ज़रूरत नहीं होती. हालांकि, renderscriptSupportModeEnabled को true पर सेट करके, Android Gradle प्लग इन 3.2.0 का इस्तेमाल करते समय, आपको हर मॉड्यूल की build.gradle फ़ाइल में ये शामिल करने होंगे:

    android.buildToolsVersion "28.0.3"

Assistant में नया क्या है

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

Assistant, Android Studio को नए सिरे से इंस्टॉल करने या अपडेट करने के बाद, तब खुलती है, जब उसे पता चलता है कि आपको कोई नई जानकारी दिखानी है. सहायता > Android Studio में नया क्या है को चुनकर भी Assistant को खोला जा सकता है.

Android Jetpack

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

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

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

ज़्यादा जानने के लिए, नेविगेशन एडिटर का दस्तावेज़ पढ़ें.

AndroidX पर माइग्रेट करना

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

Android Studio 3.2 में इस प्रोसेस को पूरा करने में, डेटा को दूसरी जगह भेजने से जुड़ी नई सुविधा दी गई है.

किसी मौजूदा प्रोजेक्ट को AndroidX पर माइग्रेट करने के लिए, Refactor > AndroidX पर माइग्रेट करें को चुनें. अगर आपके पास ऐसी Maven डिपेंडेंसी हैं जिन्हें AndroidX नेमस्पेस में माइग्रेट नहीं किया गया है, तो Android Studio का बिल्ड सिस्टम उन प्रोजेक्ट डिपेंडेंसी को भी अपने-आप बदल देता है.

Android Gradle प्लग इन, यहां दिए गए ग्लोबल फ़्लैग उपलब्ध कराता है. इन्हें अपनी gradle.properties फ़ाइल में सेट किया जा सकता है:

  • android.useAndroidX: true पर सेट होने पर, यह फ़्लैग यह दिखाता है कि आपको अब से AndroidX का इस्तेमाल करना है. अगर फ़्लैग मौजूद नहीं है, तो Android Studio इस तरह से काम करता है जैसे फ़्लैग को false पर सेट किया गया हो.
  • android.enableJetifier: true पर सेट होने पर, यह फ़्लैग यह दिखाता है कि आपको Android Gradle प्लग इन से टूल की सहायता चाहिए, ताकि तीसरे पक्ष की मौजूदा लाइब्रेरी को अपने-आप ऐसे बदला जा सके जैसे कि उन्हें AndroidX के लिए लिखा गया हो. अगर फ़्लैग मौजूद नहीं है, तो Android Studio इस तरह काम करता है जैसे फ़्लैग को false पर सेट किया गया हो.

AndroidX पर माइग्रेट करें निर्देश का इस्तेमाल करने पर, दोनों फ़्लैग true पर सेट हो जाते हैं.

अगर आपको AndroidX लाइब्रेरी का तुरंत इस्तेमाल शुरू करना है और आपको तीसरे पक्ष की मौजूदा लाइब्रेरी को बदलने की ज़रूरत नहीं है, तो android.useAndroidX फ़्लैग को true और android.enableJetifier फ़्लैग को false पर सेट किया जा सकता है.

Android ऐप्लिकेशन बंडल

Android ऐप्लिकेशन बंडल, अपलोड करने का एक नया फ़ॉर्मैट है. इसमें आपके ऐप्लिकेशन के सभी संकलित कोड और रिसॉर्स शामिल होते हैं. हालांकि, APK जनरेट करने और उसे Google Play Store पर साइन करने की प्रोसेस को बाद में किया जाता है.

इसके बाद, Google Play का ऐप्लिकेशन उपलब्ध कराने वाला नया मॉडल, आपके ऐप्लिकेशन बंडल का इस्तेमाल करके, हर उपयोगकर्ता के डिवाइस कॉन्फ़िगरेशन के लिए ऑप्टिमाइज़ किए गए APKs जनरेट और उपलब्ध कराता है. इससे, हर उपयोगकर्ता सिर्फ़ वही कोड और संसाधन डाउनलोड करता है जो आपके ऐप्लिकेशन को चलाने के लिए ज़रूरी होते हैं. अब आपको एक से ज़्यादा APKs बनाने, उन पर हस्ताक्षर करने, और उन्हें मैनेज करने की ज़रूरत नहीं है. साथ ही, उपयोगकर्ताओं को छोटे और ज़्यादा ऑप्टिमाइज़ किए गए APKs डाउनलोड करने में मदद मिलती है.

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

बंडल बनाने के लिए, बिल्ड > बंडल / APK बनाना > बंडल बनाना को चुनें.

किसी 'Android ऐप्लिकेशन बंडल' को बनाने और उसका विश्लेषण करने के निर्देशों के साथ-साथ ज़्यादा जानकारी के लिए, Android ऐप्लिकेशन बंडल देखें.

लेआउट एडिटर में सैंपल डेटा

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

सैंपल डेटा का इस्तेमाल करने के लिए, किसी नए लेआउट में RecyclerView जोड़ें. इसके बाद, व्यू के नीचे मौजूद डिज़ाइन के समय एट्रिब्यूट बटन पर क्लिक करें और सैंपल डेटा टेंप्लेट के कैरसेल से कोई विकल्प चुनें.

स्लाइस

स्लाइस, Android पर मौजूद अन्य यूज़र इंटरफ़ेस प्लैटफ़ॉर्म में, आपके ऐप्लिकेशन के फ़ंक्शन के कुछ हिस्सों को एम्बेड करने का एक नया तरीका उपलब्ध कराते हैं. उदाहरण के लिए, स्लाइस की मदद से, Google Search के सुझावों में ऐप्लिकेशन की मुख्य सुविधाओं और कॉन्टेंट को दिखाया जा सकता है.

Android Studio 3.2 में पहले से एक टेंप्लेट मौजूद है, ताकि आप अपने ऐप्लिकेशन को स्लाइस प्रोवाइडर के नए एपीआई के साथ-साथ, नई लिंट जांच का इस्तेमाल कर सकें. इससे यह पक्का होता है कि आपने स्लाइस बनाते समय सबसे सही तरीके अपनाए हैं.

शुरू करने के लिए, प्रोजेक्ट फ़ोल्डर पर राइट क्लिक करें और नया > अन्य > स्लाइस प्रोवाइडर चुनें.

स्लाइस के ज़रिए किए गए इंटरैक्शन की जांच करने के तरीके के साथ-साथ ज़्यादा जानने के लिए, स्लाइस के इस्तेमाल के बारे में शुरुआती गाइड पढ़ें.

Kotlin 1.2.61

Android Studio 3.2 में Kotlin 1.2.61 बंडल किया गया है और नया Android SDK, Kotlin के साथ बेहतर तरीके से काम करता है. ज़्यादा जानकारी के लिए, Android डेवलपर ब्लॉग देखें.

IntelliJ IDEA 2018.1.6

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

Android प्रोफ़ाइलर

Android Studio 3.2 में, Android प्रोफ़ाइलर की ये नई सुविधाएं आज़माएं.

सेशन

अब प्रोफ़ाइलर के डेटा को सेशन के तौर पर सेव किया जा सकता है, ताकि आप बाद में फिर से समीक्षा कर सकें और उसकी जांच कर सकें. प्रोफ़ाइलर आपके सेशन का डेटा तब तक सेव रखता है, जब तक कि आपने IDE को रीस्टार्ट नहीं किया.

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

सिस्टम ट्रेस करने वाला टूल

सीपीयू प्रोफ़ाइलर में, अपने डिवाइस के सिस्टम सीपीयू और थ्रेड गतिविधि की जांच करने के लिए, नया सिस्टम ट्रेस कॉन्फ़िगरेशन चुनें. यह ट्रेस कॉन्फ़िगरेशन, systrace पर आधारित है और यह सिस्टम-लेवल की समस्याओं की जांच करने के लिए फ़ायदेमंद है. जैसे, यूज़र इंटरफ़ेस (यूआई) में रुकावट.

इस ट्रेस कॉन्फ़िगरेशन का इस्तेमाल करते समय, प्रोफ़ाइलर टाइमलाइन में ज़रूरी कोड रूटीन को विज़ुअल तौर पर मार्क किया जा सकता है. इसके लिए, अपने C/C++ कोड को नेटिव ट्रैकिंग एपीआई या अपने Java कोड को Trace क्लास के साथ इंस्ट्रूमेंट करें.

मेमोरी प्रोफ़ाइलर में JNI रेफ़रंस की जांच करना

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

ऐप्लिकेशन के चलने के दौरान, टाइमलाइन का वह हिस्सा चुनें जिसकी आपको जांच करनी है. इसके बाद, क्लास की सूची के ऊपर मौजूद ड्रॉप-डाउन मेन्यू से JNI ढेर चुनें, जैसा कि यहां दिखाया गया है. इसके बाद, हीप में मौजूद ऑब्जेक्ट की जांच की जा सकती है, जैसा कि आम तौर पर किया जाता है. साथ ही, ऐलोकेशन कॉल स्टैक टैब में मौजूद ऑब्जेक्ट पर दो बार क्लिक करके देखा जा सकता है कि जेएनआई रेफ़रंस, आपके कोड में कहां असाइन किए गए हैं और कहां रिलीज़ किए गए हैं.

मेमोरी हीप डंप फ़ाइलों को इंपोर्ट, एक्सपोर्ट, और उनकी जांच करना

अब आपके पास मेमोरी प्रोफ़ाइलर की मदद से बनाई गई .hprof मेमोरी हीप डंप फ़ाइलों को इंपोर्ट करने, एक्सपोर्ट करने, और उनकी जांच करने का विकल्प है.

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

हीप डंप के डेटा को बाद में समीक्षा करने के मकसद से सेव करने के लिए, सेशन पैनल में हीप डंप एंट्री की दाईं ओर मौजूद हीप डंप एक्सपोर्ट करें बटन का इस्तेमाल करें. इसके बाद, दिखने वाले इस रूप में एक्सपोर्ट करें डायलॉग में, फ़ाइल को .hprof फ़ाइल नाम एक्सटेंशन के साथ सेव करें.

ऐप्लिकेशन के शुरू होने के दौरान सीपीयू गतिविधि रिकॉर्ड करना

अब ऐप्लिकेशन के स्टार्टअप के दौरान सीपीयू की गतिविधि को रिकॉर्ड किया जा सकता है. इसके लिए, यह तरीका अपनाएं:

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

सीपीयू ट्रेस एक्सपोर्ट करना

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

सीपीयू से जुड़ी गतिविधि रिकॉर्ड करने के बाद, ट्रेस एक्सपोर्ट करने के लिए यह तरीका अपनाएं:

  1. उस रिकॉर्डिंग पर राइट क्लिक करें जिसे सीपीयू टाइमलाइन से एक्सपोर्ट करना है.
  2. ड्रॉपडाउन मेन्यू से, ट्रैक एक्सपोर्ट करें चुनें.
  3. उस जगह पर जाएं जहां आपको फ़ाइल सेव करनी है और सेव करें पर क्लिक करें.

सीपीयू ट्रेस फ़ाइलें इंपोर्ट करना और उनकी जांच करना

अब Debug API या सीपीयू प्रोफ़ाइलर की मदद से बनाई गई .trace फ़ाइलों को इंपोर्ट और जांचा जा सकता है. (फ़िलहाल, सिस्टम ट्रैक की रिकॉर्डिंग इंपोर्ट नहीं की जा सकतीं.)

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

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

डीबग एपीआई का इस्तेमाल करके, सीपीयू गतिविधि रिकॉर्ड करना

अब Debug API की मदद से, अपने ऐप्लिकेशन को इंस्ट्रूमेंट करके, सीपीयू प्रोफ़ाइलर में सीपीयू गतिविधि को रिकॉर्ड करना शुरू और बंद किया जा सकता है. अपने ऐप्लिकेशन को किसी डिवाइस पर डिप्लॉय करने के बाद, प्रोफ़ाइलर ऐप्लिकेशन startMethodTracing(String tracePath) को कॉल करने पर, सीपीयू से जुड़ी गतिविधि को अपने-आप रिकॉर्ड करना शुरू कर देता है. साथ ही, जब आपका ऐप्लिकेशन stopMethodTracing() को कॉल करता है, तब प्रोफ़ाइलर रिकॉर्ड करना बंद कर देता है. इस एपीआई का इस्तेमाल करके ट्रिगर की गई सीपीयू गतिविधि को रिकॉर्ड करते समय, सीपीयू प्रोफ़ाइलर, चुने गए सीपीयू रिकॉर्डिंग कॉन्फ़िगरेशन के तौर पर डीबग एपीआई दिखाता है.

एनर्जी प्रोफ़ाइलर

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

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

एनर्जी प्रोफ़ाइलर व्यू को बड़ा करने के लिए, एनर्जी लाइन पर क्लिक करें. सीपीयू, नेटवर्क, और जगह की जानकारी (जीपीएस) संसाधनों के साथ-साथ काम के सिस्टम इवेंट के हिसाब से, एनर्जी के इस्तेमाल का ब्रेकडाउन देखने के लिए, माउस का पॉइंटर टाइमलाइन में किसी बार पर रखें.

ऊर्जा के इस्तेमाल पर असर डालने वाले सिस्टम इवेंट, ऊर्जा टाइमलाइन के नीचे मौजूद सिस्टम टाइमलाइन में दिखते हैं. एनर्जी टाइमलाइन में कोई समयसीमा चुनने पर, तय समयसीमा के दौरान हुए सिस्टम इवेंट की जानकारी, इवेंट पैनल में दिखती है.

कॉल स्टैक और किसी सिस्टम इवेंट, जैसे कि वेकलॉक की अन्य जानकारी देखने के लिए, उसे इवेंट पैनल में चुनें. किसी सिस्टम इवेंट के लिए ज़िम्मेदार कोड पर जाने के लिए, कॉल स्टैक में मौजूद एंट्री पर दो बार क्लिक करें.

लिंट की जांच करना

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

नई लिंट जांच की सुविधा से, कोड से जुड़ी सामान्य समस्याओं का पता लगाने और उन्हें पहचानने में मदद मिलती है. इन समस्याओं में, इस्तेमाल से जुड़ी संभावित समस्याओं की चेतावनियां से लेकर, सुरक्षा से जुड़ी संभावित समस्याओं की गंभीर गड़बड़ियां शामिल हैं.

Java/Kotlin के साथ काम करने की सुविधा की जांच करने के लिए Lint

यह पक्का करने के लिए कि आपका Java कोड, Kotlin कोड के साथ अच्छी तरह से काम करे, नई lint जांच में Kotlin इंटरऑपरेबिलिटी गाइड में बताए गए सबसे सही तरीकों को लागू किया जाता है. इन जांचों के उदाहरणों में, Nullability के एनोटेशन की मौजूदगी, Kotlin के हार्ड कीवर्ड का इस्तेमाल, और आखिर में लेम्ब्डा पैरामीटर डालना शामिल है.

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

कमांड-लाइन बिल्ड के लिए इन जांचों को चालू करने के लिए, अपनी build.gradle फ़ाइल में यह जोड़ें:

        android {
            lintOptions {
                check 'Interoperability'
            }
        }
        
      

लिंट स्लाइस की जांच कर रहा है

स्लाइस के लिए नई लिंट जांच से यह पक्का करने में मदद मिलती है कि स्लाइस सही तरीके से बनाए जा रहे हैं. उदाहरण के लिए, अगर आपने किसी स्लाइस को मुख्य कार्रवाई असाइन नहीं की है, तो लिंट की जांच आपको चेतावनी देती है.

नया Gradle टारगेट

नए lintFix Gradle टास्क का इस्तेमाल करके, लिंट की जांच से मिले सभी सुरक्षित सुधारों को सीधे सोर्स कोड में लागू करें. SyntheticAccessor, ऐसे लिंट की जांच का उदाहरण है जो सुरक्षित तरीके से समस्या को ठीक करने का सुझाव देता है.

मेटाडेटा के अपडेट

सर्विस कास्ट की जांच जैसे कई मेटाडेटा को अपडेट किया गया है, ताकि Android 9 (एपीआई लेवल 28) के साथ काम करने के लिए, लिंट की जांच की जा सके.

नए वैरिएंट पर लिंट चलाने पर मिलने वाली चेतावनी

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

मौजूदा लिंट जांच में सुधार

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

समस्या के आईडी ज़्यादा आसानी से खोजे जा सकते हैं

समस्या के आईडी अब ज़्यादा जगहों पर दिखाए जाते हैं. इनमें जांच के नतीजे विंडो भी शामिल है. इससे, आपको build.gradle में lintOptions की मदद से, खास जांच को चालू या बंद करने के लिए ज़रूरी जानकारी आसानी से मिल जाती है.

ज़्यादा जानकारी के लिए, Gradle की मदद से, lint के विकल्प कॉन्फ़िगर करना लेख पढ़ें.

डेटा बाइंडिंग V2

डेटा बाइंडिंग का वर्शन 2, अब डिफ़ॉल्ट रूप से चालू है. यह वर्शन 1 के साथ काम करता है. इसका मतलब है कि अगर आपके पास ऐसी लाइब्रेरी डिपेंडेंसी हैं जिन्हें आपने V1 के साथ कॉम्पाइल किया है, तो उनका इस्तेमाल डेटा बाइंडिंग V2 का इस्तेमाल करने वाले प्रोजेक्ट के साथ किया जा सकता है. हालांकि, ध्यान दें कि V1 का इस्तेमाल करने वाले प्रोजेक्ट, V2 के साथ कॉम्पाइल की गई डिपेंडेंसी का इस्तेमाल नहीं कर सकते.

D8 डिशुगरिंग

Android Studio के 3.1 में, हमने प्रयोग के तौर पर उपलब्ध सुविधा के तौर पर D8 टूल में अलग-अलग चरणों को पूरा करने की प्रोसेस को इंटिग्रेट किया. इससे, ऐप्लिकेशन बनाने में लगने वाला कुल समय कम हुआ. Android Studio 3.2 में, D8 के साथ डिगरिंग करने की सुविधा डिफ़ॉल्ट रूप से चालू रहती है.

कोड छोटा करने वाला नया टूल

R8, कोड को छोटा करने और उसे अस्पष्ट बनाने के लिए एक नया टूल है. यह ProGuard की जगह लेता है. अपने प्रोजेक्ट की gradle.properties फ़ाइल में ये शामिल करके, R8 के झलक वाले वर्शन का इस्तेमाल शुरू किया जा सकता है:

      android.enableR8 = true
    

मल्टी-एपीके के लिए डिफ़ॉल्ट एबीआई में बदलाव किया गया

जब एक से ज़्यादा APK बनाए जाते हैं, तो हर APK किसी अलग एबीआई को टारगेट करता है. ऐसे में, प्लग इन डिफ़ॉल्ट रूप से इन एबीआई के लिए APK जनरेट नहीं करता: mips, mips64, और armeabi.

अगर आपको इन एबीआई को टारगेट करने वाले APK बनाना है, तो आपको NDK r16b या उससे पहले के वर्शन का इस्तेमाल करना होगा. साथ ही, अपनी build.gradle फ़ाइल में एबीआई की जानकारी देनी होगी, जैसा कि यहां दिखाया गया है:

    splits {
        abi {
            include 'armeabi', 'mips', 'mips64'
            ...
        }
    }
    
    splits {
        abi {
            include("armeabi", "mips", "mips64")
            ...
        }
    }
    

ध्यान दें: इस बदलाव को Android Studio 3.1 RC1 और इसके बाद के वर्शन में भी शामिल किया गया है.

CMake की बिल्ड फ़ाइलों के लिए बेहतर एडिटर सुविधाएं

अगर अपने प्रोजेक्ट में C और C++ कोड जोड़ने के लिए CMake का इस्तेमाल किया जाता है, तो Android Studio में अब बेहतर एडिटर की सुविधाएं शामिल हैं. इनकी मदद से, CMake की बिल्ड स्क्रिप्ट में बदलाव किया जा सकता है. जैसे:

  • सिंटैक्स हाइलाइट करना और कोड पूरा करना: IDE अब सामान्य CMake निर्देशों के लिए कोड को हाइलाइट करने और पूरा करने का सुझाव देता है. इसके अलावा, किसी फ़ाइल पर नेविगेट करने के लिए, उस पर क्लिक करते समय Control बटन (Mac पर Command) दबाएं.
  • कोड को फिर से फ़ॉर्मैट करना: अब CMake बिल्ड स्क्रिप्ट में कोड स्टाइल लागू करने के लिए, IntelliJ के कोड को फिर से फ़ॉर्मैट करने के विकल्प का इस्तेमाल किया जा सकता है.
  • सुरक्षित रीफ़ैक्टरिंग: IDE के पहले से मौजूद रीफ़ैक्टरिंग टूल अब यह भी देखें कि आपने CMake बिल्ड स्क्रिप्ट में जिन फ़ाइलों का रेफ़रंस दिया है उनके नाम बदल रहे हैं या उन्हें मिटा रहे हैं.

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

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

नेटिव मल्टीडेक्स की सुविधा डिफ़ॉल्ट रूप से चालू रहती है

Android Studio के पिछले वर्शन में, Android API लेवल 21 या इसके बाद के वर्शन पर चलने वाले डिवाइस पर किसी ऐप्लिकेशन के डीबग वर्शन को डिप्लॉय करते समय, नेटिव मल्टीडेक्स की सुविधा चालू होती थी. अब, डिवाइस पर डिप्लॉय करने या रिलीज़ के लिए APK बनाने के लिए, Gradle के लिए Android प्लग इन, minSdkVersion=21 या इसके बाद के वर्शन पर सेट किए गए सभी मॉड्यूल के लिए नेटिव मल्टीडेक्स को चालू करता है.

AAPT2 को Google के Maven डेटा स्टोर करने की जगह पर ले जाया गया

Android Studio 3.2 और इसके बाद के वर्शन में, AAPT2 (Android ऐसेट पैकेजिंग टूल 2) का सोर्स, Google का Maven रिपॉज़िटरी है.

AAPT2 का इस्तेमाल करने के लिए, पक्का करें कि आपकी build.gradle फ़ाइल में google() डिपेंडेंसी शामिल हो, जैसा कि यहां दिखाया गया है:

    buildscript {
        repositories {
            google() // here
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.0'
        }
    }
    allprojects {
        repositories {
            google() // and here
            jcenter()
        }
    }
    
    buildscript {
        repositories {
            google() // here
            jcenter()
        }
        dependencies {
            classpath("com.android.tools.build:gradle:3.2.0")
        }
    }
    allprojects {
        repositories {
            google() // and here
            jcenter()
        }
    }
    

AAPT2 के नए वर्शन में कई समस्याएं ठीक की गई हैं. इनमें, Windows पर गैर-ASCII वर्णों को बेहतर तरीके से मैनेज करना भी शामिल है.

मांग पर कॉन्फ़िगरेशन हटाना

Android Studio से ज़रूरत के हिसाब से कॉन्फ़िगर करें सेटिंग हटा दी गई है.

Android Studio अब Gradle को --configure-on-demand आर्ग्युमेंट पास नहीं करता.

ADB कनेक्शन असिस्टेंट

नए ADB कनेक्शन असिस्टेंट में, Android डीबग ब्रिज (ADB) कनेक्शन पर, किसी डिवाइस को सेट अप करने और इस्तेमाल करने के बारे में सिलसिलेवार निर्देश दिए गए हैं.

Assistant शुरू करने के लिए, टूल > कनेक्शन असिस्टेंट चुनें.

ADB कनेक्शन असिस्टेंट, Assistant पैनल में कई पेजों में निर्देश, कॉन्टेक्स्ट के हिसाब से कंट्रोल, और कनेक्ट किए गए डिवाइसों की सूची उपलब्ध कराता है.

एम्युलेटर में किए गए सुधार

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

AVD स्नैपशॉट को सेव करने, लोड करने, और मैनेज करने के कंट्रोल अब एमुलेटर की एक्सटेंडेड कंट्रोल विंडो में स्नैपशॉट टैब में मौजूद हैं.

ज़्यादा जानकारी के लिए, स्नैपशॉट देखें.

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