Android Studio 4.2 (अप्रैल 2021)

Android Studio 4.2 एक मुख्य रिलीज़ है. इसमें कई नई सुविधाएं और सुधार शामिल हैं.

4.2.2 (जून 2021)

इस छोटे अपडेट में कई गड़बड़ियां ठीक की गई हैं. जिन अहम गड़बड़ियों को ठीक किया गया है उनकी सूची देखने के लिए, रिलीज़ अपडेट ब्लॉग पर इससे जुड़ी पोस्ट पढ़ें.

4.2.1 (मई 2021)

इस छोटे अपडेट में, Kotlin प्लगिन 1.5.0 बंडल किया गया है. साथ ही, इसमें कई गड़बड़ियां ठीक की गई हैं. जिन अहम गड़बड़ियों को ठीक किया गया है उनकी सूची देखने के लिए, रिलीज़ अपडेट ब्लॉग पर इससे जुड़ी पोस्ट पढ़ें.

Android Gradle प्लगिन 4.2.0

Android Gradle प्लगिन के नए वर्शन में कई अपडेट शामिल हैं. ज़्यादा जानने के लिए, Android Gradle प्लगिन की रिलीज़ से जुड़ी पूरी जानकारी पढ़ें.

Gradle के साथ काम करने की सुविधा और कॉन्फ़िगरेशन में बदलाव

Android Studio में चलाने पर, Gradle बिल्ड टूल, Studio के बंडल किए गए JDK का इस्तेमाल करता है. पिछली रिलीज़ में, JDK 8 को Studio के साथ बंडल किया गया था. हालांकि, 4.2 में अब JDK 11 को बंडल किया गया है. Gradle को चलाने के लिए, बंडल किए गए नए JDK का इस्तेमाल करने पर, हो सकता है कि कुछ समस्याएं आएं या कचरा इकट्ठा करने वाले प्रोग्राम में बदलाव की वजह से, JVM की परफ़ॉर्मेंस पर असर पड़े. इन समस्याओं के बारे में AGP के रिलीज़ नोट में बताया गया है.

Gradle सिंक करने में लगने वाले समय को ऑप्टिमाइज़ करने का विकल्प

Gradle सिंक की परफ़ॉर्मेंस को बेहतर बनाने के लिए, Android Studio सिंक के दौरान टास्क की सूची नहीं बनाता है. इससे Gradle सिंक की प्रोसेस तेज़ी से पूरी होती है. साथ ही, बहुत बड़े प्रोजेक्ट के लिए यूज़र इंटरफ़ेस (यूआई) की रिस्पॉन्सिवनेस बेहतर होती है. Android Studio 4.2 में, यह विकल्प डिफ़ॉल्ट रूप से चालू होता है. इसे बंद करने के लिए, फ़ाइल > सेटिंग > एक्सपेरिमेंटल (Mac पर प्राथमिकताएं > एक्सपेरिमेंटल) पर जाएं. इसके बाद, Gradle सिंक के दौरान Gradle टास्क की सूची न बनाएं से चुने हुए का निशान हटाएं.

डेटाबेस इंस्पेक्टर

क्वेरी एडिटर में सुधार

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

DB Inspector एडिटर

इसके अलावा, अब हम आपको पिछली क्वेरी का इतिहास भी दिखाते हैं. क्वेरी का इतिहास दिखाएं क्वेरी का इतिहास दिखाने वाला बटन{: .inline-icon} बटन पर क्लिक करने पर, आपको उन क्वेरी की सूची दिखेगी जिन्हें आपने पहले, फ़िलहाल चुने गए डेटाबेस के ख़िलाफ़ चलाया था. एडिटर में पूरी क्वेरी की झलक देखने के लिए, सूची में मौजूद किसी क्वेरी पर क्लिक करें. इसके बाद, एडिटर में क्वेरी कॉपी करने के लिए, Enter दबाएं. इसके बाद, स्टेटमेंट को लागू करने के लिए Run पर क्लिक करें.

क्वेरी एडिटर में कमांड चलाना

ऑफ़लाइन मोड

Android Studio के पिछले वर्शन में, Database Inspector का इस्तेमाल करते समय किसी ऐप्लिकेशन प्रोसेस से डिस्कनेक्ट करने पर, इंस्पेक्टर और उसका डेटा बंद हो जाता था. Android Studio 4.2 में, हमने प्रोसेस के बंद होने के बाद भी आपके ऐप्लिकेशन के डेटाबेस की जांच करने की सुविधा जोड़ी है. इससे क्रैश होने के बाद, आपके ऐप्लिकेशन को डीबग करना आसान हो जाता है.

