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

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

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

ज़्यादा जानकारी के लिए, Android ऐप्लिकेशन बंडल देखें. इसमें, Android ऐप्लिकेशन बंडल बनाने और उसका विश्लेषण करने के निर्देश भी शामिल हैं.

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

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

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

स्लाइस

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

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

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

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

Kotlin 1.2.61

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

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 कोड के लिए मेमोरी के ऐलोकेशन की जांच की जा सकती है.

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

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

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

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

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

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

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

  1. मुख्य मेन्यू में, चलाएं > कॉन्फ़िगरेशन में बदलाव करें को चुनें.
  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 में, मौजूदा लिंट जांच में कई सुधार किए गए हैं. उदाहरण के लिए, अब संसाधन साइकल की जांच, संसाधन के अन्य टाइप पर भी लागू होती है. साथ ही, अनुवाद का पता लगाने वाला टूल, Editor में अनुवाद न होने पर तुरंत उसे ढूंढ सकता है.

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

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

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

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