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

ज़्यादा जानने के लिए, Android Emulator का दस्तावेज़ देखें.
TensorFlow Lite मॉडल का इस्तेमाल करना
एमएल मॉडल बाइंडिंग की मदद से, .tflite मॉडल फ़ाइलों को सीधे तौर पर इंपोर्ट किया जा सकता है और उन्हें अपने प्रोजेक्ट में इस्तेमाल किया जा सकता है. Android Studio, इस्तेमाल में आसान क्लास जनरेट करता है. इससे कम कोड और बेहतर टाइप सेफ़्टी के साथ मॉडल को चलाया जा सकता है.
इन मॉडल के साथ काम करता है
फ़िलहाल, एमएल मॉडल बाइंडिंग की सुविधा, इमेज क्लासिफ़िकेशन और स्टाइल ट्रांसफ़र मॉडल के साथ काम करती है. हालांकि, इसके लिए ज़रूरी है कि इन मॉडल को मेटाडेटा के साथ बेहतर बनाया गया हो. आने वाले समय में, इस सुविधा को अन्य समस्याओं के लिए भी उपलब्ध कराया जाएगा. जैसे, ऑब्जेक्ट का पता लगाने की सुविधा, इमेज सेगमेंटेशन, और टेक्स्ट क्लासिफ़िकेशन.
TensorFlow Hub पर, मेटाडेटा के साथ पहले से ट्रेन किए गए कई मॉडल उपलब्ध हैं. TensorFlow Lite मॉडल में मेटाडेटा जोड़ना लेख में दिए गए निर्देशों का पालन करके, TensorFlow Lite मॉडल में मेटाडेटा जोड़ा जा सकता है.
मॉडल फ़ाइल इंपोर्ट करना
इस्तेमाल किए जा सकने वाले मॉडल की फ़ाइल इंपोर्ट करने के लिए, यह तरीका अपनाएं:
- फ़ाइल > नया > अन्य > TensorFlow लाइट मॉडल पर जाकर, फ़ाइल मेन्यू में TensorFlow लाइट मॉडल इंपोर्ट करने का डायलॉग बॉक्स खोलें.
.tfliteमॉडल फ़ाइल चुनें. यह फ़ाइल, पहले से डाउनलोड की गई या बनाई गई होनी चाहिए.- पूरा करें पर क्लिक करें.
इससे मॉडल फ़ाइल आपके प्रोजेक्ट में इंपोर्ट हो जाती है और ml/ फ़ोल्डर में सेव हो जाती है. अगर डायरेक्ट्री मौजूद नहीं है, तो Android Studio इसे आपके लिए बना देता है.