कनेक्शन बंद होने पर, डेटाबेस इंस्पेक्टर आपके डेटाबेस डाउनलोड करता है. इसके बाद, उन्हें ऑफ़लाइन मोड में आपके लिए उपलब्ध कराता है. ऑफ़लाइन होने पर, टेबल खोली जा सकती हैं और क्वेरी चलाई जा सकती हैं.

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

AGP के लिए Assistant को अपग्रेड करना

Android Gradle प्लगिन के लिए उपलब्ध नया अपग्रेड असिस्टेंट, आपके प्रोजेक्ट के लिए AGP वर्शन को अपडेट करने में आपकी मदद कर सकता है.

Android Gradle प्लगिन अपग्रेड असिस्टेंट डायलॉग

यह टूल, AGP अपग्रेड करने की मौजूदा सुविधा पर आधारित है. यह आपको पूरे प्रोजेक्ट में अपडेट/रीफ़ैक्टरिंग के बारे में जानकारी देता है. साथ ही, इसमें अपडेट की झलक भी शामिल होती है, ताकि AGP अपग्रेड करने से पहले संभावित बड़े बदलावों को रोका जा सके.

अपग्रेड असिस्टेंट की मदद से किए जाने वाले बदलावों की झलक

सिस्टम ट्रेस: मेमोरी और ग्राफ़िक के लिए बेहतर मेट्रिक

सीपीयू प्रोफ़ाइलर में, सिस्टम ट्रेस सुविधा में अब ऐप्लिकेशन की परफ़ॉर्मेंस का विश्लेषण करने के लिए नई मेट्रिक शामिल हैं. इनमें ये शामिल हैं:

  • इवेंट की टेबल. इससे, फ़िलहाल चुनी गई थ्रेड में मौजूद सभी ट्रेस इवेंट की सूची दिखती है.

  • BufferQueue. डिसप्ले सेक्शन में, यह नया ट्रैक ऐप्लिकेशन के BufferQueue (0, 1 या 2) के बफ़र की संख्या दिखाता है. इससे आपको इमेज बफ़र की स्थिति समझने में मदद मिलती है, क्योंकि ये Android ग्राफ़िक्स कॉम्पोनेंट के बीच ट्रांसफ़र होते हैं.

    सिस्टम ट्रेस बफ़र सूची

  • सीपीयू की फ़्रीक्वेंसी. सीपीयू कोर सेक्शन में, यह नया ट्रैक हर कोर के हिसाब से सीपीयू फ़्रीक्वेंसी दिखाता है. इससे पता चलता है कि हर कोर कितनी मेहनत से काम कर रही है.

    सिस्टम ट्रेस करने वाले टूल की मदद से सीपीयू की फ़्रीक्वेंसी का पता लगाना

  • प्रोसेस मेमोरी (आरएसएस). इस नई विंडो में, ऐप्लिकेशन के ज़रिए फ़िलहाल इस्तेमाल की जा रही फ़िज़िकल मेमोरी की जानकारी दिखती है.

    सिस्टम ट्रेस करने की प्रोसेस के लिए मेमोरी (आरएसएस)

ज़्यादा जानकारी के लिए, सीपीयू प्रोफ़ाइलर की मदद से सीपीयू की गतिविधि की जांच करना लेख पढ़ें.

लेआउट इंस्पेक्टर को रीफ़्रेश करने की नई सुविधा

Android Studio 4.0 में पेश किया गया Layout Inspector, आपके चालू ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) स्टैक की रीयल-टाइम में जांच करने के लिए डिज़ाइन किया गया था. हालांकि, ऐसा हो सकता है कि आपको हमेशा लेआउट इंस्पेक्टर में, ऐप्लिकेशन में हो रहे बदलाव तुरंत न दिखें. ऐसा इसलिए, क्योंकि हो सकता है कि आपको किसी खास समय पर अपने ऐप्लिकेशन के लेआउट का स्नैपशॉट देखना हो या ऐप्लिकेशन पर लाइव अपडेट की वजह से परफ़ॉर्मेंस पर पड़ने वाले असर को कम करना हो.

