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 बंडल की सुविधा उपलब्ध है. चलाने के लिए नए बंडल किए गए JDK का इस्तेमाल करते समय Gradle, तो इसकी वजह से जेवीएम की परफ़ॉर्मेंस पर असर पड़ सकता है या साथ काम नहीं कर सकता कचरा इकट्ठा करने वाले टूल में बदलाव किए जाने की वजह से. इन समस्याओं के बारे में इसमें बताया गया है: AGP के रिलीज़ नोट्स.

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

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

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

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

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

डीबी इंस्पेक्टर एडिटर

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

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

ऑफ़लाइन मोड

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

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

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

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

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

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

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

Upgrade Assistant की मदद से किए जाने वाले बदलावों की झलक

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

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

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

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

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

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

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

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

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

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

लेआउट इंस्पेक्टर की नई रीफ़्रेश ऐक्शन

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

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

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

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

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

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

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

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

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

कई डिवाइसों पर डिप्लॉय करें

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

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

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

  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.

वैकल्पिक हल के तौर पर, 1.5.0-release-764 को 1.5.0 से बदलें प्रोजेक्ट की build.gradle फ़ाइलों में.

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

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 के इस्तेमाल किए जाने वाले गै़रबेज कलेक्टर के साथ काम कर सकें. अगर यह प्रोसेस काम नहीं करती, तो हो सकता है कि IDE उन कुछ उपयोगकर्ताओं के लिए शुरू न हो जो .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 नहीं खुलता लेख पढ़ें.