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 या उसके बाद के लेवल पर, View > टूल की विंडो > डेटाबेस इंस्पेक्टर चुनें.

ज़्यादा जानने के लिए, डेटाबेस इंस्पेक्टर की मदद से अपने डेटाबेस को डीबग करें लेख पढ़ें.

Android Emulator को सीधे Android Studio में चलाएं

अब Android Emulator को सीधे Android Studio में चलाया जा सकता है. इसका इस्तेमाल करें एम्युलेटर के बीच जल्दी से नेविगेट करने के लिए, स्क्रीन रीयल एस्टेट को संरक्षित करने की सुविधा अपने IDE और एम्युलेटर को व्यवस्थित करने के लिए, हॉटकी का इस्तेमाल करके एडिटर विंडो को वर्कफ़्लो को एक ऐप्लिकेशन विंडो में इस्तेमाल करने की सुविधा मिलती है.

एम्युलेटर, Android Studio में टूल विंडो में लॉन्च हो रहा है.

ज़्यादा जानने के लिए, यह देखें Android Emulator दस्तावेज़.

TensorFlow Lite मॉडल का इस्तेमाल करना

एमएल मॉडल बाइंडिंग की मदद से, .tflite मॉडल को सीधे तौर पर इंपोर्ट किया जा सकता है फ़ाइलें और अपने प्रोजेक्ट में उनका इस्तेमाल कर सकते हैं. Android Studio जनरेट करने में आसान है क्लास की मदद से, अपने मॉडल को कम कोड और बेहतर टाइप के साथ चलाया जा सकता है.

इस्तेमाल किए जा सकने वाले मॉडल

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

पहले से ट्रेन किए गए कई तरह के मॉडल, यहां मेटाडेटा के साथ दिए गए हैं TensorFlow हब. आपके पास TensorFlow Lite मॉडल में खुद भी मेटाडेटा जोड़ने का विकल्प है, जैसा कि यहां बताया गया है TensorFlow Lite मॉडल में मेटाडेटा जोड़ना.

कोई मॉडल फ़ाइल इंपोर्ट करें

काम करने वाली मॉडल फ़ाइल इंपोर्ट करने के लिए, यह तरीका अपनाएं:

  1. यहां मौजूद फ़ाइल मेन्यू में, TensorFlow Lite के मॉडल इंपोर्ट डायलॉग को खोलें फ़ाइल > नया > अन्य > TensorFlow Lite मॉडल.
  2. वह .tflite मॉडल फ़ाइल चुनें जिसे आपने पहले डाउनलोड किया या बनाया था.
  3. पूरा करें पर क्लिक करें.

ऐसा करने से, मॉडल फ़ाइल आपके प्रोजेक्ट में इंपोर्ट हो जाएगी और ml/ में सेव हो जाएगी फ़ोल्डर; अगर डायरेक्ट्री मौजूद नहीं है, तो Android Studio उसे आपके लिए बनाता है.

TensorFlow Lite का कोई मॉडल इंपोर्ट करना

मॉडल मेटाडेटा और इस्तेमाल के बारे में जानकारी देखना

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

  • मॉडल: मॉडल की हाई-लेवल जानकारी
  • टेंसर: इनपुट और आउटपुट टेंसर का ब्यौरा
  • सैंपल कोड: आपके ऐप्लिकेशन में मॉडल के साथ इंटरफ़ेस करने के तरीके का उदाहरण

यहां 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 को चला रहे हैं.

स्टैंडअलोन प्रोफ़ाइलर इस्तेमाल करने के बारे में निर्देशों के लिए, स्टैंडअलोन प्रोफ़ाइलर चलाएं देखें.

डैगर नेविगेशन की सुविधा

डैगर इस्तेमाल करने वालों और सेवा देने वाली कंपनियों तक नेविगेट करने के लिए, IDE गटर ऐक्शन