अपने ऐप्लिकेशन से यूज़र इंटरफ़ेस (यूआई) डेटा का स्नैपशॉट मैन्युअल तरीके से लोड करने के लिए, सबसे पहले लाइव अपडेट विकल्प बंद करें. इसके बाद, जांच के लिए यूज़र इंटरफ़ेस स्टैक का नया स्नैपशॉट लेने के लिए, रीफ़्रेश करें {:.inline-icon} बटन पर क्लिक करें. लेआउट इंस्पेक्टर अब आपकी प्राथमिकता को याद रखता है. इससे सेशन के बीच, लाइव अपडेट चालू या बंद रखने में मदद मिलती है.

Safe Args के लिए सहायता

Safe Args एक Gradle प्लग इन है. यह टाइप से सुरक्षित नेविगेशन और जुड़े आर्ग्युमेंट के ऐक्सेस के लिए, आसान ऑब्जेक्ट और बिल्डर क्लास जनरेट करता है. Android Studio में अब Safe Args के साथ काम करते समय, ज़्यादा बेहतर तरीके से मदद मिलती है. इसके बारे में यहां बताया गया है:

  • निर्देशों, आर्ग्युमेंट, और बिल्डर क्लास के लिए ऑटोकंप्लीट की सुविधा
  • Java और Kotlin, दोनों के लिए सेफ़ आर्ग प्लगिन के साथ काम करता है
  • सोर्स से एक्सएमएल पर नेविगेट करना

R8 retrace अब कमांड-लाइन टूल में उपलब्ध है

कमांड-लाइन टूल के 4.0 वर्शन में उपलब्ध R8 retrace, एक स्टैंडअलोन टूल है. इसका इस्तेमाल, अस्पष्ट किए गए स्टैक ट्रेस से ओरिजनल स्टैक ट्रेस पाने के लिए किया जाता है.

इस पैकेज को एसडीके मैनेजर की मदद से डाउनलोड किया जा सकता है. यह android_sdk/cmdline-tools में R8 retrace इंस्टॉल करता है. इसके अलावा, कमांड-लाइन टूल का स्टैंडअलोन पैकेज डाउनलोड किया जा सकता है.

इस्तेमाल से जुड़ी जानकारी के लिए, उपयोगकर्ता गाइड में R8 retrace देखें.

एक से ज़्यादा डिवाइसों पर डिप्लॉय करना

अलग-अलग डिवाइसों और एपीआई लेवल पर ऐप्लिकेशन की टेस्टिंग को आसान बनाने के लिए, अब एक साथ कई डिवाइसों या एम्युलेटर पर ऐप्लिकेशन को डिप्लॉय किया जा सकता है. इसके लिए, यह तरीका अपनाएं:

  1. टारगेट डिवाइस के ड्रॉपडाउन मेन्यू (आईडीई के सबसे ऊपर बीच में) में जाकर, एक से ज़्यादा डिवाइस चुनें विकल्प चुनें.

    टारगेट डिवाइस ड्रॉपडाउन

  2. टारगेट डिवाइस चुनें और ठीक है पर क्लिक करें.

    डिवाइस सेट के डायलॉग में बदलाव करना

  3. अपना ऐप्लिकेशन चलाएं.

फ़ीचर मॉड्यूल के लिए नई removable सेटिंग

Android Gradle प्लगिन 4.2, bundletool 1.0.0 का इस्तेमाल करता है. इससे फ़ीचर मॉड्यूल का इस्तेमाल करने वाले ऐप्लिकेशन के व्यवहार में बदलाव होता है: dist:install-time के तौर पर तय किया गया कोई भी फ़ीचर मॉड्यूल, जिसे साफ़ तौर पर dist:removable के तौर पर मार्क नहीं किया गया है वह डिफ़ॉल्ट रूप से हटाया नहीं जा सकेगा. इस नई सेटिंग से, इंस्टॉल-टाइम मॉड्यूल को बेस मॉड्यूल के साथ फ़्यूज़ करने की प्रोसेस ऑप्टिमाइज़ हो जाती है. इससे कुछ ऐप्लिकेशन की परफ़ॉर्मेंस बेहतर हो सकती है.

फ़ीचर मॉड्यूल को हटाने की सुविधा चालू रखने के लिए, उस मॉड्यूल पर dist:removable="true" सेट करें जिसे आपको अनइंस्टॉल करना है.

इस नई सेटिंग के बारे में ज़्यादा जानने के लिए, फ़ीचर मॉड्यूल मेनिफ़ेस्ट के दस्तावेज़ में dist:removable टैग का दस्तावेज़ देखें.

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

