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 और इसके बाद के वर्शन में यह समस्या ठीक कर दी गई है.
-
आम तौर पर, आपको बिल्ड टूल का वर्शन तय करने की ज़रूरत नहीं होती. हालांकि, Android Gradle प्लगिन 3.2.0 का इस्तेमाल करते समय, अगर
renderscriptSupportModeEnabledकोtrueपर सेट किया जाता है, तो आपको हर मॉड्यूल कीbuild.gradleफ़ाइल में यह जानकारी शामिल करनी होगी:android.buildToolsVersion "28.0.3"
Assistant में नया क्या है
Android Studio में हुए नए बदलावों के बारे में आपको एक नई असिस्टेंट से जानकारी मिलती है.
Android Studio को नए सिरे से इंस्टॉल करने या अपडेट करने के बाद, इसे शुरू करने पर असिस्टेंट खुल जाती है. ऐसा तब होता है, जब इसे पता चलता है कि दिखाने के लिए कोई नई जानकारी उपलब्ध है. सहायता > Android Studio में नया क्या है को चुनकर भी, असिस्टेंट को खोला जा सकता है.
Android Jetpack
Android Jetpack, Android डेवलपमेंट को तेज़ करने में मदद करता है. इसके लिए, यह कॉम्पोनेंट, टूल, और दिशा-निर्देश उपलब्ध कराता है. इनसे बार-बार किए जाने वाले कामों को खत्म किया जा सकता है. साथ ही, अच्छी क्वालिटी वाले ऐसे ऐप्लिकेशन को तेज़ी से और आसानी से बनाया जा सकता है जिनकी जांच की जा सकती है. Android Studio में, Jetpack के साथ काम करने के लिए ये अपडेट शामिल हैं. ज़्यादा जानकारी के लिए, Jetpack का दस्तावेज़ देखें.
नेविगेशन एडिटर
नया नेविगेशन एडिटर, Android Jetpack के नेविगेशन कॉम्पोनेंट के साथ इंटिग्रेट होता है. इससे आपको अपने ऐप्लिकेशन का नेविगेशन स्ट्रक्चर बनाने के लिए, ग्राफ़िकल व्यू मिलता है. नेविगेशन एडिटर, ऐप्लिकेशन में मौजूद डेस्टिनेशन के बीच नेविगेशन को डिज़ाइन और लागू करने की प्रोसेस को आसान बनाता है.
Android Studio 3.2 में, नेविगेशन एडिटर एक एक्सपेरिमेंटल सुविधा है. नेविगेशन एडिटर को चालू करने के लिए, फ़ाइल > सेटिंग (Mac पर Android Studio > प्राथमिकताएं) पर क्लिक करें. इसके बाद, बाईं ओर मौजूद पैनल में एक्सपेरिमेंट के तौर पर उपलब्ध सुविधाएं कैटगरी चुनें. इसके बाद, नेविगेशन एडिटर चालू करें के बगल में मौजूद बॉक्स पर सही का निशान लगाएं. इसके बाद, Android Studio को फिर से चालू करें.
ज़्यादा जानने के लिए, नेविगेशन एडिटर का दस्तावेज़ पढ़ें.
AndroidX पर माइग्रेट करना
Jetpack के तहत, हम Android सपोर्ट लाइब्रेरी को androidx नेमस्पेस का इस्तेमाल करके, नई Android एक्सटेंशन लाइब्रेरी में माइग्रेट कर रहे हैं. ज़्यादा जानकारी के लिए, AndroidX की खास जानकारी देखें.
Android Studio 3.2 में, माइग्रेशन की नई सुविधा उपलब्ध है. इसकी मदद से, इस प्रोसेस को पूरा किया जा सकता है.
किसी मौजूदा प्रोजेक्ट को AndroidX पर माइग्रेट करने के लिए, Refactor > Migrate to 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पर सेट किया गया हो.
Migrate to AndroidX कमांड का इस्तेमाल करने पर, दोनों फ़्लैग true पर सेट हो जाते हैं.
अगर आपको AndroidX लाइब्रेरी का इस्तेमाल तुरंत शुरू करना है और तीसरे पक्ष की मौजूदा लाइब्रेरी को बदलने की ज़रूरत नहीं है, तो android.useAndroidX फ़्लैग को true और android.enableJetifier फ़्लैग को false पर सेट करें.
Android ऐप्लिकेशन बंडल
Android ऐप्लिकेशन बंडल, अपलोड करने का एक नया फ़ॉर्मैट है. इसमें आपके ऐप्लिकेशन का कंपाइल किया गया पूरा कोड और रिसॉर्स शामिल होते हैं. हालांकि, APK जनरेट करने और साइन करने का काम Google Play Store पर होता है.
इसके बाद, Google Play का नया ऐप्लिकेशन डिलीवरी मॉडल, आपके ऐप्लिकेशन बंडल का इस्तेमाल करके, हर उपयोगकर्ता के डिवाइस कॉन्फ़िगरेशन के हिसाब से ऑप्टिमाइज़ किए गए APK जनरेट करता है और उन्हें डिलीवर करता है. इससे हर उपयोगकर्ता सिर्फ़ वह कोड और संसाधन डाउनलोड करता है जिनकी उसे आपका ऐप्लिकेशन चलाने के लिए ज़रूरत होती है. अब आपको एक से ज़्यादा APK बनाने, साइन करने, और मैनेज करने की ज़रूरत नहीं है. साथ ही, उपयोगकर्ताओं को छोटे और ज़्यादा ऑप्टिमाइज़ किए गए डाउनलोड मिलते हैं.
इसके अलावा, अपने ऐप्लिकेशन प्रोजेक्ट में फ़ीचर मॉड्यूल जोड़े जा सकते हैं. साथ ही, उन्हें अपने ऐप्लिकेशन बंडल में शामिल किया जा सकता है. इसके बाद, आपके उपयोगकर्ता ज़रूरत के हिसाब से आपके ऐप्लिकेशन की सुविधाएं डाउनलोड और इंस्टॉल कर सकते हैं.
बंडल बनाने के लिए, बनाएं > बंडल / 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 को IntelliJ IDEA की मदद से अपडेट किया गया है. यह अपडेट, 2018.1.6 रिलीज़ के ज़रिए किया गया है.
Android प्रोफ़ाइलर
Android Studio 3.2 में, Android Profiler की ये नई सुविधाएं आज़माएं.
सेशन
अब Profiler के डेटा को सेशन के तौर पर सेव किया जा सकता है. इससे बाद में डेटा को फिर से देखा जा सकता है और उसकी जांच की जा सकती है. प्रोफ़ाइलर, आपके सेशन के डेटा को तब तक सेव रखता है, जब तक कि आईडीई को फिर से चालू नहीं किया जाता.
मेथड ट्रेस रिकॉर्ड करने या हीप डंप कैप्चर करने पर, IDE उस डेटा को मौजूदा सेशन में एक अलग एंट्री के तौर पर जोड़ता है. इसमें आपके ऐप्लिकेशन की नेटवर्क गतिविधि भी शामिल होती है. इसके बाद, डेटा की तुलना करने के लिए, रिकॉर्डिंग के बीच आसानी से स्विच किया जा सकता है.
सिस्टम ट्रेस करने वाला टूल
अपने डिवाइस के सिस्टम सीपीयू और थ्रेड ऐक्टिविटी की जांच करने के लिए, सीपीयू प्रोफ़ाइलर में जाकर, नया सिस्टम ट्रेस कॉन्फ़िगरेशन चुनें. यह ट्रेस कॉन्फ़िगरेशन, systrace पर आधारित है. यह सिस्टम-लेवल की समस्याओं की जांच करने के लिए उपयोगी है. जैसे, यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी.
इस ट्रेस कॉन्फ़िगरेशन का इस्तेमाल करते समय, प्रोफ़ाइलर टाइमलाइन में ज़रूरी कोड रूटीन को विज़ुअली मार्क किया जा सकता है. इसके लिए, अपने C/C++ कोड को नेटिव ट्रेसिंग एपीआई या अपने Java कोड को Trace क्लास के साथ इंस्ट्रुमेंट करें.
Memory Profiler में JNI रेफ़रंस की जांच करना
अगर आपने अपने ऐप्लिकेशन को Android 8.0 (एपीआई लेवल 26) या उसके बाद के वर्शन पर चलने वाले डिवाइस पर डिप्लॉय किया है, तो अब Memory Profiler का इस्तेमाल करके, अपने ऐप्लिकेशन के JNI कोड के लिए मेमोरी के बंटवारे की जांच की जा सकती है.
जब आपका ऐप्लिकेशन चल रहा हो, तब टाइमलाइन का वह हिस्सा चुनें जिसकी आपको जांच करनी है. इसके बाद, क्लास की सूची के ऊपर मौजूद ड्रॉप-डाउन मेन्यू से JNI हीप चुनें. इसे नीचे दिखाया गया है. इसके बाद, हीप में मौजूद ऑब्जेक्ट की जांच सामान्य तरीके से की जा सकती है. साथ ही, एलॉकेशन कॉल स्टैक टैब में मौजूद ऑब्जेक्ट पर दो बार क्लिक करके यह देखा जा सकता है कि आपके कोड में JNI रेफ़रंस कहां-कहां एलॉकेट और रिलीज़ किए गए हैं.
मेमोरी हीप डंप फ़ाइलों को इंपोर्ट, एक्सपोर्ट, और उनकी जांच करना
अब Memory Profiler की मदद से बनाई गई .hprof मेमोरी हीप डंप फ़ाइलों को इंपोर्ट, एक्सपोर्ट, और उनकी जांच की जा सकती है.
प्रोफ़ाइलर के सेशन पैन में जाकर, नया प्रोफ़ाइलर सेशन शुरू करें
पर क्लिक करें. इसके बाद, फ़ाइल से लोड करें को चुनकर, अपनी .hprof फ़ाइल इंपोर्ट करें. इसके बाद, मेमोरी प्रोफ़ाइलर में इसके डेटा की जांच की जा सकती है. यह जांच, किसी अन्य हीप डंप की तरह ही की जाती है.
अगर आपको हीप डंप डेटा को बाद में देखने के लिए सेव करना है, तो सेशन पैन में मौजूद हीप डंप एंट्री के दाईं ओर मौजूद, हीप डंप एक्सपोर्ट करें बटन का इस्तेमाल करें. इसके बाद, आपको इस नाम से एक्सपोर्ट करें डायलॉग दिखेगा. इसमें फ़ाइल को .hprof फ़ाइल नाम एक्सटेंशन के साथ सेव करें.
ऐप्लिकेशन शुरू होने के दौरान सीपीयू की गतिविधि रिकॉर्ड करें
अब अपने ऐप्लिकेशन के स्टार्टअप के दौरान सीपीयू की गतिविधि को इस तरह रिकॉर्ड किया जा सकता है:
- मुख्य मेन्यू में जाकर, चलाएं > कॉन्फ़िगरेशन में बदलाव करें को चुनें.
- अपने पसंदीदा रन कॉन्फ़िगरेशन के प्रोफ़ाइलिंग टैब में जाकर, स्टार्टअप पर किसी तरीके की ट्रेसिंग रिकॉर्ड करना शुरू करें के बगल में मौजूद बॉक्स को चुनें.
- ड्रॉपडाउन मेन्यू से, इस्तेमाल करने के लिए कोई सीपीयू रिकॉर्डिंग कॉन्फ़िगरेशन चुनें.
- अपने ऐप्लिकेशन को Android 8.0 (एपीआई लेवल 26) या इसके बाद के वर्शन पर चलने वाले डिवाइस पर डिप्लॉय करें. इसके लिए, चलाएं > प्रोफ़ाइल बनाएं को चुनें.
सीपीयू ट्रेस एक्सपोर्ट करना
सीपीयू प्रोफ़ाइलर की मदद से सीपीयू की गतिविधि रिकॉर्ड करने के बाद, डेटा को .trace फ़ाइल के तौर पर एक्सपोर्ट किया जा सकता है. इससे डेटा को दूसरों के साथ शेयर किया जा सकता है या बाद में इसकी जांच की जा सकती है.
सीपीयू की गतिविधि रिकॉर्ड करने के बाद, ट्रेस एक्सपोर्ट करने के लिए यह तरीका अपनाएं:
- सीपीयू टाइमलाइन से एक्सपोर्ट की जाने वाली रिकॉर्डिंग पर राइट क्लिक करें.
- ड्रॉपडाउन मेन्यू से, ट्रेस एक्सपोर्ट करें चुनें.
- उस जगह पर जाएं जहां आपको फ़ाइल सेव करनी है. इसके बाद, सेव करें पर क्लिक करें.
सीपीयू ट्रेस फ़ाइलें इंपोर्ट करना और उनकी जांच करना
अब Debug API या CPU Profiler की मदद से बनाई गई .trace फ़ाइलों को इंपोर्ट और उनकी जांच की जा सकती है. (फ़िलहाल, सिस्टम ट्रेस रिकॉर्डिंग इंपोर्ट नहीं की जा सकतीं.)
ट्रेस फ़ाइल इंपोर्ट करने के लिए, प्रोफ़ाइलर के सेशन पैनल में नया प्रोफ़ाइलर सेशन शुरू करें
पर क्लिक करें. इसके बाद, फ़ाइल से लोड करें चुनें. इसके बाद, सीपीयू प्रोफ़ाइलर में इसके डेटा की जांच की जा सकती है. हालांकि, इसमें ये अपवाद शामिल नहीं होंगे:
- सीपीयू की गतिविधि को सीपीयू टाइमलाइन के साथ नहीं दिखाया गया है.
- थ्रेड ऐक्टिविटी टाइमलाइन से सिर्फ़ यह पता चलता है कि हर थ्रेड के लिए ट्रेस डेटा कहां उपलब्ध है. इससे थ्रेड की मौजूदा स्थिति (जैसे कि चल रहा है, इंतज़ार कर रहा है या स्लीपिंग) के बारे में पता नहीं चलता.
Debug API का इस्तेमाल करके, सीपीयू की गतिविधि रिकॉर्ड करना
अब Debug API की मदद से अपने ऐप्लिकेशन को इंस्ट्रुमेंट करके, CPU प्रोफ़ाइलर में सीपीयू गतिविधि को रिकॉर्ड किया जा सकता है और उसे रोका जा सकता है. किसी डिवाइस पर ऐप्लिकेशन डिप्लॉय करने के बाद, जब आपका ऐप्लिकेशन startMethodTracing(String tracePath) को कॉल करता है, तब प्रोफ़ाइलर अपने-आप सीपीयू की गतिविधि रिकॉर्ड करना शुरू कर देता है. इसके अलावा, जब आपका ऐप्लिकेशन stopMethodTracing() को कॉल करता है, तब प्रोफ़ाइलर रिकॉर्डिंग बंद कर देता है. इस एपीआई का इस्तेमाल करके ट्रिगर की गई सीपीयू गतिविधि को रिकॉर्ड करते समय, सीपीयू प्रोफ़ाइलर, सीपीयू रिकॉर्डिंग के चुने गए कॉन्फ़िगरेशन के तौर पर Debug API दिखाता है.
एनर्जी प्रोफ़ाइलर
एनर्जी प्रोफ़ाइलर, आपके ऐप्लिकेशन की अनुमानित ऊर्जा खपत का विज़ुअलाइज़ेशन दिखाता है. साथ ही, यह सिस्टम इवेंट भी दिखाता है जिनसे ऊर्जा की खपत पर असर पड़ता है. जैसे, वेकलॉक, अलार्म, और जॉब.
जब कनेक्ट किए गए डिवाइस या Android 8.0 (एपीआई 26) या इसके बाद के वर्शन पर चलने वाले Android Emulator पर ऐप्लिकेशन चलाया जाता है, तब Energy Profiler, Profiler विंडो में सबसे नीचे एक नई लाइन के तौर पर दिखता है.
एनर्जी प्रोफ़ाइलर व्यू को बड़ा करने के लिए, एनर्जी लाइन पर क्लिक करें. सीपीयू, नेटवर्क, और जगह (जीपीएस) के हिसाब से ऊर्जा के इस्तेमाल का ब्यौरा देखने के लिए, टाइमलाइन में मौजूद किसी बार पर अपना माउस पॉइंटर रखें. साथ ही, सिस्टम से जुड़े काम के इवेंट भी देखें.
सिस्टम इवेंट, बैटरी के इस्तेमाल पर असर डालते हैं. इनकी जानकारी, बैटरी टाइमलाइन के नीचे मौजूद सिस्टम टाइमलाइन में दिखती है. ऊर्जा टाइमलाइन में तारीख की सीमा चुनने पर, इवेंट पैन में तय की गई तारीख की सीमा के अंदर होने वाले सिस्टम इवेंट की जानकारी दिखती है.
सिस्टम इवेंट, जैसे कि वेकलॉक के लिए कॉल स्टैक और अन्य जानकारी देखने के लिए, इवेंट पैन में जाकर उसे चुनें. सिस्टम इवेंट के लिए ज़िम्मेदार कोड पर जाने के लिए, कॉल स्टैक में मौजूद एंट्री पर दो बार क्लिक करें.
लिंट की जांच की जा रही है
Android Studio 3.2 में, लिंट चेकिंग के लिए कई नई और बेहतर सुविधाएं शामिल हैं.
लिंट की नई जांचों की मदद से, कोड से जुड़ी सामान्य समस्याओं का पता लगाया जा सकता है. इनमें इस्तेमाल से जुड़ी संभावित समस्याओं के बारे में चेतावनियों से लेकर, सुरक्षा से जुड़ी संभावित कमज़ोरियों के बारे में ज़्यादा प्राथमिकता वाली गड़बड़ियां शामिल हैं.
Java/Kotlin इंटरऑपरेबिलिटी के लिए लिंट की जांच
यह पक्का करने के लिए कि आपका Java कोड, Kotlin कोड के साथ अच्छी तरह से काम करे, नए लिंट चेक, Kotlin Interop Guide में बताए गए सबसे सही तरीकों को लागू करते हैं. इन जांचों के उदाहरणों में, Nullability एनोटेशन की मौजूदगी, Kotlin के हार्ड कीवर्ड का इस्तेमाल, और लैम्डा पैरामीटर को आखिर में रखना शामिल है.
इन जांचों को चालू करने के लिए, फ़ाइल > सेटिंग (Mac पर Android Studio > प्राथमिकताएं) पर क्लिक करके, सेटिंग डायलॉग खोलें. इसके बाद, एडिटर > जांच > Android > Lint > इंटरऑपरेबिलिटी > Kotlin इंटरऑपरेबिलिटी सेक्शन पर जाएं और वे नियम चुनें जिन्हें आपको चालू करना है.
कमांड-लाइन बिल्ड के लिए इन जांचों को चालू करने के लिए, अपनी build.gradle फ़ाइल में यह कोड जोड़ें:
android {
lintOptions {
check 'Interoperability'
}
}
स्लाइस के लिए लिंट चेक
स्लाइस के लिए, लिंट की नई जांचें उपलब्ध हैं. इनसे यह पक्का करने में मदद मिलती है कि स्लाइस सही तरीके से बनाए जा रहे हैं. उदाहरण के लिए, अगर आपने किसी स्लाइस को प्राइमरी ऐक्शन असाइन नहीं किया है, तो लिंट चेक आपको इसकी चेतावनी देते हैं.
नया Gradle टारगेट
नए lintFix Gradle टास्क का इस्तेमाल करके, सीधे तौर पर सोर्स कोड में, Lint चेक के सुझाए गए सभी सुरक्षित फ़िक्स लागू करें. लिंट चेक का एक उदाहरण SyntheticAccessor है. इसमें, लागू करने के लिए सुरक्षित फ़िक्स का सुझाव दिया गया है.
मेटाडेटा के अपडेट
Android 9 (एपीआई लेवल 28) के साथ काम करने के लिए, lint की जांच से जुड़े कई मेटाडेटा अपडेट किए गए हैं. जैसे, सेवा कास्ट की जांच.
नए वैरिएंट पर लिंट चलाने पर चेतावनी
लिंट अब यह रिकॉर्ड करता है कि किस वैरिएंट और वर्शन के साथ बेसलाइन रिकॉर्ड की गई है. अगर आपने लिंट को किसी ऐसे वैरिएंट पर चलाया है जिसके साथ बेसलाइन नहीं बनाई गई थी, तो लिंट आपको इसकी सूचना देगा.
मौजूदा लिंट चेक में सुधार
Android Studio 3.2 में, मौजूदा लिंट चेक में कई सुधार किए गए हैं. उदाहरण के लिए, संसाधन साइकल की जांच अब अन्य संसाधन टाइप पर भी लागू होती है. साथ ही, अनुवाद का पता लगाने वाला टूल, Editor में तुरंत ही छूटे हुए अनुवाद ढूंढ सकता है.
समस्या के आईडी को ज़्यादा आसानी से खोजा जा सकता है
समस्या के आईडी अब ज़्यादा जगहों पर दिखते हैं. इनमें जांच के नतीजे वाली विंडो भी शामिल है. इससे आपको build.gradle में lintOptions के ज़रिए, खास जांचों को चालू या बंद करने के लिए ज़रूरी जानकारी आसानी से मिल जाती है.
ज़्यादा जानकारी के लिए, Gradle के साथ Lint के विकल्प कॉन्फ़िगर करना लेख पढ़ें.
डेटा बाइंडिंग V2
डेटा बाइंडिंग V2 अब डिफ़ॉल्ट रूप से चालू है और यह V1 के साथ काम करता है. इसका मतलब है कि अगर आपके पास ऐसी लाइब्रेरी डिपेंडेंसी हैं जिन्हें V1 के साथ कंपाइल किया गया है, तो उन्हें Data Binding V2 का इस्तेमाल करने वाले प्रोजेक्ट के साथ इस्तेमाल किया जा सकता है. हालांकि, ध्यान दें कि V1 का इस्तेमाल करने वाले प्रोजेक्ट, V2 के साथ कंपाइल की गई डिपेंडेंसी का इस्तेमाल नहीं कर सकते.
D8 डिशुगरिंग
Android Studio 3.1 में, हमने D8 टूल में डिसुगरिंग के चरण को एक्सपेरिमेंट के तौर पर शामिल किया है. इससे, ऐप्लिकेशन बनाने में लगने वाला कुल समय कम हो जाता है. Android Studio 3.2 में, D8 के साथ डिसुगरिंग की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
कोड छोटा करने की नई सुविधा
R8, कोड को छोटा करने और उसे छिपाने का नया टूल है. यह ProGuard की जगह काम करता है. R8 के प्रीव्यू वर्शन का इस्तेमाल शुरू करने के लिए, अपने प्रोजेक्ट की gradle.properties फ़ाइल में यह कोड शामिल करें:
android.enableR8 = true
स्टैंडअलोन APK के लिए डिफ़ॉल्ट एबीआई बदले गए
एक से ज़्यादा APK बनाने पर, प्लगिन डिफ़ॉल्ट रूप से इन एबीआई के लिए APK जनरेट नहीं करता है: mips, mips64, और armeabi. हर APK अलग-अलग एबीआई को टारगेट करता है.
अगर आपको इन एबीआइ को टारगेट करने वाले 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) दबाकर रखते हुए किसी फ़ाइल पर क्लिक करके भी उस पर नेविगेट किया जा सकता है.
- कोड को फिर से फ़ॉर्मैट करना: अब IntelliJ के कोड को फिर से फ़ॉर्मैट करने वाले विकल्प का इस्तेमाल करके, अपनी CMake बिल्ड स्क्रिप्ट पर कोड स्टाइल लागू की जा सकती हैं.
- सुरक्षित रिफ़ैक्टरिंग: IDE में पहले से मौजूद रिफ़ैक्टरिंग टूल अब यह भी जांच करते हैं कि क्या CMake बिल्ड स्क्रिप्ट में रेफ़र की गई फ़ाइलों का नाम बदला जा रहा है या उन्हें मिटाया जा रहा है.
बाहरी हेडर फ़ाइलों पर नेविगेट करना
Android Studio के पिछले वर्शन में प्रोजेक्ट विंडो का इस्तेमाल करते समय, सिर्फ़ उन हेडर फ़ाइलों पर नेविगेट किया जा सकता था और उनकी जांच की जा सकती थी जो किसी लोकल प्रोजेक्ट से बनाई गई लाइब्रेरी से जुड़ी होती हैं. इस रिलीज़ के साथ, अब बाहरी C/C++ लाइब्रेरी की डिपेंडेंसी के साथ शामिल की गई हेडर फ़ाइलें भी देखी और उनकी जांच की जा सकती हैं. इन फ़ाइलों को अपने ऐप्लिकेशन प्रोजेक्ट में इंपोर्ट किया जाता है.
अगर आपने पहले से ही अपने प्रोजेक्ट में C/C++ कोड और लाइब्रेरी शामिल की हैं, तो मुख्य मेन्यू में जाकर व्यू > टूल विंडो > प्रोजेक्ट को चुनकर, IDE की बाईं ओर मौजूद प्रोजेक्ट विंडो खोलें. इसके बाद, ड्रॉप-डाउन मेन्यू से Android चुनें. cpp डायरेक्ट्री में, आपके ऐप्लिकेशन प्रोजेक्ट के स्कोप में आने वाले सभी हेडर, आपकी स्थानीय C/C++ लाइब्रेरी की हर डिपेंडेंसी के लिए include नोड के तहत व्यवस्थित किए जाते हैं. इन्हें नीचे दिखाया गया है.
नेटिव मल्टीडेक्स की सुविधा डिफ़ॉल्ट रूप से चालू होती है
Android Studio के पिछले वर्शन में, Android एपीआई लेवल 21 या उसके बाद के वर्शन पर चलने वाले डिवाइस पर ऐप्लिकेशन का डीबग वर्शन डिप्लॉय करते समय, नेटिव मल्टीडेक्स की सुविधा चालू होती थी. अब,
चाहे आपको किसी डिवाइस पर ऐप्लिकेशन डिप्लॉय करना हो या रिलीज़ के लिए कोई APK बनाना हो, Gradle के लिए Android प्लगिन, minSdkVersion=21 या इसके बाद के वर्शन पर सेट किए गए सभी मॉड्यूल के लिए नेटिव मल्टीडेक्स की सुविधा चालू करता है.
AAPT2 को Google की मेवन रिपॉज़िटरी में ले जाया गया
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 कनेक्शन असिस्टेंट
नई एडीबी कनेक्शन असिस्टेंट सुविधा में, Android डीबग ब्रिज (एडीबी) कनेक्शन के ज़रिए किसी डिवाइस को सेट अप और इस्तेमाल करने के लिए, सिलसिलेवार निर्देश दिए गए हैं.
Assistant को शुरू करने के लिए, Tools > Connection Assistant चुनें.
ADB Connection Assistant, Assistant पैनल के कई पेजों में निर्देश, कॉन्टेक्स्ट के हिसाब से कंट्रोल, और कनेक्ट किए गए डिवाइसों की सूची दिखाती है.
एम्युलेटर से जुड़े सुधार
अब Android Emulator में, किसी भी समय AVD (Android वर्चुअल डिवाइस) के स्नैपशॉट सेव और लोड किए जा सकते हैं. इससे, टेस्टिंग के लिए एमुलेट किए गए डिवाइस को आसानी से और तुरंत किसी जानी-पहचानी स्थिति में वापस लाया जा सकता है. AVD मैनेजर का इस्तेमाल करके किसी AVD में बदलाव करते समय, यह तय किया जा सकता है कि AVD शुरू होने पर कौनसे AVD स्नैपशॉट को लोड किया जाए.
AVD स्नैपशॉट को सेव करने, लोड करने, और मैनेज करने के कंट्रोल अब एम्युलेटर की एक्सटेंडेड कंट्रोल विंडो में मौजूद स्नैपशॉट टैब में हैं.
ज़्यादा जानकारी के लिए, स्नैपशॉट देखें.
एम्युलेटर में नया क्या है और क्या बदला है, इस बारे में ज़्यादा जानकारी के लिए, एम्युलेटर के रिलीज़ नोट देखें.