Android Studio की मदद से, डैगर से जुड़े कोड के बीच आसानी से नेविगेट किया जा सकता है गटर से जुड़ी नई कार्रवाइयां देकर और इस्तेमाल में सुधार विंडो.

  • गटर से जुड़ी नई कार्रवाइयां: डैगर का इस्तेमाल करने वाले प्रोजेक्ट के लिए, IDE गटर की सुविधा देता है ऐसी कार्रवाइयाँ जो आपके डैगर के एनोटेशन वाले कोड के बीच नेविगेट करने में आपकी मदद करती हैं. उदाहरण के लिए, पर क्लिक करके दिए गए टाइप का इस्तेमाल करने वाले तरीके के बगल में गटर की कार्रवाई, आपको इस पर ले जाएगी प्रोवाइडर है. इसके उलट, पर क्लिक करके गटर ऐक्शन आपको उस जगह पर ले जाता है जहां किसी टाइप का इस्तेमाल डिपेंडेंसी के तौर पर किया जाता है.

  • इस्तेमाल करने का नोड ढूंढना: जब आप किसी सेवा देने वाली कंपनी पर इस्तेमाल ढूंढें शुरू करते हैं टाइप है, तो ढूंढें विंडो में अब एक डिपेंडेंसी उपभोक्ता नोड शामिल होता है, जो उस प्रकार के उपभोक्ताओं की सूची बनाता है. इसके उलट, किसी उपभोक्ता पर यह कार्रवाई करना डैगर-इंजेक्टेड डिपेंडेंसी के लिए, ढूंढें विंडो का इस्तेमाल करके, उस निर्भरता को कम नहीं किया जा सकता.

मटीरियल डिज़ाइन कॉम्पोनेंट: नए प्रोजेक्ट टेंप्लेट में थीम और स्टाइल को अपडेट किया गया

ऐनिमेशन: Android Studio में मटीरियल डिज़ाइन से जुड़ी नई प्रॉपर्टी का इस्तेमाल करके प्रोजेक्ट बनाना.

नया प्रोजेक्ट बनाएं डायलॉग में अब Android Studio के टेंप्लेट का इस्तेमाल किया जा सकता है मटीरियल डिज़ाइन कॉम्पोनेंट (एमडीसी) और अपडेट किए गए प्रॉडक्ट के मुताबिक डिफ़ॉल्ट रूप से थीम और स्टाइल के लिए दिशा-निर्देश. अपडेट में ये शामिल हैं:

  • एमडीसी: प्रोजेक्ट, com.google.android.material:material पर निर्भर करते हैं build.gradle में. बुनियादी ऐप्लिकेशन में Theme.MaterialComponents.* का इस्तेमाल किया जाता है पैरंट और अपडेट किए गए एमडीसी रंग और “चालू” एट्रिब्यूट को बदलें.

  • रंग से जुड़े संसाधन: colors.xml में रंग से जुड़े संसाधन इस्तेमाल किए जाते हैं स्थायी नाम (उदाहरण के लिए, के बजाय purple_500 colorPrimary) के साथ काम करता है.

  • थीम से जुड़े संसाधन: थीम के संसाधन themes.xml में उपलब्ध हैं (styles.xml के बजाय) Theme.<var><var> नामों का इस्तेमाल करें.

  • गहरे रंग वाली थीम: बेस ऐप्लिकेशन थीम में DayNight का इस्तेमाल किया जाता है पैरंट हैं. साथ ही, ये res/values और res/values-night के बीच बंटे हुए हैं.

  • थीम एट्रिब्यूट: रंग से जुड़े संसाधनों का रेफ़रंस थीम के तौर पर दिया जाता है एट्रिब्यूट (उदाहरण के लिए, ?attr/colorPrimary) लेआउट और स्टाइल का इस्तेमाल करें, ताकि हार्ड कोड किए गए कलर से बचा जा सके.

IntelliJ IDEA 2020.1

Android Studio के मुख्य आईडीई को इन सुधारों के साथ अपडेट किया गया है IntelliJ IDEA को 2020.1 में रिलीज़ किया गया. इसमें एक नई Commit विंडो भी शामिल है इसकी मदद से वर्शन कंट्रोल की कार्रवाइयां की जा सकती हैं. साथ ही, नया ज़ेन मोड चालू किया जा सकता है, जिसे टॉगल किया जा सकता है देखें > थीम > डिस्ट्रैक्शन फ़्री मोड चालू करें.

वर्शन 2020.1 में हुए सुधारों के बारे में ज़्यादा जानने के लिए, यहां देखें IDEA 2020.1.

IDE कॉन्फ़िगरेशन डायरेक्ट्री में किए गए बदलाव

उपयोगकर्ता कॉन्फ़िगरेशन डायरेक्ट्री की जगह को बदलकर फ़ॉलो किया जा रहा है:

विंडो

सिंटैक्स: %APPDATA%\Google&lt;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

