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 टास्क की सूची न बनाएं से सही का निशान हटाएं.

डेटाबेस जांचने वाला टूल

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

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

DB Inspector एडिटर

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

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

ऑफ़लाइन मोड

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

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

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

AGP के लिए अपग्रेड असिस्टेंट

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

इस्तेमाल करने के बारे में जानकारी के लिए, उपयोगकर्ता गाइड में 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, "1.5.0-release-764" वर्शन वाले Kotlin प्रोजेक्ट जनरेट करता है

अगर 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

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

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

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, अपग्रेड करने के बाद शुरू नहीं होता लेख देखें.