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 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++ कोड या Trace क्लास की मदद से Java कोड इंस्टॉल करें.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

डेटा बाइंडिंग 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 बिल्ड फ़ाइलों के लिए, एडिटर की बेहतर सुविधाएं

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

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

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