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 टास्क की सूची न बनाएं से चुने हुए का निशान हटाएं.
डेटाबेस की जांच करने वाला टूल
क्वेरी एडिटर में सुधार
डेटाबेस इंस्पेक्टर में कुछ सुधार किए गए हैं. इससे आपको कस्टम एसक्यूएल स्टेटमेंट लिखने और उन्हें लागू करने में मदद मिलेगी. जब इंस्पेक्टर खोला जाता है और नई क्वेरी टैब खोला जाता है, तो आपको क्वेरी लिखने और उन्हें फ़ॉर्मैट करने के लिए, नीचे दिखाए गए तरीके से बड़ा और साइज़ बदलने वाला एडिटर दिखेगा.
इसके अलावा, अब हम आपको पिछली क्वेरी का इतिहास भी दिखाते हैं. क्वेरी का इतिहास दिखाएं {: .inline-icon} बटन पर क्लिक करने पर, आपको उन क्वेरी की सूची दिखेगी जिन्हें आपने पहले, चुने गए डेटाबेस के लिए चलाया था. सूची में मौजूद किसी क्वेरी पर क्लिक करके, एडिटर में पूरी क्वेरी की झलक देखें. इसके बाद, एडिटर में क्वेरी कॉपी करने के लिए, Enter दबाएं. इसके बाद,
स्टेटमेंट को लागू करने के लिए, चलाएं पर क्लिक करें.
ऑफ़लाइन मोड
Android Studio के पिछले वर्शन में, Database Inspector का इस्तेमाल करते समय किसी ऐप्लिकेशन प्रोसेस से डिस्कनेक्ट करने पर, इंस्पेक्टर और उसका डेटा बंद हो जाता था. Android Studio 4.2 में, हमने एक ऐसी सुविधा जोड़ी है जिसकी मदद से प्रोसेस के बंद होने के बाद भी, अपने ऐप्लिकेशन के डेटाबेस की जांच की जा सकती है. इससे क्रैश होने के बाद, अपने ऐप्लिकेशन को डीबग करना आसान हो जाता है.
कनेक्शन बंद होने पर, डेटाबेस इंस्पेक्टर आपके डेटाबेस डाउनलोड करता है. इसके बाद, उन्हें ऑफ़लाइन मोड में आपके लिए उपलब्ध कराता है. ऑफ़लाइन होने पर, टेबल खोली जा सकती हैं और क्वेरी चलाई जा सकती हैं.
ध्यान रखें कि किसी लाइव ऐप्लिकेशन प्रोसेस से फिर से कनेक्ट करने पर, डेटाबेस इंस्पेक्टर लाइव मोड में वापस आ जाता है. साथ ही, आपको सिर्फ़ डिवाइस पर मौजूद डेटा दिखता है. इसका मतलब है कि, ऑफ़लाइन मोड में दिखाया गया डेटा, ऐप्लिकेशन प्रोसेस से फिर से कनेक्ट होने पर सेव नहीं होता. इस वजह से, ऑफ़लाइन मोड में Database Inspector, बदलाव करने या बदलाव करने वाले स्टेटमेंट चलाने की अनुमति नहीं देता.
AGP के लिए Assistant को अपग्रेड करना
Android Gradle प्लगिन के लिए उपलब्ध नई अपग्रेड असिस्टेंट की मदद से, अपने प्रोजेक्ट के लिए 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 देखें.
एक से ज़्यादा डिवाइसों पर डिप्लॉय करना
अलग-अलग डिवाइसों और एपीआई लेवल पर ऐप्लिकेशन की टेस्टिंग को आसान बनाने के लिए, अब एक साथ कई डिवाइसों या एम्युलेटर पर ऐप्लिकेशन को डिप्लॉय किया जा सकता है. इसके लिए, यह तरीका अपनाएं:
- टारगेट डिवाइस के ड्रॉपडाउन मेन्यू (आईडीई के सबसे ऊपर बीच में) में, एक से ज़्यादा डिवाइस चुनें को चुनें.
- टारगेट डिवाइस चुनें और ठीक है पर क्लिक करें.
- अपना ऐप्लिकेशन चलाएं.
फ़ीचर मॉड्यूल के लिए नई 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 शुरू नहीं होता लेख पढ़ें.