मॉडल का मेटाडेटा और इस्तेमाल देखना
इंपोर्ट किए गए मॉडल की जानकारी देखने और उसे अपने ऐप्लिकेशन में इस्तेमाल करने के बारे में निर्देश पाने के लिए, अपने प्रोजेक्ट में मौजूद मॉडल फ़ाइल पर दो बार क्लिक करें. इससे मॉडल व्यूअर पेज खुल जाएगा. इस पेज पर यह जानकारी दिखती है:
- मॉडल: मॉडल के बारे में पूरी जानकारी
- टेंसर: इनपुट और आउटपुट टेंसर की जानकारी
- सैंपल कोड: आपके ऐप्लिकेशन में मॉडल के साथ इंटरफ़ेस करने का तरीका
यहां mobilenet_v1_0.25_160_quantized.tflite का इस्तेमाल करने का एक उदाहरण दिया गया है:
उदाहरण में दिखाया गया है कि Android Studio, मॉडल के साथ इंटरैक्ट करने के लिए MobilenetV1025160Quantized नाम की एक क्लास बनाता है.
अगर मॉडल में मेटाडेटा नहीं है, तो इस स्क्रीन पर सिर्फ़ सामान्य जानकारी दिखेगी.
पहले से मालूम समस्याएं और उन्हें हल करने के तरीके
- फ़िलहाल, इमेज क्लासिफ़िकेशन और स्टाइल ट्रांसफ़र के अलावा, अन्य समस्याओं के लिए TensorFlow लाइट मॉडल का इस्तेमाल सीमित तौर पर किया जा सकता है. हालांकि, इंपोर्ट ठीक से काम करना चाहिए, लेकिन कुछ मॉडल इनपुट और/या आउटपुट को फ़्रेंडली टाइप के बजाय TensorBuffers के तौर पर दिखाया जाता है. मेटाडेटा के बिना वाले मॉडल के लिए, सभी मॉडल इनपुट और आउटपुट TensorBuffer होंगे.
- ऐसे मॉडल इस्तेमाल नहीं किए जा सकते जिनमें इनपुट और आउटपुट डेटा टाइप,
DataType.UINT8याDataType.FLOAT32से अलग हों.
इस सुविधा पर अब भी काम चल रहा है. इसलिए, कृपया सुझाव/राय दें या गड़बड़ियों की शिकायत करें.
नेटिव मेमोरी प्रोफ़ाइलर
Android Studio के Memory Profiler में अब Native Memory Profiler शामिल है. इसका इस्तेमाल, 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 का इस्तेमाल करने वाले प्रोजेक्ट के लिए, आईडीई गटर में कार्रवाइयां करने की सुविधा देता है. इससे आपको Dagger के एनोटेशन वाले कोड के बीच नेविगेट करने में मदद मिलती है. उदाहरण के लिए,
पर क्लिक करने से, आपको उस टाइप के प्रोवाइडर पर ले जाया जाता है. इसके उलट,
गटर ऐक्शन पर क्लिक करने से, आपको उस जगह पर ले जाया जाता है जहां किसी टाइप का इस्तेमाल डिपेंडेंसी के तौर पर किया जाता है. -
Find Usages नोड: किसी दिए गए टाइप के प्रोवाइडर पर Find Usages को लागू करने पर, Find विंडो में अब Dependency consumer(s नोड शामिल होता है. यह नोड, उस टाइप के उपभोक्ताओं की सूची दिखाता है. इसके उलट, Dagger की मदद से इंजेक्ट की गई डिपेंडेंसी के किसी उपभोक्ता पर यह कार्रवाई करने से, ढूंढें विंडो में आपको उस डिपेंडेंसी का प्रोवाइडर दिखता है.
मटीरियल डिज़ाइन कॉम्पोनेंट: नए प्रोजेक्ट टेंप्लेट में थीम और स्टाइल अपडेट की गई हैं

नया प्रोजेक्ट बनाएं डायलॉग बॉक्स में मौजूद Android Studio के टेंप्लेट अब मटीरियल डिज़ाइन कॉम्पोनेंट (MDC) का इस्तेमाल करते हैं. साथ ही, ये डिफ़ॉल्ट रूप से थीम और स्टाइल के लिए अपडेट किए गए दिशा-निर्देशों का पालन करते हैं. अपडेट में ये शामिल हैं:
-
एमडीसी: प्रोजेक्ट,
build.gradleमें मौजूदcom.google.android.material:materialपर निर्भर करते हैं. ऐप्लिकेशन की बेस थीम,Theme.MaterialComponents.*पैरंट का इस्तेमाल करती हैं. साथ ही, अपडेट किए गए एमडीसी कलर और “ऑन” एट्रिब्यूट को बदल देती हैं. -
कलर रिसॉर्स:
colors.xmlमें कलर रिसॉर्स, लिटरल नामों का इस्तेमाल करते हैं. उदाहरण के लिए,colorPrimaryके बजायpurple_500. -
थीम के संसाधन: थीम के संसाधन
themes.xmlमें होते हैं, न किstyles.xmlमें. साथ ही, इनमेंTheme.<var>नामों का इस्तेमाल किया जाता है.<var> -
गहरे रंग वाली थीम: ऐप्लिकेशन की मुख्य थीम,
DayNightका इस्तेमाल करती हैं. इन्हेंres/valuesऔरres/values-nightके बीच बांटा जाता है. -
थीम एट्रिब्यूट: लेआउट और स्टाइल में, कलर रिसॉर्स को थीम एट्रिब्यूट (उदाहरण के लिए,
?attr/colorPrimary) के तौर पर रेफ़र किया जाता है, ताकि हार्ड-कोड किए गए रंगों से बचा जा सके.
IntelliJ IDEA 2020.1
Android Studio IDE के मुख्य हिस्से को IntelliJ IDEA के 2020.1 वर्शन के साथ अपडेट किया गया है. इसमें कई सुधार किए गए हैं. जैसे, नई Commit विंडो. इससे वर्शन कंट्रोल के ऑपरेशन किए जा सकते हैं. साथ ही, इसमें नया ज़ेन मोड भी है. इसे टॉगल किया जा सकता है. इसके लिए, View > Appearance > Enter Distraction Free Mode को चुनें.
वर्शन 2020.1 में किए गए सुधारों के बारे में ज़्यादा जानने के लिए, IDEA 2020.1 पर जाएं.
IDE के कॉन्फ़िगरेशन डायरेक्ट्री में बदलाव
उपयोगकर्ता कॉन्फ़िगरेशन डायरेक्ट्री की जगहें बदलकर ये कर दी गई हैं:
Windows
सिंटैक्स: %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 अब आपको कस्टम व्यू की झलक दिखाता है. टूलबार में मौजूद ड्रॉपडाउन मेन्यू का इस्तेमाल करके, कई कस्टम व्यू के बीच स्विच करें. इसके अलावा, कॉन्टेंट को वर्टिकल या हॉरिज़ॉन्टल तौर पर रैप करने के लिए, बटन पर क्लिक करें.

ध्यान दें: अगर आपको झलक में बदलाव नहीं दिखते हैं, तो मेन्यू बार में जाकर बनाएं > प्रोजेक्ट बनाएं को चुनें.
नेटिव क्रैश रिपोर्ट के लिए सिंबोलाइज़ेशन
नेटिव कोड में क्रैश या एएनआर होने पर, सिस्टम एक स्टैक ट्रेस बनाता है. यह नेस्ट किए गए उन फ़ंक्शन के क्रम का स्नैपशॉट होता है जो क्रैश होने के समय तक आपके प्रोग्राम में इस्तेमाल किए जा रहे थे. ये स्नैपशॉट, सोर्स कोड में मौजूद किसी भी समस्या का पता लगाने और उसे ठीक करने में आपकी मदद कर सकते हैं. हालांकि, मशीन के पते को ऐसे फ़ंक्शन के नाम में बदलने के लिए, जिन्हें लोग पढ़ सकते हैं, पहले इन्हें सिंबोलाइज़ करना ज़रूरी है.
अगर आपके ऐप्लिकेशन या गेम को C++ जैसे नेटिव कोड का इस्तेमाल करके बनाया गया है, तो अब Play Console में अपने ऐप्लिकेशन के हर वर्शन के लिए डीबग सिंबल वाली फ़ाइलें अपलोड की जा सकती हैं. Play Console, इन डीबग सिंबल वाली फ़ाइलों का इस्तेमाल करके आपके ऐप्लिकेशन के स्टैक ट्रेस को सिंबोलाइज़ करता है. इससे क्रैश और एएनआर का विश्लेषण करना आसान हो जाता है. डीबग सिंबल फ़ाइलें अपलोड करने का तरीका जानने के लिए, नेटिव क्रैश के लिए सहायता लेख पढ़ें.
बदलाव लागू करें
आपके ऐप्लिकेशन को बेहतर बनाने के लिए, हमने Android 11 डेवलपर के लिए झलक 3 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, 'बदलाव लागू करें' सुविधा में ये सुधार किए हैं:
तेज़ी से डिप्लॉय करने की सुविधा
हमने आपके ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए काफ़ी निवेश किया है. इसके लिए, हमने एक ऐसा तरीका तैयार किया है जिससे ऐप्लिकेशन को इंस्टॉल किए बिना ही, डिवाइस पर बदलावों को लागू किया जा सकता है और उन्हें सेव किया जा सकता है.
शुरुआती डिप्लॉयमेंट के बाद, Android 11 डिवाइसों पर कोड में किए गए बदलाव लागू करें
या बदलाव लागू करें और गतिविधि फिर से शुरू करें
का इस्तेमाल करके, डिप्लॉयमेंट अब काफ़ी तेज़ी से होते हैं.
इन दोनों कार्रवाइयों के बीच के अंतर के बारे में ज़्यादा जानने के लिए, बदलाव लागू करें लेख पढ़ें.
कोड में अन्य बदलावों के लिए सहायता
Android 11 डेवलपर के लिए झलक 3 या इसके बाद के वर्शन पर चलने वाले डिवाइसों के लिए, अब आपके पास तरीके जोड़ने का विकल्प है. इसके बाद, कोड में किए गए बदलाव लागू करें
या बदलाव लागू करें और ऐक्टिविटी फिर से शुरू करें
पर क्लिक करके, उन बदलावों को अपने चालू ऐप्लिकेशन पर डिप्लॉय किया जा सकता है.