Android Studio और Android Gradle प्लग इन की पहले से मालूम समस्याएं

यह पेज, आम तौर पर होने वाली समस्याओं को ट्रैक करता है Android स्टूडियो कोआला और Android Gradle प्लग इन 8.5.0. अगर आपको कोई ऐसी समस्या आ रही है जो पहले से शामिल नहीं है तो कृपया गड़बड़ी की रिपोर्ट करें.

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

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

यह सेक्शन उन समस्याओं के बारे में बताता है जो सबसे नए स्टेबल वर्शन में मौजूद हैं Android Studio.

Firebase सहायक विंडो, गड़बड़ी का मैसेज दिखा रही है

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

इस समस्या को हल करने के लिए, हमारा सुझाव है कि आप अपनी पसंद के हिसाब से बनाए गए विकल्पों में टिप्पणी करें .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 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 में उम्मीद के मुताबिक काम न करें.

इस समस्या के बारे में ज़्यादा जानकारी (इसमें संभावित समाधान शामिल हैं) मिल सकती है IntallyJ के गड़बड़ी के ट्रैकर में देखें.

ChromeOS पर छोटा यूज़र इंटरफ़ेस (यूआई) टेक्स्ट

ChromeOS पर, पिछली रिलीज़ के मुकाबले टेक्स्ट काफ़ी कम दिख सकता है. ऑफ़िस जाने के लिए इस समस्या को हल करने के लिए, ये काम करें:

  1. सेटिंग विंडो खोलने के लिए, फ़ाइल > सेटिंग
  2. थीम और व्यवहार > थीम.
  3. पसंद के मुताबिक फ़ॉन्ट का इस्तेमाल करें को चुनें.
  4. फ़ॉन्ट का साइज़ बढ़ाएं.
  5. सेटिंग विंडो में, एडिटर > फ़ॉन्ट.
  6. फ़ॉन्ट का साइज़ बढ़ाएं.
  7. ठीक है पर क्लिक करें.

कोड में बदलाव करना

इस सेक्शन में, कोड एडिटर से जुड़ी आम समस्याओं के बारे में बताया गया है.

फ़्रीज़ किया गया कीबोर्ड इनपुट - "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 इनपुट बंद करें. iBus इनपुट बंद करने के लिए यह सुविधा, सिर्फ़ Android Studio के लिए उपलब्ध है. इसके लिए, कमांड लाइन पर इन कार्रवाइयों को करें:
    $ 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 फ़ाइल देखने में कोई समस्या होने की वजह से, बढ़ोतरी वाले अपडेट लागू नहीं होंगे

Gredle की समस्या 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 जैसे कर्नेल एक्सटेंशन को इंस्टॉल करने की प्रोसेस शामिल है. आपको इनकी ज़रूरत होगी कर्नेल एक्सटेंशन को खुद इस तरह इंस्टॉल होने की अनुमति देने के लिए:

  1. सबसे पहले, HAXM के सबसे नए वर्शन को एसडीके मैनेजर.
  2. MacOS में, System Preferences > पर जाएं सुरक्षा और निजता.
  3. अगर आपको यह चेतावनी दिखती है कि डेवलपर "Intel Corporation का सिस्टम सॉफ़्टवेयर ऐप्लिकेशन" लोड होने से ब्लॉक किया गया, अनुमति दें पर क्लिक करें:

ज़्यादा जानकारी और समाधान के लिए, यहां देखें Apple का यह वेबपेज और समस्या 62395878.

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

इस सेक्शन में, उन समस्याओं के बारे में बताया गया है जिनके बारे में आम तौर पर पता है. ये समस्याएं लागू करें बदलाव.

ऐप्लिकेशन का नया नाम लागू नहीं किया गया

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

Android रनटाइम में समस्या होने पर गड़बड़ी होती है

अगर Android 8.0 या 8.1 वाले डिवाइस का इस्तेमाल किया जा रहा है, तो आपको इन समस्याओं का सामना करना पड़ सकता है "VERIFICATION_ERROR" खास तरह के बदलाव लागू करने की कोशिश करते समय दिखने वाले मैसेज (खास तौर पर, जब Kotlin का इस्तेमाल किया जा रहा हो). यह मैसेज, Android रनटाइम, जिसे Android 9.0 और इसके बाद के वर्शन में ठीक किया गया हो. भले ही समस्या की वजह से बदलाव लागू नहीं हो पाते हैं, तो आप अब भी Run दौड़ने का आइकॉन अपने ऐप्लिकेशन को फिर से खोलें. हालांकि, हमारा सुझाव है कि आप Android 9.0 या इसके बाद के वर्शन पर चलने वाला हो.