ये नई निर्देशिका स्थान इसके साथ संगत हैं InteliJ IDEA के हाल ही में हुए अपडेट, वह आईडीई जिस पर Android Studio आधारित है.

अगर अपग्रेड करने के बाद भी Studio रीस्टार्ट नहीं होता है, तो आपको Studio के पुराने वर्शन की कॉन्फ़िगरेशन डायरेक्ट्री. ज़्यादा जानकारी के लिए, जानी-पहचानी समस्याओं वाला पेज हमारा वीडियो देखें.

Kotlin 1.3.72

Android Studio 4.1 में Kotlin 1.3.72 शामिल है, जिसमें कई समस्याएं ठीक की गई हैं Kotlin की मदद से हाइलाइट करने, जांच करने, और कोड पूरा करने के तरीके को बेहतर बनाया जा सकता है. चेक आउट करने का समय ज़्यादा जानकारी के लिए, 1.3.72 Kotlin चेंजलॉग.

कस्टम व्यू की झलक

कस्टम दृश्य बनाते समय (उदाहरण के लिए, View या Button क्लास), Android Studio अब आपको आपकी पसंद के मुताबिक बनाए गए व्यू की झलक दिखाता है. ड्रॉपडाउन का इस्तेमाल करना एक से ज़्यादा कस्टम व्यू के बीच स्विच करने के लिए टूलबार में मेन्यू या लंबवत या क्षैतिज रूप से रैप करने के लिए बटन.

IDE में कस्टम व्यू की झलक देखें.

ध्यान दें: अगर आपको झलक में अपने बदलाव नहीं दिखते हैं, तो बिल्ड > चुनें मेन्यू बार में जाकर प्रोजेक्ट बनाएं.

नेटिव क्रैश रिपोर्ट को सिंबल के तौर पर दिखाना

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

अगर आपके ऐप्लिकेशन या गेम को C++ जैसे नेटिव कोड का इस्तेमाल करके बनाया गया है, तो अब डीबग सिंबल वाली फ़ाइलों को Play Console में जोड़ सकता है. द प्ले Console, आपके ऐप्लिकेशन के स्टैक ट्रेस को सिम्बॉलिकेट करने के लिए, इन डीबग सिंबल फ़ाइलों का इस्तेमाल करता है, इससे क्रैश और ANR वाली गड़बड़ियों का विश्लेषण करना आसान हो जाता है. डीबग करने का तरीका जानने के लिए सिंबल वाली फ़ाइलें, नेटिव क्रैश देखें सहायता पर जाएं.

बदलाव लागू करें

अपने ऐप्लिकेशन को बेहतर तरीके से इस्तेमाल करने के लिए, हमने चल रहे डिवाइस पर बदलाव लागू करने के लिए निम्न संशोधन Android 11 Developer Preview 3 या उसके बाद वाला वर्शन:

डिप्लॉयमेंट की तेज़ स्पीड

हमने एक ऐसा तरीका डेवलप करके, आपकी इटरेशन की स्पीड को ऑप्टिमाइज़ करने के लिए भारी निवेश किया है का इस्तेमाल करें. शुरुआती डिप्लॉयमेंट के बाद, इन्हें Android 11 डिवाइसों पर डिप्लॉय किया जाता है कोड में बदलाव लागू करें विकल्प का इस्तेमाल करके &#39;कोड में बदलाव लागू करें&#39; आइकॉन या बदलाव लागू करें और गतिविधि रीस्टार्ट करें &#39;बदलावों को लागू करें और गतिविधि को रीस्टार्ट करें&#39; आइकॉन अब काफ़ी तेज़ हो गए हैं.

इन दोनों कार्रवाइयों के बीच के अंतर के बारे में ज़्यादा जानने के लिए, देखें बदलाव लागू करें.

अतिरिक्त कोड बदलावों के लिए सहायता

Android 11 के डेवलपर झलक 3 या उसके बाद के वर्शन वाले डिवाइसों के लिए, आपको अब तरीके जोड़ सकते हैं और फिर उन बदलावों को अपने मौजूदा ऐप्लिकेशन पर डिप्लॉय कर सकते हैं कोड में बदलाव लागू करें पर क्लिक करके &#39;कोड में बदलाव लागू करें&#39; आइकॉन या बदलाव लागू करें और गतिविधि रीस्टार्ट करें &#39;बदलावों को लागू करें और गतिविधि को रीस्टार्ट करें&#39; आइकॉन.