Android Studio 4.1 (अगस्त 2020)
Android Studio 4.1 एक मुख्य रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.
4.1.3 (मार्च 2021)
इस छोटे अपडेट में कई गड़बड़ियां ठीक की गई हैं. गड़बड़ियों को ठीक करने से जुड़ी खास जानकारी देखने के लिए, रिलीज़ से जुड़े अपडेट वाले ब्लॉग पर जाकर, उससे जुड़ी पोस्ट पढ़ें.
4.1.2 (जनवरी 2021)
<p>
This minor update includes various bug fixes.
To see a list of notable bug fixes, read the related post on the
<a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>
<p>
This minor update includes various bug fixes.
To see a list of notable bug fixes, read the related post on the
<a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
Release Updates blog</a>.
</p>
नया डेटाबेस इंस्पेक्टर
नए डेटाबेस इंस्पेक्टर का इस्तेमाल करके, अपने ऐप्लिकेशन में चल रहे डेटाबेस की जांच करें, उनसे जुड़ी क्वेरी करें, और उनमें बदलाव करें. शुरू करने के लिए, अपने ऐप्लिकेशन को एपीआई लेवल 26 या उसके बाद के वर्शन पर काम करने वाले डिवाइस पर डिप्लॉय करें. इसके बाद, मेन्यू बार से व्यू > टूल विंडो > डेटाबेस इंस्पेक्टर चुनें.
ज़्यादा जानकारी के लिए, डेटाबेस इंस्पेक्टर की मदद से अपने डेटाबेस को डीबग करना लेख पढ़ें.
Android Studio में सीधे Android एमुलेटर चलाना
अब Android Studio में जाकर, Android एमुलेटर को सीधे चलाया जा सकता है. इस सुविधा का इस्तेमाल करके, स्क्रीन का ज़्यादा से ज़्यादा इस्तेमाल करें. साथ ही, हॉटकी का इस्तेमाल करके, एमुलेटर और एडिटर विंडो के बीच तुरंत नेविगेट करें. इसके अलावा, एक ही ऐप्लिकेशन विंडो में अपने IDE और एमुलेटर वर्कफ़्लो को व्यवस्थित करें.
ज़्यादा जानने के लिए, Android एमुलेटर का दस्तावेज़ देखें.
TensorFlow Lite मॉडल का इस्तेमाल करना
एमएल मॉडल बाइंडिंग की मदद से, .tflite
मॉडल फ़ाइलों को सीधे इंपोर्ट करना और उन्हें अपने प्रोजेक्ट में इस्तेमाल करना आसान हो जाता है. Android Studio, इस्तेमाल में आसान क्लास जनरेट करता है, ताकि आप कम कोड और बेहतर टाइप सेफ़्टी के साथ अपना मॉडल चला सकें.
काम करने वाले मॉडल
एमएल मॉडल बाइंडिंग के मौजूदा वर्शन में, इमेज की कैटगरी तय करने और स्टाइल ट्रांसफ़र करने वाले मॉडल का इस्तेमाल किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि इन्हें मेटाडेटा के साथ बेहतर बनाया गया हो. आने वाले समय में, इस सुविधा को समस्याओं के दूसरे डोमेन में भी उपलब्ध कराया जाएगा. जैसे, ऑब्जेक्ट का पता लगाना, इमेज का सेगमेंटेशन, और टेक्स्ट की कैटगरी तय करना.
TensorFlow Hub पर, मेटाडेटा के साथ पहले से ट्रेन किए गए कई मॉडल उपलब्ध हैं. आपके पास TensorFlow Lite मॉडल में खुद मेटाडेटा जोड़ने का विकल्प भी है. इसके बारे में ज़्यादा जानने के लिए, TensorFlow Lite मॉडल में मेटाडेटा जोड़ना लेख पढ़ें.
मॉडल फ़ाइल इंपोर्ट करना
इस्तेमाल की जा सकने वाली मॉडल फ़ाइल इंपोर्ट करने के लिए, यह तरीका अपनाएं:
- फ़ाइल मेन्यू में, TensorFlow Lite मॉडल इंपोर्ट करने का डायलॉग बॉक्स खोलें. इसके लिए, फ़ाइल > नया > अन्य > TensorFlow Lite मॉडल पर जाएं.
- वह
.tflite
मॉडल फ़ाइल चुनें जिसे आपने पहले डाउनलोड किया था या बनाया था. - पूरा करें पर क्लिक करें.
इससे मॉडल फ़ाइल आपके प्रोजेक्ट में इंपोर्ट हो जाती है और उसे ml/
फ़ोल्डर में डाल दिया जाता है. अगर डायरेक्ट्री मौजूद नहीं है, तो Android Studio उसे आपके लिए बना देता है.
मॉडल का मेटाडेटा और इस्तेमाल देखना
इंपोर्ट किए गए मॉडल की जानकारी देखने और उसे अपने ऐप्लिकेशन में इस्तेमाल करने का तरीका जानने के लिए, अपने प्रोजेक्ट में मॉडल फ़ाइल पर दो बार क्लिक करें. इससे मॉडल व्यूअर पेज खुलेगा. इस पेज पर ये चीज़ें दिखती हैं:
- मॉडल: मॉडल के बारे में पूरी जानकारी
- टेंसर: इनपुट और आउटपुट टेंसर की जानकारी
- सैंपल कोड: अपने ऐप्लिकेशन में मॉडल के साथ इंटरफ़ेस करने का तरीका
यहां mobilenet_v1_0.25_160_quantized.tflite का इस्तेमाल करने का उदाहरण दिया गया है:
उदाहरण के तौर पर, Android Studio मॉडल के साथ इंटरैक्ट करने के लिए, MobilenetV1025160Quantized
नाम की एक क्लास बनाता है.
अगर मॉडल में मेटाडेटा नहीं है, तो इस स्क्रीन पर सिर्फ़ कम जानकारी दिखेगी.
पहले से मालूम समस्याएं और उन्हें हल करने के तरीके
- फ़िलहाल, इमेज के लिए कैटगरी तय करने और स्टाइल ट्रांसफ़र के अलावा, अन्य समस्याओं के लिए TensorFlow Lite मॉडल का इस्तेमाल सीमित तौर पर किया जा सकता है. हालांकि, इंपोर्ट ठीक से काम करना चाहिए, लेकिन कुछ मॉडल इनपुट और/या आउटपुट को आसान टाइप के बजाय TensorBuffers से दिखाया जाता है. जिन मॉडल में कोई मेटाडेटा नहीं होता उनके सभी इनपुट और आउटपुट, TensorBuffers होंगे.
DataType.UINT8
याDataType.FLOAT32
से अलग इनपुट और आउटपुट डेटा टाइप वाले मॉडल काम नहीं करते.
इस सुविधा पर अब भी काम चल रहा है. इसलिए, कृपया सुझाव/राय दें या गड़बड़ियों की शिकायत करें.
नेटिव मेमोरी प्रोफ़ाइलर
Android Studio के मेमोरी प्रोफ़ाइलर में अब नेटिव मेमोरी प्रोफ़ाइलर भी शामिल है. यह उन ऐप्लिकेशन के लिए है जिन्हें Android 10 या इसके बाद के वर्शन वाले फ़िज़िकल डिवाइसों पर डिप्लॉय किया गया है. नेटिव मेमोरी प्रोफ़ाइलर की मदद से, नेटिव कोड से मेमोरी के बंटवारे और डिलीज़ को रिकॉर्ड किया जा सकता है. साथ ही, नेटिव ऑब्जेक्ट के बारे में इकट्ठा किए गए आंकड़ों की जांच की जा सकती है.
नेटिव मेमोरी प्रोफ़ाइलर के बारे में ज़्यादा जानने के लिए, मेमोरी प्रोफ़ाइलर की मदद से, अपने ऐप्लिकेशन के मेमोरी इस्तेमाल की जांच करना लेख पढ़ें.
पहले से मालूम समस्याएं और उन्हें हल करने के तरीके
Android Studio 4.1 में मौजूद नेटिव मेमोरी प्रोफ़ाइलर, Android 11 डिवाइसों पर काम नहीं करता. फ़िलहाल, Android 11 डिवाइसों की प्रोफ़ाइल बनाने की सुविधा, 4.2 के रिलीज़ होने से पहले के वर्शन" में उपलब्ध है.
4.1 के शुरुआती वर्शन में, ऐप्लिकेशन के स्टार्टअप की प्रोफ़ाइलिंग की सुविधा बंद कर दी गई है. यह विकल्प, आने वाले वर्शन में चालू किया जाएगा.
इस समस्या को हल करने के लिए, स्टार्टअप प्रोफ़ाइलें कैप्चर करने के लिए, Perfetto स्टैंडअलोन कमांड-लाइन प्रोफ़ाइलर का इस्तेमाल किया जा सकता है.
सिस्टम ट्रेस यूज़र इंटरफ़ेस (यूआई): आसानी से चुनने की सुविधा, नया विश्लेषण टैब, और फ़्रेम रेंडरिंग का ज़्यादा डेटा
Android Studio प्रोफ़ाइलर में सिस्टम ट्रेस यूज़र इंटरफ़ेस (यूआई) में ये सुधार किए गए हैं:
-
बॉक्स चुनना: थ्रेड सेक्शन में, अब माउस को खींचकर, रेक्टैंगल के आकार वाले किसी हिस्से को चुना जा सकता है. इस पर ज़ूम करने के लिए, सबसे ऊपर दाईं ओर मौजूद चुने गए हिस्से पर ज़ूम करें बटन पर क्लिक करें या M कीबोर्ड शॉर्टकट का इस्तेमाल करें. एक जैसी थ्रेड को एक-दूसरे के बगल में खींचकर छोड़ने पर, एक साथ कई थ्रेड को चुना जा सकता है, ताकि उन सभी की जांच की जा सके. उदाहरण के लिए, हो सकता है कि आप कई वर्कर्स थ्रेड पर विश्लेषण करना चाहें.
-
खास जानकारी टैब: विश्लेषण पैनल में मौजूद नया खास जानकारी टैब, ये चीज़ें दिखाता है:
-
किसी खास इवेंट के होने की सभी घटनाओं के लिए आंकड़े इकट्ठा करना. जैसे, इवेंट होने की संख्या और कम से कम/ज़्यादा से ज़्यादा अवधि.
-
चुनी गई घटना के लिए, ट्रेस इवेंट के आंकड़े.
-
थ्रेड की स्थिति के डिस्ट्रिब्यूशन का डेटा.
-
चुने गए ट्रेस इवेंट की सबसे लंबी अवधि.
किसी दूसरी घटना पर जाने के लिए, टेबल से कोई दूसरी लाइन चुनें.
-
-
डिसप्ले डेटा: डिसप्ले सेक्शन में, SurfaceFlinger और VSYNC के लिए नई टाइमलाइन की मदद से, अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में रेंडरिंग से जुड़ी समस्याओं की जांच की जा सकती है.
सिस्टम ट्रेस रिकॉर्ड करने के बुनियादी निर्देशों के लिए, सीपीयू प्रोफ़ाइलर की मदद से सीपीयू गतिविधि की जांच करना सेक्शन में, ट्रेस रिकॉर्ड करें सेक्शन देखें.
स्टैंडअलोन प्रोफ़ाइलर अब उपलब्ध हैं
नए स्टैंडअलोन प्रोफ़ाइलर की मदद से, अब अपने ऐप्लिकेशन की प्रोफ़ाइल बनाई जा सकती है. इसके लिए, आपको Android Studio IDE को पूरी तरह से चलाने की ज़रूरत नहीं है.
स्टैंडअलोन प्रोफ़ाइलर इस्तेमाल करने के निर्देशों के लिए, स्टैंडअलोन प्रोफ़ाइलर चलाना लेख पढ़ें.
Dagger नेविगेशन की सुविधा
Android Studio में, गटर ऐक्शन की नई सुविधाएं जोड़ी गई हैं. साथ ही, इस्तेमाल के उदाहरण ढूंढें विंडो में सहायता की सुविधा को बेहतर बनाया गया है. इससे, Dagger से जुड़े कोड के बीच नेविगेट करना आसान हो गया है.
-
नई गटर ऐक्शन: Dagger का इस्तेमाल करने वाले प्रोजेक्ट के लिए, IDE में गटर ऐक्शन की सुविधा उपलब्ध होती है. इससे, एनोटेट किए गए Dagger कोड के बीच नेविगेट करने में मदद मिलती है. उदाहरण के लिए, किसी दिए गए टाइप का इस्तेमाल करने वाले तरीके के बगल में मौजूद gutter ऐक्शन पर क्लिक करने से, आपको उस टाइप के प्रोवाइडर पर ले जाया जाता है. इसके उलट, गटर ऐक्शन पर क्लिक करने से, आपको उस जगह पर ले जाया जाता है जहां किसी टाइप का इस्तेमाल डिपेंडेंसी के तौर पर किया जाता है.
-
इस्तेमाल की जानकारी ढूंढने वाला नोड: किसी खास तरह के प्रोवाइडर पर इस्तेमाल की जानकारी ढूंढें को चालू करने पर, ढूंढें विंडो में अब डिपेंडेंसी कंज्यूमर नोड शामिल होता है. इसमें उस तरह के कंज्यूमर की सूची होती है. इसके उलट, Dagger से इंजेक्ट की गई डिपेंडेंसी के उपभोक्ता पर इस कार्रवाई को लागू करने पर, ढूंढें विंडो में आपको उस डिपेंडेंसी का प्रोवाइडर दिखता है.
Material Design कॉम्पोनेंट: नए प्रोजेक्ट टेंप्लेट में अपडेट की गई थीम और स्टाइल
नया प्रोजेक्ट बनाएं डायलॉग में मौजूद Android Studio टेंप्लेट अब Material Design कॉम्पोनेंट (एमडीसी) का इस्तेमाल करते हैं. साथ ही, ये डिफ़ॉल्ट रूप से थीम और स्टाइल के लिए अपडेट किए गए दिशा-निर्देशों के मुताबिक होते हैं. अपडेट में ये चीज़ें शामिल हैं:
-
एमडीसी: प्रोजेक्ट,
build.gradle
में मौजूदcom.google.android.material:material
पर निर्भर करते हैं. ऐप्लिकेशन की बुनियादी थीम,Theme.MaterialComponents.*
पैरंट का इस्तेमाल करती हैं. साथ ही, अपडेट किए गए एमडीसी कलर और “चालू है” एट्रिब्यूट को बदल देती हैं. -
रंग के रिसॉर्स:
colors.xml
में रंग के रिसॉर्स के लिए, लिटरल नाम इस्तेमाल किए जाते हैं. उदाहरण के लिए,colorPrimary
के बजायpurple_500
. -
थीम के संसाधन: थीम के संसाधन,
styles.xml
के बजायthemes.xml
में होते हैं औरTheme.<var>
नामों का इस्तेमाल करते हैं.<var> -
गहरे रंग वाली थीम: ऐप्लिकेशन की बुनियादी थीम,
DayNight
पैरंट का इस्तेमाल करती हैं और इन्हेंres/values
औरres/values-night
के बीच बांटा जाता है. -
थीम एट्रिब्यूट: हार्ड कोड किए गए रंगों से बचने के लिए, लेआउट और स्टाइल में रंग रिसॉर्स को थीम एट्रिब्यूट (उदाहरण के लिए,
?attr/colorPrimary
) के तौर पर रेफ़र किया जाता है.
IntelliJ IDEA 2020.1
Android Studio के मुख्य IDE को अपडेट किया गया है. इसमें 2020.1 रिलीज़ के ज़रिए, IntelliJ IDEA की सुविधाओं को जोड़ा गया है. इनमें, वर्शन कंट्रोल ऑपरेशन की सुविधा देने वाली नई कमिट करें विंडो और एक नया ज़ेन मोड शामिल है. इस मोड को व्यू > दिखावट > ध्यान भटकाने वाले विकल्पों से दूर रहने वाला मोड चालू करें को चुनकर चालू किया जा सकता है.
वर्शन 2020.1 में किए गए सुधारों के बारे में ज़्यादा जानने के लिए, IDEA 2020.1 देखें.
IDE कॉन्फ़िगरेशन डायरेक्ट्री में बदलाव
उपयोगकर्ता कॉन्फ़िगरेशन डायरेक्ट्री की जगहों को इन पर बदल दिया गया है:
विंडो
सिंटैक्स: %APPDATA%\Google<product><version>
उदाहरण: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1
macOS
सिंटैक्स: ~/Library/Application Support/Google/<product><version>
उदाहरण: ~/Library/Application Support/Google/AndroidStudio4.1
Linux
सिंटैक्स: ~/.config/Google/<product><version>
उदाहरण: ~/.config/Google/AndroidStudio4.1
डायरेक्ट्री की ये नई जगहें, IntelliJ IDEA के हाल ही के अपडेट के मुताबिक हैं. IntelliJ IDEA, वह IDE है जिस पर Android Studio आधारित है.
अगर अपग्रेड करने के बाद Studio रीस्टार्ट नहीं होता है, तो आपको Studio के पिछले वर्शन से कॉन्फ़िगरेशन डायरेक्ट्री मिटानी पड़ सकती है. ज़्यादा जानकारी के लिए, पहचानी गई समस्याएं वाला पेज देखें.
Kotlin 1.3.72
Android Studio 4.1 में Kotlin 1.3.72 बंडल किया गया है. इसमें कई सुधार किए गए हैं, ताकि Kotlin को हाइलाइट करने, जांच करने, और कोड पूरा करने की सुविधा को बेहतर बनाया जा सके. ज़्यादा जानकारी के लिए, Kotlin 1.3.72 के बदलावों का लॉग देखें.
कस्टम व्यू की झलक
कस्टम व्यू बनाते समय (उदाहरण के लिए, View
या Button
क्लास को बड़ा करके), Android Studio अब आपको अपने कस्टम व्यू की झलक दिखाता है. एक से ज़्यादा कस्टम व्यू के बीच स्विच करने के लिए, टूलबार में मौजूद ड्रॉपडाउन मेन्यू का इस्तेमाल करें. इसके अलावा, कॉन्टेंट को वर्टिकल या हॉरिज़ॉन्टल तौर पर रैप करने के लिए, बटन पर क्लिक करें.
ध्यान दें: अगर आपको झलक में अपने बदलाव नहीं दिखते हैं, तो मेन्यू बार से बिल्ड करें > प्रोजेक्ट बनाएं चुनें.
नेटिव क्रैश रिपोर्ट के लिए सिंबल
जब नेटिव कोड में क्रैश या ANR की समस्या होती है, तो सिस्टम एक स्टैक ट्रेस बनाता है. यह स्टैक ट्रेस, नेस्ट किए हुए उन फ़ंक्शन के क्रम का स्नैपशॉट होता है जो ऐप्लिकेशन बंद होने के समय तक आपके प्रोग्राम में इस्तेमाल किए जा रहे थे. ये स्नैपशॉट, सोर्स कोड में मौजूद किसी भी समस्या का पता लगाने और उसे ठीक करने में आपकी मदद कर सकते हैं. हालांकि, मशीन के पतों को फिर से, लोगों के पढ़ने लायक फ़ंक्शन के नामों में बदलने के लिए, उन्हें पहले सिंबल के तौर पर दिखाना होगा.
अगर आपके ऐप्लिकेशन या गेम को C++ जैसे नेटिव कोड का इस्तेमाल करके बनाया गया है, तो अब आपके पास अपने ऐप्लिकेशन के हर वर्शन के लिए, Play Console पर डीबग सिंबल वाली फ़ाइलें अपलोड करने का विकल्प है. Play Console, इन डीबग सिंबल वाली फ़ाइलों का इस्तेमाल करके आपके ऐप्लिकेशन के स्टैक ट्रेस को सिंबलाइज़ करता है. इससे, ऐप्लिकेशन के बंद होने और एएनआर (ऐप्लिकेशन ने रिस्पॉन्स नहीं दिया) की समस्याओं का विश्लेषण करना आसान हो जाता है. डीबग सिंबल फ़ाइलें अपलोड करने का तरीका जानने के लिए, नेटिव क्रैश के लिए सहायता देखें.
बदलाव लागू करें
अपने ऐप्लिकेशन को बेहतर बनाने के लिए, हमने Android 11 Developer Preview 3 या इसके बाद के वर्शन वाले डिवाइसों पर, बदलाव लागू करने की सुविधा को बेहतर बनाया है. इससे आपको ज़्यादा बेहतर तरीके से काम करने में मदद मिलेगी:
तेज़ी से डिप्लॉय करने की सुविधा
हमने आपके लिए, बदलावों को लागू करने की स्पीड को ऑप्टिमाइज़ करने पर काफ़ी काम किया है. इसके लिए, हमने एक ऐसा तरीका विकसित किया है जिससे ऐप्लिकेशन को इंस्टॉल किए बिना, किसी डिवाइस पर बदलावों को लागू और सेव किया जा सकता है. शुरुआती डिप्लॉयमेंट के बाद, Android 11 डिवाइसों पर कोड में बदलाव लागू करें या बदलाव लागू करें और गतिविधि को रीस्टार्ट करें का इस्तेमाल करके, डिप्लॉयमेंट की प्रोसेस अब काफ़ी तेज़ हो गई है.
इन दोनों कार्रवाइयों के बीच के अंतर के बारे में ज़्यादा जानने के लिए, बदलाव लागू करें लेख पढ़ें.
कोड में अन्य बदलाव करने के लिए सहायता
Android 11 के डेवलपर प्रीव्यू 3 या इसके बाद के वर्शन पर चलने वाले डिवाइसों के लिए, अब आपके पास तरीकों को जोड़ने का विकल्प है. इसके बाद, कोड में बदलाव लागू करें या बदलाव लागू करें और गतिविधि को फिर से शुरू करें पर क्लिक करके, उन बदलावों को अपने ऐप्लिकेशन में डिप्लॉय किया जा सकता है.