डीबग करना और जांच करना

इस सेक्शन में, आपके ऐप्लिकेशन को डीबग करने और उसकी जांच करने से जुड़ी समस्याओं के बारे में बताया गया है.

Android Studio से रन करते समय, JUnit ने क्लासपाथ में उन रिसॉर्स की जांच की जो मौजूद नहीं हैं

अगर आपके Java मॉड्यूल में खास रिसॉर्स फ़ोल्डर हैं, तो IDE से टेस्ट चलाने पर संसाधन नहीं मिलेंगे. चल रही जांच कमांड लाइन से Gradle का इस्तेमाल करने से, यह समस्या ठीक हो जाएगी. Gradle check को एक्ज़ीक्यूट किया जा रहा है IDE का टास्क भी काम करेगा. समस्या देखें ज़्यादा के लिए 64887 विवरण.

यह समस्या IntelliJ 13 की वजह से आती है. इसके लिए, ज़रूरी है कि आपके डिवाइस में सिर्फ़ classpath के रूप में एक फ़ोल्डर होना चाहिए. IntelliJ का बिल्डर सभी संसाधनों को कॉपी करता है उस बिल्ड फ़ोल्डर में शामिल कर लिया जाता है, लेकिन Gradle संसाधनों को कॉपी नहीं करता.

  • पहला तरीका: Gradle check टास्क को IDE के बजाय IDE से चलाएं यूनिट की जांच की जा रही है.
  • दूसरा तरीका: बिल्ड स्क्रिप्ट को अपडेट करके, संसाधनों को मैन्युअल तौर पर बिल्ड फ़ोल्डर. यहां जाएं: टिप्पणी #13 हमारा वीडियो देखें.

JUnit की जांच करने पर, कोड को दो बार कंपाइल किया जा सकता है

नया प्रोजेक्ट बनाते समय, JUnit कॉन्फ़िगरेशन टेंप्लेट बनाया जा सकता है दो "लॉन्च से पहले" के साथ चरण: बनाएं और Gradle-अवेयर, बनाएं. यह कॉन्फ़िगरेशन इसके बाद, इसे सभी बनाए गए JUnit रन कॉन्फ़िगरेशन में लागू किया जाता है.

  • मौजूदा प्रोजेक्ट की समस्या को ठीक करने के लिए, Run > संपादित करें कॉन्फ़िगरेशन और डिफ़ॉल्ट JUnit कॉन्फ़िगरेशन को सिर्फ़ Gradle-अवेयर 'बनाएं चरण' को शामिल करना चाहिए.
  • आने वाले समय के सभी प्रोजेक्ट की समस्या को ठीक करने के लिए, फ़ाइल > बंद करता है प्रोजेक्ट. आपको वेलकम स्क्रीन दिखेगी. इसके बाद, कॉन्फ़िगर करें > प्रोजेक्ट की डिफ़ॉल्ट सेटिंग > कॉन्फ़िगरेशन चलाएं और JUnit को बदलें इस कॉन्फ़िगरेशन का इस्तेमाल, सिर्फ़ 'ग्रेडल-अवेयर बनाएं' चरण को शामिल करने के लिए किया जाता है.

जांच के लिए इस्तेमाल किए गए कुछ कॉन्फ़िगरेशन काम नहीं कर रहे हैं

ऐसे सभी कॉन्फ़िगरेशन उपलब्ध नहीं हैं जो ये सुविधाएं, जांच के मान्य तरीके पर राइट क्लिक करने पर उपलब्ध होती हैं. खास तौर पर, ये कॉन्फ़िगरेशन मान्य नहीं हैं:

  • Gradle रन कॉन्फ़िगरेशन (जिसमें आइकॉन के तौर पर Gradle लोगो होता है) इनमें काम.
  • JUnit के रन कॉन्फ़िगरेशन (जिसमें Android हरे रंग के बिना आइकॉन होता है) इंस्ट्रुमेंटेशन टेस्ट पर लागू नहीं होता, जो स्थानीय JVM पर नहीं चलाया जा सकता.
Android Studio दिए गए एपीआई में, बनाए गए रन कॉन्फ़िगरेशन को भी याद रखता है संदर्भ (उदाहरण के लिए, किसी क्लास या मेथड पर राइट क्लिक करना) है, तो ऐसा नहीं होगा ऑफ़र को किसी अन्य कॉन्फ़िगरेशन में चलाने के लिए उपलब्ध कराया जाए. इसे ठीक करने के लिए, चलाएं > कॉन्फ़िगरेशन में बदलाव करना और गलत तरीके से बनाए गए कॉन्फ़िगरेशन को हटाना कॉन्फ़िगरेशन.