आपके ऐप्लिकेशन को बेहतर बनाने के लिए, हमने Android 11 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, 'बदलाव लागू करें' सुविधा में ये सुधार किए हैं:

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

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

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

'नया प्रोजेक्ट' और 'नया मॉड्यूल' विज़र्ड को अपडेट किया गया

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

नया मॉड्यूल विज़र्ड से, .JAR/.AAR पैकेज इंपोर्ट करें विकल्प भी हटा दिया गया है. अपने प्रोजेक्ट में JAR या AAR इंपोर्ट करने के लिए, प्रोजेक्ट स्ट्रक्चर डायलॉग का इस्तेमाल करें.

Kotlin 1.4.31

Android Studio 4.2 में Kotlin 1.4.31 बंडल किया गया है. मुख्य बदलावों की समीक्षा करने के लिए, Kotlin 1.4.0 का बदलाव लॉग देखें.

ANDROID_SDK_HOME एनवायरमेंट वैरिएबल अब काम नहीं करता

ANDROID_SDK_HOME एनवायरमेंट वैरिएबल के इस्तेमाल पर रोक लगा दी गई है. इसे ANDROID_PREFS_ROOT से बदल दिया गया है. ज़्यादा जानकारी के लिए, एम्युलेटर एनवायरमेंट वैरिएबल देखें.

Android Studio 4.2 से जुड़ी सामान्य समस्याएं

इस सेक्शन में, Android Studio 4.2 में मौजूद ज्ञात समस्याओं के बारे में बताया गया है. पूरी सूची देखने के लिए, पहचानी गई समस्याएं पेज पर जाएं.

Android Studio 4.2.0, Kotlin के गलत वर्शन "1.5.0-release-764" के साथ प्रोजेक्ट जनरेट करता है

अगर Android Studio 4.2.0 का इस्तेमाल किया जा रहा है और आपने Kotlin प्लगिन 1.5.0 पर अपग्रेड किया है, तो Studio से बनाए गए नए Kotlin प्रोजेक्ट, Gradle सिंक करने में गड़बड़ी की वजह से नहीं बन पाएंगे:

Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

इसके लिए, प्रोजेक्ट की build.gradle फ़ाइलों में 1.5.0-release-764 की जगह 1.5.0 लिखें.

कुंजी और कीस्टोर के लिए अलग-अलग पासवर्ड इस्तेमाल करने पर होने वाली गड़बड़ी

Android Studio का 4.2 वर्शन अब JDK 11 पर काम करता है. इस अपडेट से, हस्ताक्षर करने वाले कुंजियों से जुड़े बुनियादी व्यवहार में बदलाव होता है.

बनाएं > हस्ताक्षरित बंडल / APK जनरेट करें पर जाकर, ऐप्लिकेशन बंडल या APK के लिए ऐप्लिकेशन साइनिंग कॉन्फ़िगर करने की कोशिश करने पर, कुंजी और कीस्टोर के लिए अलग-अलग पासवर्ड डालने से, यह गड़बड़ी हो सकती है:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

इस समस्या को ठीक करने के लिए, कुंजी और कीस्टोर, दोनों के लिए एक ही पासवर्ड डालें.

Android Studio का 4.2 वर्शन इंस्टॉल करने के बाद, यह शुरू नहीं होता

Studio, पिछली .vmoptions फ़ाइलों को इंपोर्ट करने की कोशिश करता है. साथ ही, उन्हें JDK 11 के इस्तेमाल किए गए गार्बेज कलेक्टर के साथ काम करने के लिए सैनिटाइज़ करता है. अगर यह प्रोसेस पूरी नहीं होती है, तो हो सकता है कि आईडीई उन उपयोगकर्ताओं के लिए शुरू न हो जिन्होंने .vmoptions फ़ाइल में कस्टम वीएम विकल्प सेट किए हैं.

इस समस्या को ठीक करने के लिए, हमारा सुझाव है कि .vmoptions फ़ाइल में, कस्टम विकल्पों को # वर्ण का इस्तेमाल करके टिप्पणी के तौर पर मार्क करें. .vmoptions फ़ाइल इन जगहों पर मिल सकती है:

Windows

C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

अगर इस तरीके को आज़माने के बाद भी Studio शुरू नहीं होता है, तो यहां दिया गया अपग्रेड करने के बाद Studio शुरू नहीं होता लेख पढ़ें.