यह पेज, आम तौर पर होने वाली समस्याओं को ट्रैक करता है Android स्टूडियो कोआला फ़ीचर ड्रॉप और Android Gradle प्लग इन 8.6.0. अगर आपको कोई ऐसी समस्या आ रही है जो पहले से शामिल नहीं है तो कृपया गड़बड़ी की शिकायत करें.
झलक के लिए अपग्रेड करें: Android Studio और Android की हर रिलीज़ Gradle प्लग इन का मकसद स्थिरता और परफ़ॉर्मेंस को बेहतर बनाना और नई सुविधाएं जोड़ना है. आने वाली रिलीज़ के फ़ायदे अभी पाने के लिए, ऐप्लिकेशन डाउनलोड और इंस्टॉल करें Android Studio की झलक.
Android Studio से जुड़ी सामान्य समस्याएं
यह सेक्शन उन समस्याओं के बारे में बताता है जो सबसे नए स्टेबल वर्शन में मौजूद हैं Android Studio.
Firebase Assistant विंडो में गड़बड़ी का मैसेज दिख रहा है
अगर Firebase Assistant विंडो (टूल > मुख्य मेन्यू से Firebase) पर गड़बड़ी का मैसेज दिखता है, तो कैश मेमोरी को अमान्य करें और गड़बड़ी को ठीक करने के लिए Android Studio को रीस्टार्ट करें.
लेआउट इंस्पेक्टर का इस्तेमाल करके किसी व्यू को अलग नहीं किया जा सकता
एम्बेड किए गए व्यू का इस्तेमाल करके, किसी व्यू को अलग करने की सुविधा लेआउट इंस्पेक्टर सुविधा कुछ समय के लिए उपलब्ध नहीं है. हम आने वाले समय में रिलीज़ होने वाले वर्शन में इस समस्या को ठीक करने पर काम कर रहे हैं.
लेआउट इंस्पेक्टर का इस्तेमाल करके कंपोज़ नोड की जांच नहीं की जा सकती
अगर आपको पता चलता है कि इस्तेमाल करते समय, सभी कंपोज़ नोड की जांच नहीं की जा सकती लेआउट इंस्पेक्टर, ऐसा शायद किसी गड़बड़ी की वजह से है जिसे Compose के 1.5.0-alpha04 वाले वर्शन में ठीक किया गया है. अगर आपको समस्या हो रही है, तो इस समस्या में, कृपया Compose के 1.5.0-alpha04 वाले वर्शन में अपग्रेड करें या उच्च.
कंपोज़ की झलक को रेंडर करते समय गड़बड़ी हुई
Android Studio चिपमंक के साथ, अगर आपको Android Studio चिपमंक
java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner
या
समस्याओं वाले पैनल में java.lang.ClassNotFoundException: androidx.savedstate.R$id
,
एक debugImplementation
डिपेंडेंसी शामिल करना न भूलें, ताकि
androidx.lifecycle:lifecycle-viewmodel-savedstate
आपके मॉड्यूल में.
अगर आपकोjava.lang.NoSuchFieldError: view_tree_lifecycle_owner
समस्याओं का पैनल, पक्का करें कि आपने debugImplementation
डिपेंडेंसी शामिल की हो
androidx.lifecycle:lifecycle-runtime
आपके मॉड्यूल में.
अगर आपको java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainer
या
java.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener
समस्याओं वाले पैनल में, debugImplementation
डिपेंडेंसी शामिल करना न भूलें
androidx.customview:customview-poolingcontainer
आपके मॉड्यूल में.
की और कीस्टोर के लिए अलग-अलग पासवर्ड इस्तेमाल करते समय गड़बड़ी हुई
Android Studio 4.2 से, यह JDK 11 पर काम करता है. यह अपडेट की वजह से, साइनिंग पासकोड से जुड़ी क्वेरी के काम करने के तरीके में बदलाव आ सकता है.
बिल्ड > पर जाने पर, साइन किया हुआ बंडल / APK और ऐप्लिकेशन बंडल के लिए ऐप्लिकेशन साइनिंग को कॉन्फ़िगर करने की कोशिश करना या की और कीस्टोर के लिए अलग-अलग पासवर्ड डालने से निम्न गड़बड़ी:
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores
इस समस्या को हल करने के लिए, कुंजी और कीस्टोर पर क्लिक करें.
वर्शन 4.2 इंस्टॉल करने के बाद Android Studio शुरू नहीं होता है
Studio पिछले आइटम को इंपोर्ट करने की कोशिश करता है .vmoptions पर टैप करें और उन्हें कूड़ा इकट्ठा करने वाले उस डिवाइस के साथ काम करें जिसका इस्तेमाल किया जा रहा है जेडीके 11. अगर यह प्रोसेस पूरी नहीं होती है, तो हो सकता है कि .vmoptions फ़ाइल में कस्टम वर्चुअल मशीन (वीएम) के विकल्प सेट करने वाले कुछ उपयोगकर्ताओं के लिए, IDE शुरू न हो.
हमारा सुझाव है कि इस समस्या को हल करने के लिए, .vmoptions में मौजूद कस्टम विकल्पों को हटाएं. इसके लिए, “#” वर्ण का इस्तेमाल करें. .vmoptions फ़ाइल के लिए यह ज़रूरी है कि निम्न स्थानों में पाए जाते हैं:
Windows
C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions
macOS
~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions
Linux
~/.config/Google/AndroidStudio4.2/studio64.vmoptions
अगर यह तरीका आज़माने के बाद भी Studio शुरू नहीं होता, तो अपग्रेड होने के बाद Studio शुरू नहीं होता देखें देखें.
Android 11 एम्युलेटर पर, डेटाबेस इंस्पेक्टर क्रैश का इस्तेमाल करने वाले ऐप्लिकेशन
डेटाबेस इंस्पेक्टर का इस्तेमाल करने वाले ऐप्लिकेशन, Android 11 पर काम करते समय क्रैश हो सकते हैं एम्युलेटर, लॉगकैट में इस तरह की गड़बड़ी के साथ दिख रहा है:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
इस समस्या को ठीक करने के लिए, अपने Android 11 एम्युलेटर को इस तारीख तक अपग्रेड करें: 9 या उसके बाद वाले वर्शन टूल > पर जाएं एसडीके मैनेजर. एसडीके टूल टैब में जाकर, पैकेज की जानकारी दिखाएं लेबल वाला बॉक्स चुनें और इसके संशोधन 9 या उससे बाद के वर्शन को चुनें Android 11 एम्युलेटर के लिए उपलब्ध है.
अपग्रेड करने के बाद स्टूडियो का रुक जाना
अगर अपग्रेड करने के बाद भी Studio की प्रोसेस शुरू नहीं होती है, तो हो सकता है कि समस्या Android Studio का कॉन्फ़िगरेशन, Android Studio के पिछले वर्शन से इंपोर्ट किया गया या असंगत प्लग इन. समाधान के रूप में, के लिए बैकअप के लिए) नीचे दी गई डायरेक्ट्री, Android Studio के वर्शन के हिसाब से तय की गई है और Android Studio को फिर से शुरू करें. इससे Android रीसेट हो जाएगा Studio को उसकी डिफ़ॉल्ट स्थिति में ले जाएगा. इसमें तीसरे पक्ष के सभी प्लगिन हटा दिए गए हैं.
Android Studio 4.1 और उसके बाद के वर्शन के लिए:
Windows:
%APPDATA%\Google\AndroidStudio<version>
उदाहरण:C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1
macOS पर:
~/Library/Application Support/Google/AndroidStudio<version>
उदाहरण:~/Library/Application Support/Google/AndroidStudio4.1
Linux:
~/.config/Google/AndroidStudio<version>
और~/.local/share/Google/AndroidStudio<version>
उदाहरण:~/.config/Google/AndroidStudio4.1
और~/.local/share/Google/AndroidStudio4.1
Android Studio 4.0 और उससे पहले के वर्शन के लिए:
Windows:
%HOMEPATH%\.AndroidStudio<version>\config
उदाहरण:C:\Users\your_user_name\.AndroidStudio3.6\config
macOS पर:
~/Library/Preferences/AndroidStudio<version>
उदाहरण:~/Library/Preferences/AndroidStudio3.6
Linux:
~/.AndroidStudio<version>/config
उदाहरण:~/.AndroidStudio3.6/config
ध्यान दें कि Android की कैनरी और बीटा रिलीज़ के लिए कॉन्फ़िगरेशन डायरेक्ट्री
Studio के लिए X.Y
के बजाय PreviewX.Y
,
<version>
. उदाहरण के लिए, Android
Studio 4.1 कैनरी बिल्ड मेंAndroidStudioPreview4.1
रिलीज़ कैंडिडेट और स्टेबल के लिए इस्तेमाल की जाने वाली AndroidStudio4.1
डायरेक्ट्री
रिलीज़.
Kotlin मल्टीप्लैटफ़ॉर्म प्रोजेक्ट में कंपाइलेशन की समस्या
सिंबल मौजूद न होने की वजह से, Kotlin एमपीपी कोड में कंपाइलेशन की गड़बड़ियां हो सकती हैं. अपने Kotlin प्लगिन को वर्शन 1.4 पर अपग्रेड करने से इस समस्या का समाधान हो जाना चाहिए.
Linux पर कुंजी मैपिंग से जुड़े विवाद
Linux पर, कुछ कीबोर्ड शॉर्टकट डिफ़ॉल्ट Linux कीबोर्ड के साथ मेल नहीं खाते हैं KDE और GNOME जैसे लोकप्रिय विंडो मैनेजर के शॉर्टकट और उनके शॉर्टकट बनाए जा सकते हैं. ऐसा हो सकता है कि ये विरोधी कीबोर्ड शॉर्टकट Android Studio में उम्मीद के मुताबिक काम न करें.
इस समस्या के बारे में ज़्यादा जानकारी (इसमें संभावित समाधान शामिल हैं) मिल सकती है InteliJ के गड़बड़ी के ट्रैकर में.
ChromeOS पर छोटा यूज़र इंटरफ़ेस (यूआई) टेक्स्ट
ChromeOS पर, पिछली रिलीज़ के मुकाबले टेक्स्ट काफ़ी कम दिख सकता है. ऑफ़िस जाने के लिए इस समस्या को हल करने के लिए, ये काम करें:
- फ़ाइल > सेटिंग पर क्लिक करके, सेटिंग विंडो खोलें
- थीम और व्यवहार > थीम.
- पसंद के मुताबिक फ़ॉन्ट का इस्तेमाल करें को चुनें.
- फ़ॉन्ट का साइज़ बढ़ाएं.
- सेटिंग विंडो में, एडिटर > फ़ॉन्ट.
- फ़ॉन्ट का साइज़ बढ़ाएं.
- ठीक है पर क्लिक करें.
कोड में बदलाव करना
इस सेक्शन में, कोड एडिटर से जुड़ी आम समस्याओं के बारे में बताया गया है.
फ़्रीज़ किया गया कीबोर्ड इनपुट - "iBus" Linux में समस्याएं
Linux और Android Studio पर iBus डेमन के बीच कुछ इंटरैक्शन होते हैं. कुछ स्थितियों के हिसाब से, IDE कीबोर्ड इनपुट पर काम करना बंद कर देता है या इनपुट करना शुरू कर देता है रैंडम वर्ण. यह गड़बड़ी, iBus और XLib + AWT के बीच सिंक न होने की वजह से ट्रिगर होती है. इसकी शिकायत, JetBrains और iBus को पहले ही कर दी गई है. यहां हैं इस समस्या के तीन मौजूदा समाधान:
- समाधान 1: iBus को सिंक्रोनस मोड में ही ज़बरदस्ती चलाएं. Android प्रारंभ करने से पहले
स्टूडियो में, कमांड लाइन पर इन्हें चलाएं:
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
- समाधान 2: Android Studio में iBus इनपुट बंद करें. सिर्फ़ Android Studio के लिए iBus इनपुट को बंद करने के लिए, कमांड लाइन पर यह तरीका अपनाएं:
$ XMODIFIERS= ./bin/studio.sh
यह तरीका सिर्फ़ Android Studio के लिए इनपुट के तरीकों को बंद करता है, न कि किसी दूसरे ऐप्लिकेशन के लिए. ध्यान दें कि यदि आप Android Studio के चलने के दौरान डीमन (उदाहरण के लिए,ibus-daemon -rd
), तो आप सभी के लिए इनपुट के तरीकों को असरदार तरीके से बंद कर देते हैं साथ ही, Android Studio के JVM को सेगमेंटेशन गड़बड़ी. - तीसरा समाधान: शॉर्टकट बाइंडिंग की दोबारा जांच करके यह पक्का करें कि
अगला इनपुट शॉर्टकट, Control+Space पर सेट नहीं है, क्योंकि यह भी है
Android Studio में कोड पूरा करने का शॉर्टकट. Ubuntu 14.04 (भरोसेमंद)
Super+Space को डिफ़ॉल्ट शॉर्टकट बनाता है, लेकिन
वर्शन अब भी मौजूद हो सकते हैं. अपनी शॉर्टकट बाइंडिंग की जांच करने के लिए, चलाएं
IBus Preferences विंडो खोलने के लिए कमांड लाइन पर
ibus-setup
. कीबोर्ड शॉर्टकट में जाकर, इनपुट का अगला तरीका चुनें. अगर ऐसा है Control+Space पर सेट करें, इसे Super+Space में बदलें या इसका कोई अन्य शॉर्टकट आपका पसंदीदा विकल्प है.
प्रोजेक्ट कॉन्फ़िगरेशन
इस सेक्शन में, प्रोजेक्ट कॉन्फ़िगरेशन और Gradle के सिंक से जुड़ी समस्याओं के बारे में बताया गया है.
Gradle सिंक नहीं हो सका: ब्रोकन पाइप
समस्या यह है कि ग्रेडल डीमन, आईपीवी6 के बजाय आईपीवी4 का इस्तेमाल करने की कोशिश कर रहा है.
- समाधान 1: Linux पर, निम्न को अपने
~/.profile
में रखें या~/.bash_profile
:export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
- दूसरा तरीका: Android Studio के vmoptions में
फ़ाइल,
लाइन
-Djava.net.preferIPv4Addresses=true
को बदलकर यह करें-Djava.net.preferIPv6Addresses=true
ज़्यादा जानकारी के लिए, यह देखें नेटवर्किंग IPv6 उपयोगकर्ता गाइड.
"मिलते-जुलते ऐप्लिकेशन की पुष्टि नहीं हुई है" Gradle सिंक या SDK Manager से गड़बड़ियां
इन गड़बड़ियों का मूल कारण निम्न में प्रमाणपत्र मौजूद नहीं है
$JAVA_HOME/jre/lib/certificates/cacerts
. इन गड़बड़ियों को ठीक करने के लिए, आगे बढ़ें
इस तरह से:
- अगर आप प्रॉक्सी का इस्तेमाल कर रहे हैं, तो सीधे कनेक्ट करने की कोशिश करें. अगर डायरेक्ट
कनेक्शन काम करता है, तो प्रॉक्सी के माध्यम से कनेक्ट करने के लिए आपको
प्रॉक्सी सर्वर का सर्टिफ़िकेट, cacerts फ़ाइल में जोड़ने के लिए,
keytool
का इस्तेमाल करें. - काम करने वाले और बिना बदलाव किए गए JDK को फिर से इंस्टॉल करें. कई
आम समस्या
Ubuntu के उपयोगकर्ताओं पर असर डालता है, जिसकी वजह से खाली
/etc/ssl/certs/java/cacerts
. इस समस्या को हल करने के लिए, कमांड लाइन पर क्लिक करें:sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure
परिनियोजन
इस सेक्शन में, कनेक्ट किए गए डिवाइस पर ऐप्लिकेशन को डिप्लॉय करने से जुड़ी समस्याओं के बारे में बताया गया है.
[सिर्फ़ Mac OS के लिए] /System/Volumes/Data
में सेव किए गए प्रोजेक्ट के लिए, Gradle फ़ाइल देखने में कोई समस्या होने की वजह से, बढ़ोतरी वाले अपडेट लागू नहीं होंगे
Gradle की समस्या 18149, Android Gradle प्लग इन के 7.0 और उसके बाद के वर्शन पर असर डालती है. इसकी वजह यह है कि इन वर्शन के लिए, Gradle के 7.0 और उसके बाद के वर्शन की ज़रूरत होती है. Gradle 7.0 में, फ़ाइल देखने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
अगर आप Mac OS पर काम कर रहे हैं और आपका प्रोजेक्ट
/System/Volumes/Data
, Gradle फ़ाइल देखने की सुविधा, फ़ाइल में किए गए बदलावों को ठीक से ट्रैक नहीं करेगी.
इस वजह से, बिल्ड सिस्टम को फ़ाइल में हुए किसी भी बदलाव के बारे में पता नहीं चलेगा. इसलिए, वह APK को अपडेट नहीं करेगा. इसके बाद, इंक्रीमेंटल डिप्लॉयमेंट कोड
कुछ नहीं करना, क्योंकि लोकल APK की स्थिति वही है जो डिवाइस पर है.
इस समस्या को हल करने के लिए, आपको अपने प्रोजेक्ट की डायरेक्ट्री अपने उपयोगकर्ता को ट्रांसफ़र करनी होगी
डायरेक्ट्री, जो कि /Users/username
से कम है. ऐसा करने से, बिल्ड सिस्टम
Gradle फ़ाइल देखने और बढ़ोतरी के ज़रिए फ़ाइल में बदलाव के बारे में सही तरीके से सूचित किया गया
बदलाव लागू हो जाएंगे.
macOS High Sierra पर Android Emulator HAXM
Android Emulator चालू है macOS High Sierra (10.13) के लिए HAXM 6.2.1 या इसके बाद का वर्शन होना ज़रूरी है macOS के साथ काम करना और स्थिरता पाना. हालांकि, macOS 10.13 में HAXM जैसे कर्नेल एक्सटेंशन को इंस्टॉल करने की प्रोसेस शामिल है. आपको मैन्युअल तरीके से, कर्नेल एक्सटेंशन को इंस्टॉल करने की अनुमति देनी होगी. इसके लिए, यह तरीका अपनाएं:
- सबसे पहले, SDK मैनेजर से HAXM का नया वर्शन इंस्टॉल करें.
- MacOS में, System Preferences > पर जाएं सुरक्षा और निजता.
अगर आपको सूचना दिखती है कि डेवलपर "Intel Corporation ऐप्लिकेशन" के सिस्टम सॉफ़्टवेयर को लोड करने से रोका गया है, तो अनुमति दें पर क्लिक करें:
ज़्यादा जानकारी और समाधान के लिए, यहां देखें Apple का यह वेबपेज और समस्या 62395878.
बदलाव लागू करें
इस सेक्शन में, उन समस्याओं के बारे में बताया गया है जिनके बारे में आम तौर पर पता चलता है. ये समस्याएं, लागू करें बदलाव.
ऐप्लिकेशन का नया नाम लागू नहीं किया गया
अगर ऐप्लिकेशन का नाम बदला जाता है और फिर उस बदलाव को लागू करने की कोशिश की जाती है, तो अपडेट किया गया नाम नहीं दिखा सकता. इस समस्या को हल करने के लिए, अपने ऐप्लिकेशन को फिर से डिप्लॉय करने और बदलावों को देखने के लिए, चालू करें पर क्लिक करें.
Android रनटाइम में समस्या होने पर गड़बड़ी होती है
अगर Android 8.0 या 8.1 वाले डिवाइस का इस्तेमाल किया जा रहा है, तो आपको इन समस्याओं का सामना करना पड़ सकता है "VERIFICATION_ERROR" खास तरह के बदलाव लागू करने की कोशिश करते समय दिखने वाले मैसेज (खास तौर पर, जब Kotlin का इस्तेमाल किया जा रहा हो). यह मैसेज, Android रनटाइम, जिसे Android 9.0 और इसके बाद के वर्शन में ठीक किया गया हो. भले ही समस्या की वजह से बदलाव लागू नहीं हो पाते हैं, तो आप अब भी Run अपने ऐप्लिकेशन को फिर से खोलें. हालांकि, हमारा सुझाव है कि आप अपने डिवाइस को Android 9.0 या इसके बाद के वर्शन पर अपग्रेड करें.
डीबग करना और जांच करना
इस सेक्शन में, आपके ऐप्लिकेशन को डीबग करने और उसकी जांच करने से जुड़ी समस्याओं के बारे में बताया गया है.
Android Studio से रन करते समय, JUnit ने क्लासपाथ में उन रिसॉर्स की जांच की जो मौजूद नहीं हैं
अगर आपके Java मॉड्यूल में खास संसाधन फ़ोल्डर हैं, तो IDE से टेस्ट चलाने पर वे संसाधन नहीं मिलेंगे. चल रही जांच
कमांड लाइन से Gradle का इस्तेमाल करने से, यह समस्या ठीक हो जाएगी. IDE से Gradle check
टास्क को भी चलाया जा सकता है. ज़्यादा जानकारी के लिए, समस्या 64887 देखें.
यह समस्या IntelliJ 13 की वजह से आती है. इसके लिए, ज़रूरी है कि आपके डिवाइस में सिर्फ़ classpath के रूप में एक फ़ोल्डर होना चाहिए. IntelliJ का बिल्डर सभी संसाधनों को कॉपी करता है उस बिल्ड फ़ोल्डर में शामिल कर लिया जाता है, लेकिन Gradle संसाधनों को कॉपी नहीं करता.
- पहला तरीका: यूनिट टेस्ट चलाने के बजाय, IDE से Gradle
check
टास्क चलाएं. - दूसरा तरीका: बिल्ड स्क्रिप्ट को अपडेट करके, संसाधनों को मैन्युअल तौर पर बिल्ड फ़ोल्डर. यहां जाएं: टिप्पणी #13 हमारा वीडियो देखें.
JUnit की जांच करने पर, कोड को दो बार कंपाइल किया जा सकता है
नया प्रोजेक्ट बनाते समय, JUnit कॉन्फ़िगरेशन टेंप्लेट बनाया जा सकता है दो "लॉन्च से पहले" के साथ चरण: बनाएं और Gradle-अवेयर, बनाएं. इसके बाद, इस कॉन्फ़िगरेशन को बनाए गए सभी JUnit रन कॉन्फ़िगरेशन में लागू कर दिया जाता है.
- मौजूदा प्रोजेक्ट की समस्या को ठीक करने के लिए, रन करें > कॉन्फ़िगरेशन में बदलाव करें पर क्लिक करें. इसके बाद, डिफ़ॉल्ट JUnit कॉन्फ़िगरेशन को बदलकर, सिर्फ़ Gradle-aware Make चरण को शामिल करें.
- आने वाले समय के सभी प्रोजेक्ट की समस्या को ठीक करने के लिए, फ़ाइल > बंद करता है प्रोजेक्ट. आपको वेलकम स्क्रीन दिखेगी. इसके बाद, कॉन्फ़िगर करें > प्रोजेक्ट की डिफ़ॉल्ट सेटिंग > कॉन्फ़िगरेशन चलाएं और JUnit को बदलें इस कॉन्फ़िगरेशन का इस्तेमाल, सिर्फ़ 'ग्रेडल-अवेयर बनाएं' चरण को शामिल करने के लिए किया जाता है.
जांच के लिए इस्तेमाल किए गए कुछ कॉन्फ़िगरेशन काम नहीं कर रहे हैं
ऐसे सभी कॉन्फ़िगरेशन उपलब्ध नहीं हैं जो ये सुविधाएं, जांच के मान्य तरीके पर राइट क्लिक करने पर उपलब्ध होती हैं. खास तौर पर, ये कॉन्फ़िगरेशन मान्य नहीं हैं:
- Gradle रन कॉन्फ़िगरेशन (जिसमें आइकॉन के तौर पर Gradle लोगो होता है) इनमें काम.
- JUnit के रन कॉन्फ़िगरेशन (जिनमें हरे रंग के Android के बिना आइकॉन होता है) इंस्ट्रुमेंटेशन टेस्ट पर लागू नहीं होते. इन्हें लोकल JVM पर नहीं चलाया जा सकता.
नेटिव कोड को डीबग करते समय Java ब्रेकपॉइंट जोड़ना
जब आपका ऐप्लिकेशन अपने नेटिव कोड में किसी ब्रेकपॉइंट पर रुका होता है, तो हो सकता है कि ऑटो और ड्यूअल डीबगर, आपके सेट किए गए नए Java ब्रेकपॉइंट को तुरंत न पहचान पाएं. इस समस्या से बचने के लिए, Java ब्रेकपॉइंट जोड़ें डीबग सेशन शुरू करने से पहले या Java पर ऐप्लिकेशन के रोके जाने के दौरान ब्रेकपॉइंट तापमान सेट करें. ज़्यादा जानकारी के लिए, समस्या देखें 22,9949.
नेटिव डीबगर से बाहर निकलना
Auto या Dual डीबगर का इस्तेमाल करते समय, अगर आपने नेटिव फ़ंक्शन from का इस्तेमाल किया है, तो Java और नेटिव कोड को डीबग करना आपका Java कोड (उदाहरण के लिए, डीबगर आपकी साइट की किसी लाइन पर एक्ज़ीक्यूशन को रोक देता है Java कोड जो नेटिव फ़ंक्शन को कॉल करता है और इसमें शामिल हों पर क्लिक किया जाता है ) और आप अपने Java कोड पर वापस जाना चाहते हैं, तो यहां क्लिक करें प्रोग्राम को फिर से शुरू करें (स्टेप आउट या स्टेप ओवर के बजाय). आपके ऐप्लिकेशन की प्रोसेस अब भी रुकी हुई होगी. इसलिए, फिर शुरू करें पर क्लिक करें your-module-java में को प्रोग्राम करें उसे फिर से शुरू करने के लिए टैब दबाएं. ज़्यादा जानकारी के लिए, समस्या देखें 224385 है.
लाइब्रेरी लोड करते समय स्थानीय डीबगर हैंग हो जाता है
Android Studio 4.2 और इसके बाद के वर्शन पर अपग्रेड करने के बाद, नेटिव डीबगर का पहली बार इस्तेमाल करते समय, Android डिवाइस से लाइब्रेरी लोड करते समय नेटिव डीबगर काम करना बंद कर सकता है. यह समस्या एक स्टिकी समस्या है, जो लगातार जारी है
डीबगर को रोकने और फिर से चालू करने के बावजूद भी ऐसा हो सकता है. इस समस्या को हल करने के लिए,
$USER/.lldb/module-cache/
से एलएलडीबी कैश मेमोरी मिटाएं.
नेटिव डीबगर, "डीबगर प्रोसेस, बाहर निकलने के कोड 127 के साथ खत्म हुई" मैसेज के साथ क्रैश हो जाता है
यह गड़बड़ी, Linux-आधारित प्लैटफ़ॉर्म पर नेटिव डीबगर शुरू करने पर होती है. यह बताता है कि नेटिव के लिए ज़रूरी लाइब्रेरी में से एक
स्थानीय सिस्टम पर डीबगर इंस्टॉल नहीं किया गया है. गुमशुदा का नाम
हो सकता है कि लाइब्रेरी पहले से idea.log
फ़ाइल में प्रिंट हो. अगर ऐसा नहीं है, तो टर्मिनल का इस्तेमाल करके Android Studio की इंस्टॉलेशन डायरेक्ट्री पर जाएं और bin/lldb/bin/LLDBFrontend --version
कमांड लाइन को चलाकर जानें कि कौनसी लाइब्रेरी मौजूद नहीं हैं. आम तौर पर, हाल ही के Linux में ncurses5
लाइब्रेरी मौजूद नहीं है
डिस्ट्रिब्यूशन को पहले ही ncurses6
पर अपग्रेड किया जा चुका है.
प्रोफ़ाइलर
इस सेक्शन में, प्रोफ़ाइलर की पहले से मालूम समस्याओं के बारे में बताया गया है.
नेटिव मेमोरी प्रोफ़ाइलर: ऐप्लिकेशन शुरू होने के दौरान, प्रोफ़ाइल बनाने की सुविधा उपलब्ध नहीं होगी
फ़िलहाल, ऐप्लिकेशन के शुरू होने के दौरान नेटिव मेमोरी प्रोफ़ाइलर उपलब्ध नहीं है. यह का विकल्प अगली रिलीज़ में उपलब्ध होगा.
वैकल्पिक हल के तौर पर, Perfetto स्टैंडअलोन कमांड-लाइन प्रोफ़ाइलर का इस्तेमाल किया जा सकता है स्टार्टअप प्रोफ़ाइल कैप्चर करें.
सीपीयू प्रोफ़ाइलर में टाइम आउट से जुड़ी गड़बड़ियां
आपको "रिकॉर्डिंग बंद नहीं की जा सकी" समस्या का सामना करना पड़ सकता है Android Studio के सीपीयू में गड़बड़ियां
प्रोफ़ाइलर, जब आप Java के सैंपल के तरीके या Java के तरीकों को ट्रेस करने का विकल्प चुनते हैं
कॉन्फ़िगरेशन. ये अक्सर टाइम आउट की गड़बड़ियां होती हैं, खासकर तब, जब आपको
idea.log
फ़ाइल में गड़बड़ी का यह मैसेज दिख रहा है:
Wait for ART trace file timed out
टाइम आउट की गड़बड़ियां, सैंपल किए गए तरीकों से ज़्यादा ट्रेस किए गए तरीकों पर असर डालती हैं और छोटी रिकॉर्डिंग की तुलना में लंबी रिकॉर्डिंग ज़्यादा होती है. यह कुछ समय के लिए है. इस समस्या को छोटे वीडियो में रिकॉर्ड करके देखा जा सकता है, ताकि यह पता लगाया जा सके कि गड़बड़ी ठीक हुई है या नहीं.
अगर आपको प्रोफ़ाइलर में टाइम आउट की समस्याएं आ रही हैं, तो कृपया गड़बड़ी की शिकायत करें
जिसमें आपके डिवाइस के ब्रैंड/मॉडल और इनसे जुड़ी सभी एंट्री शामिल हों
idea.log
और Logcat.
डीबग करने या प्रोफ़ाइल बनाने के दौरान ADB से जुड़ी गड़बड़ी
Platform Tools 29.0.3 का इस्तेमाल करने पर, हो सकता है कि नेटिव डीबगिंग और Android Studio के प्रोफ़ाइलर ठीक से काम न करें. साथ ही, सहायता > लॉग दिखाएं को चुनने पर, आपको idea.log
फ़ाइल में "AdbCommandRejectedException" या "पोर्ट कनेक्ट नहीं हो सका" दिख सकता है. प्लेटफ़ॉर्म टूल को
29.0.4 या उसके बाद के वर्शन से दोनों समस्याएं ठीक हो जाती हैं.
प्लैटफ़ॉर्म टूल अपग्रेड करने के लिए, ये काम करें:
- Android Studio में SDK टूल के मैनेजर को खोलने के लिए, टूल > एसडीके मैनेजर या एसडीके मैनेजर पर क्लिक करें क्लिक करें.
- Android SDK Platform-Tools के बगल में मौजूद चेकबॉक्स पर क्लिक करें, ताकि उस पर सही का निशान दिखे. डाउनलोड करने का आइकॉन बाएं कॉलम में दिखना चाहिए.
- लागू करें या ठीक है पर क्लिक करें.
प्लग इन की वजह से, बिल्ड आउटपुट विंडो काम नहीं कर रही है
CMake साधारण हाइलाइटर प्लग इन का इस्तेमाल करने से सामग्री आउटपुट विंडो बनाएं. बिल्ड चलता है और बिल्ड आउटपुट टैब दिखता है, लेकिन कोई आउटपुट प्रिंट नहीं किया गया है (समस्या #204791544).
इंस्टॉल करने का क्रम, लॉन्च को रोकता है
किसी पुराने वर्शन से पहले Android Studio का नया वर्शन इंस्टॉल करने पर
पुराने वर्शन को लॉन्च होने से रोक सकता है. उदाहरण के लिए, यदि आप पहली बार
कैनरी वर्शन का इस्तेमाल कर सकते हैं और फिर स्टेबल वर्शन को
इंस्टॉल और लॉन्च करके देख सकते हैं
है, तो हो सकता है कि स्टेबल वर्शन लॉन्च न हो. इस तरह के मामलों में, आपको
स्टेबल (पुराना) वर्शन लॉन्च करने के लिए, कैश मेमोरी को मिटाएं. macOS पर, फ़ाइलें मिटाने के लिए
कैश मेमोरी को मिटाओ
Library/ApplicationSupport/Google/AndroidStudioversion_number
डायरेक्ट्री. Windows पर, कैश मेमोरी का इस्तेमाल हटाने के लिए
डिस्क क्लीनअप.
Espresso Test Recorder, Compose के साथ काम नहीं करता
कॉन्टेंट बनाने एस्प्रेसो टेस्ट रिकॉर्डर यह उन प्रोजेक्ट के साथ काम नहीं करता जिनमें Compose शामिल है. Compose का इस्तेमाल करने वाले प्रोजेक्ट के लिए यूज़र इंटरफ़ेस (यूआई) टेस्ट बनाने के लिए, Compose लेआउट की जांच करना लेख पढ़ें.
Logcat शॉर्टकट, अंग्रेज़ी के अलावा किसी दूसरे कीबोर्ड लेआउट से मिलता-जुलता है
अगर अंग्रेज़ी के अलावा किसी दूसरे कीबोर्ड लेआउट का इस्तेमाल किया जा रहा है, तो डिफ़ॉल्ट Logcat कीबोर्ड ही होगा
शॉर्टकट, लेआउट में समस्या कर सकता है और आपको कुछ टाइप करने से रोक सकता है
वर्णों का इस्तेमाल करके, Android Studio में टेक्स्ट में बदलाव कर सकते हैं. इस समस्या के समाधान के लिए,
विरोधी Logcat कीमैप को मिटाएं या री-मैप करें. Logcat कीमैप में बदलाव करने के लिए
Android Studio, Android Studio > सेटिंग > कीमैप और इसके लिए खोजें
कीमैप की सूची में Logcat
. ज़्यादा जानकारी के लिए, यह देखें
समस्या #263475910 है.
Android में Logcat शॉर्टकट को हटाने पर, यह समस्या हल हो जाएगी स्टूडियो इलेक्ट्रिक ईल पैच 1.
Android Gradle प्लग इन से जुड़ी समस्याएं
यह सेक्शन उन समस्याओं के बारे में बताता है जो सबसे नए स्टेबल वर्शन में मौजूद हैं 'Android Gradle प्लग इन'.
सभी डाइनैमिक-सुविधा लाइब्रेरी डिपेंडेंसी की लिंट की जांच नहीं की जाती
किसी ऐप्लिकेशन मॉड्यूल से checkDependencies = true
के साथ लिंट चलाते समय,
डाइनैमिक-सुविधा लाइब्रेरी डिपेंडेंसी की जांच तब तक नहीं की जाती, जब तक वे ऐप्लिकेशन
डिपेंडेंसी (समस्या #191977888).
वर्कअराउंड के रूप में, लिंट टास्क को उन लाइब्रेरी पर चलाया जा सकता है.
नई हस्ताक्षर फ़ाइल का नाम, नई लाइन शुरू करने के वर्णों के साथ दिया गया है
JAR साइनिंग (v1 स्कीम), नई लाइन वाले फ़ाइल नाम के साथ काम नहीं करती है रिटर्न वर्ण (समस्या #63885809).
हो सकता है कि बिल्ड के समय वैरिएंट के आउटपुट में बदलाव करने से काम न हो
नए प्लग इन के साथ, वैरिएंट के आउटपुट में बदलाव करने के लिए, वैरिएंट एपीआई का इस्तेमाल नहीं किया जा सकता. यह अब भी सामान्य कामों के लिए काम करता है, जैसे कि APK का नाम बदलना बिल्ड टाइम, जैसा कि नीचे दिखाया गया है:
// If you use each() to iterate through the variant objects, // you need to start using all(). That's because each() iterates // through only the objects that already exist during configuration time— // but those object don't exist at configuration time with the new model. // However, all() adapts to the new model by picking up object as they are // added during execution. android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "${variant.name}-${variant.versionName}.apk" } }
हालांकि, ज़्यादा मुश्किल टास्क हैं जिनमें outputFile
ऑब्जेक्ट को ऐक्सेस करना शामिल है
अब काम नहीं करता है. इसकी वजह यह है कि वैरिएंट के हिसाब से बनाए गए टास्क अब नहीं बनाए जाते
. इससे प्लगिन को इस बारे में जानकारी नहीं होती
इससे आउटपुट कम समय में मिलता है. हालांकि, इससे कॉन्फ़िगरेशन में लगने वाला समय कम हो जाता है.
ManifestOutputFile अब उपलब्ध नहीं है
processManifest.manifestOutputFile()
तरीका अब उपलब्ध नहीं है
उपलब्ध है और जब आप इसे कॉल करते हैं तो आपको निम्न गड़बड़ी मिलती है:
A problem occurred configuring project ':myapp'. Could not get unknown property 'manifestOutputFile' for task ':myapp:processDebugManifest' of type com.android.build.gradle.tasks.ProcessManifest.
हर एक की मेनिफ़ेस्ट फ़ाइल पाने के लिए, manifestOutputFile()
पर कॉल करने के बजाय
वैरिएंट नहीं है, तो आप processManifest.manifestOutputDirectory()
को कॉल करके,
उस डायरेक्ट्री का पाथ जिसमें जनरेट किए गए सभी मेनिफ़ेस्ट शामिल हैं. इसके बाद आप
कोई मेनिफ़ेस्ट खोजें और उस पर अपने लॉजिक को लागू करें. नीचे दिया गया सैंपल डाइनैमिक है
मेनिफ़ेस्ट में वर्शन कोड बदलता है:
android.applicationVariants.all { variant -> variant.outputs.all { output -> output.processManifest.doLast { // Stores the path to the maifest. String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml" // Stores the contents of the manifest. def manifestContent = file(manifestPath).getText() // Changes the version code in the stored text. manifestContent = manifestContent.replace('android:versionCode="1"', String.format('android:versionCode="%s"', generatedCode)) // Overwrites the manifest with the new text. file(manifestPath).write(manifestContent) } } }
एजीपी 7.3.0 एआईडीएल सपोर्ट और Kotlin 1.7.x में समस्याएं
Kotlin 1.7.x में KAPT के साथ एजीपी 7.3.0 का इस्तेमाल करने से, एआईडीएल सोर्स सेट
खास बिल्ड वैरिएंट को हटाना होगा. आपके पास अब भी दूसरा एआईडीएल सोर्स इस्तेमाल करने का विकल्प है
सेट, जिनमें main/
, बिल्ड टाइप, प्रॉडक्ट के फ़्लेवर, और कॉम्बिनेशन शामिल हैं
अलग-अलग फ़्लेवर इस्तेमाल करते हैं. अगर आपको वैरिएंट के हिसाब से बने एआईडीएल सोर्स सेट का इस्तेमाल करना है, तो
Kotlin 1.6.21 का इस्तेमाल जारी रखना होगा.
पहले से मालूम समस्याएं ठीक की गईं
इस सेक्शन में, उन समस्याओं के बारे में बताया गया है जिन्हें हाल ही में ठीक कर दिया गया है. अगर आपने अगर आपको इनमें से कोई समस्या आ रही है, तो अपने Android डिवाइस पर Studio का इस्तेमाल करके नए स्टेबल या झलक दिखाने वाले वर्शन का इस्तेमाल करें.
Android Studio 2021.1.1 में ठीक किया गया
- लिंट आउटपुट मौजूद नहीं है:
stdout
पर कोई लिंट टेक्स्ट आउटपुट प्रिंट नहीं होता, जब लिंट टास्कUP-TO-DATE
है (लेख #191897708). इसमें तय किया गया एजीपी 7.1.0-alpha05. - Hilt प्लगिन का इस्तेमाल करने वाले ऐप्लिकेशन प्रोजेक्ट की यूनिट टेस्ट करने में आने वाली समस्याएं: यूनिट टेस्ट के क्लासपाथ में बिना इंस्ट्रुमेंट वाली ऐप्लिकेशन क्लास होती हैं. इसका मतलब है कि Hilt, डिपेंडेंसी इंजेक्शन को हैंडल करने के लिए ऐप्लिकेशन क्लास का इस्तेमाल नहीं करता. ऐसा तब होता है, जब यूनिट टेस्ट चलाना (समस्या #213534628). AGP के वर्शन 7.1.1 में ठीक किया गया.
Android Studio 2020.3.1 में ठीक की गई
- Kotlin प्रोजेक्ट में लिंट के अपवाद: Kotlin प्रोजेक्ट जो सेट किए जाते हैं
checkDependencies = true
को शून्य पॉइंटर अपवाद या गड़बड़ियां मिल सकती हैं (समस्या #158777858).
Android Studio 4.2 में ठीक किया गया
- macOS Big Sur पर IDE फ़्रीज़ हो जाता है: हो सकता है कि Android Studio 4.1 तब फ़्रीज़ हो जाए, कोई डायलॉग खोलें.
Android Studio 4.1 में ठीक किया गया
- IDE के पिछले वर्शन से मेमोरी सेटिंग लागू करने के लिए, रीस्टार्ट करें: इसके बाद Android Studio अपडेट कर रहे हैं, तो आपको अपने Android Studio को रीस्टार्ट करना होगा, ताकि मेमोरी सेटिंग को IDE के पुराने वर्शन से माइग्रेट किया गया है.
- कस्टम अनुमति स्ट्रिंग वाला मेनिफ़ेस्ट क्लास अब जनरेट नहीं करता
डिफ़ॉल्ट: अगर आपको क्लास जनरेट करनी है, तो
android.generateManifestClass = true
.
Android Studio 3.6 में ठीक किया गया
LineageOS पर APK इंस्टॉल करने में हुई गड़बड़ी: आपके ऐप्लिकेशन को डिवाइसों पर डिप्लॉय किया जा रहा है LineageOS या CyanogenMod के कुछ वर्शन चलाने से वे फ़ेल हो सकते हैं और 'थ्रॉ' हो सकते हैं एक
INSTALL_PARSE_FAILED_NOT_APK
अपवाद.Android Studio 3.6 बीटा 1 और उसके बाद वाले वर्शन पर, IDE इस अपवाद को ऐसे हैंडल करता है: ऐप्लिकेशन को डिप्लॉय करते समय, उसे पूरी तरह से इंस्टॉल करना को LineageOS या CyanogenMod डिवाइसों से कनेक्ट किया जाता है. इससे डिप्लॉयमेंट को ज़्यादा समय तक बार.
Android Studio 3.5.2 में ठीक किया गया
- एक्सएमएल कोड स्टाइल गलत है: एक्सएमएल कोड में बदलाव करते समय, मेन्यू बार से कोड > कोड को फिर से फ़ॉर्मैट करें को चुनने पर, IDE ने गलत कोड स्टाइल लागू किया.
Android Studio 3.3.1 में ठीक किया गया
C++ पर आधारित प्रोजेक्ट स्कैन करते समय मेमोरी की गड़बड़ियां खत्म हो जाती हैं: जब Gradle स्कैन करता है ऐसा प्रोजेक्ट जिसके एक ही ड्राइव में एक से ज़्यादा जगहों पर C++ कोड मौजूद हों, स्कैन में पहली कॉमन डायरेक्ट्री के नीचे की सभी डायरेक्ट्री शामिल होती हैं. स्कैन किया जा रहा है बहुत ज़्यादा डायरेक्ट्री और फ़ाइलों की वजह से, मेमोरी में गड़बड़ियां हो सकती हैं.
इस समस्या के बारे में ज़्यादा जानकारी पाने के लिए, इसे पढ़ें वह गड़बड़ी जो समस्या.