नेटिव कोड को डीबग करते समय Java ब्रेकपॉइंट जोड़ना

जब आपका ऐप्लिकेशन आपके नेटिव में ब्रेकपॉइंट पर रोका गया हो ऐसा करने पर, Auto और Dual डीबगर आपकी आपके सेट किए गए नए Java ब्रेकपॉइंट. इस समस्या से बचने के लिए, Java ब्रेकपॉइंट जोड़ें डीबग सेशन शुरू करने से पहले या Java पर ऐप्लिकेशन के रोके जाने के दौरान ब्रेकपॉइंट तापमान सेट करें. ज़्यादा जानकारी के लिए, समस्या देखें 22,9949.

नेटिव डीबगर से बाहर निकलना

Auto या Dual डीबगर का इस्तेमाल करते समय, अगर आपने नेटिव फ़ंक्शन from का इस्तेमाल किया है, तो Java और नेटिव कोड को डीबग करना आपका Java कोड (उदाहरण के लिए, डीबगर आपकी साइट की किसी लाइन पर एक्ज़ीक्यूशन को रोक देता है Java कोड जो नेटिव फ़ंक्शन को कॉल करता है और इसमें शामिल हों पर क्लिक किया जाता है ) और आप अपने Java कोड पर वापस जाना चाहते हैं, तो यहां क्लिक करें प्रोग्राम को फिर से शुरू करें (स्टेप आउट या स्टेप ओवर के बजाय). आपके ऐप्लिकेशन की प्रोसेस अब भी रुकी हुई होगी. इसलिए, फिर शुरू करें पर क्लिक करें your-module-java में को प्रोग्राम करें उसे फिर से शुरू करने के लिए टैब दबाएं. ज़्यादा जानकारी के लिए, समस्या देखें 224385 है.

लाइब्रेरी लोड करते समय स्थानीय डीबगर हैंग हो जाता है

Android में अपग्रेड करने के बाद पहली बार नेटिव डीबगर का इस्तेमाल करते समय Studio 4.2 और उसके बाद के वर्शन में, नेटिव डीबगर, लोड करते समय काम करना बंद कर सकता है लाइब्रेरी से भी डाउनलोड कर सकते हैं. यह समस्या एक स्टिकी समस्या है, जो लगातार जारी है डीबगर को रोकने और फिर से चालू करने के बावजूद भी ऐसा हो सकता है. इस समस्या को हल करने के लिए, $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 अपवाद

प्लैटफ़ॉर्म टूल 29.0.3, नेटिव डीबगिंग और Android Studio का इस्तेमाल करते समय हो सकता है कि प्रोफ़ाइलर ठीक से काम न करें और आपको "AdbCommand रीमार्केटिंग अपवाद" या "पोर्ट से कनेक्ट नहीं किया जा सका" idea.log में फ़ाइल चुनने के बाद सहायता > लॉग दिखाएं. प्लेटफ़ॉर्म टूल को 29.0.4 या उसके बाद के वर्शन से दोनों समस्याएं ठीक हो जाती हैं.

प्लैटफ़ॉर्म टूल अपग्रेड करने के लिए, ये काम करें:

  1. Android Studio में SDK टूल के मैनेजर को खोलने के लिए, टूल > एसडीके मैनेजर या एसडीके मैनेजर पर क्लिक करें क्लिक करें.
  2. Android SDK टूल के बगल में मौजूद चेकबॉक्स पर क्लिक करें Platform-Tools ताकि यह सही का निशान दिखा सके. डाउनलोड करने का आइकॉन बाएं कॉलम में दिखना चाहिए.
  3. लागू करें या ठीक है पर क्लिक करें.

प्लग इन बिल्ड आउटपुट विंडो को काम करने से रोकता है

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 का इस्तेमाल करके नए स्टेबल या झलक दिखाने वाले वर्शन का इस्तेमाल करें.

1.1.2021 को Android Studio में ठीक किया गया

  • लिंट आउटपुट मौजूद नहीं है: 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++ कोड मौजूद हों, स्कैन में पहली कॉमन डायरेक्ट्री के नीचे की सभी डायरेक्ट्री शामिल होती हैं. स्कैन किया जा रहा है बहुत ज़्यादा डायरेक्ट्री और फ़ाइलों की वजह से, मेमोरी में गड़बड़ियां हो सकती हैं.

    इस समस्या के बारे में ज़्यादा जानकारी पाने के लिए, इसे पढ़ें वह गड़बड़ी जो समस्या.