एंड्रॉइड स्टूडियो का कहना है कि "प्रतीक का समाधान नहीं किया जा सकता है" लेकिन परियोजना संकलन करती है


97

मैं अपने निर्माण में निम्न का उपयोग करके AndroidStudio में twitter4j आयात कर रहा हूं:

dependencies {
  compile 'com.android.support:support-v4:18.0.+'
  compile files('libs/twitter4j-core-3.0.4.jar')
}

प्रोजेक्ट ठीक संकलित करता है, और मैं समस्या के बिना ट्विटर ऑब्जेक्ट बना सकता हूं। हालाँकि, एंड्रॉइड स्टूडियो में, कुछ भी संदर्भित है जो लाइब्रेरी शो "प्रतीक को हल नहीं कर सकता" और लाल रंग में प्रदर्शित करता है। लाइब्रेरी को पहचानने के लिए एंड्रॉइड स्टूडियो प्राप्त करने के लिए मुझे क्या करने की आवश्यकता है?

मैंने पहले ही परियोजना के पुनर्निर्माण का प्रयास किया है, /। स्वच्छ और अपनी परियोजना को बंद करने और फिर से खोलने के लिए।



वर्ष 2018, एंड्रॉइड स्टूडियो 3+: कभी-कभी, एंड्रॉइड स्टूडियो और ग्रेडल सहमत नहीं होते हैं। यहाँ समाधान: stackoverflow.com/questions/50313885/…
user1506104

एंड्रॉइड स्टूडियो में एक व्यायाम परियोजना को आयात करने के बाद मेरे पास एक ही मुद्दा था। जब आयातित एंड्रॉइड स्टूडियो ने मुझे चेतावनी दी और एसडीके संस्करण को अपडेट करने का सुझाव दिया, तो मैंने सलाह का पालन किया। उसके बाद कुछ भी संगत नहीं था, इसलिए एंड्रॉइड स्टूडियो ने कुछ और का दूसरा संस्करण बदलने का सुझाव दिया। इन सभी सलाह का पालन करने के बाद मेरे पास एक ही था "प्रतीक नहीं मिल सकता है" मुद्दे। मैंने परिवर्तित को उलट दिया, इस परियोजना को फिर से आयात किया और इस बार एंड्रॉइड स्टूडियो के संकेतों का पालन नहीं किया। उसके बाद त्रुटियां दूर हो गईं। आँख बंद करके उस कार्यक्रम के सुझावों का पालन करें।
डेविड

जवाबों:


237

पता नहीं कि यह काम करेगा या नहीं, लेकिन अभी तक मेरा एकमात्र विचार: एएस के भीतर फ़ाइल ट्री में जार फ़ाइल को राइट क्लिक करें और "लाइब्रेरी में जोड़ें" चुनें ...

संपादित करें: आप "फ़ाइल" -> "अमान्य कैश ..." कर सकते हैं, और इसे ठीक करने के लिए "अमान्य और पुनः प्रारंभ करें" विकल्प का चयन करें।

EDIT 2: यह फिक्स सभी समान घटनाओं के लिए काम करना चाहिए और एक twitter4j विशिष्ट रिज़ॉल्यूशन नहीं है।


जब मैं जार को राइट-क्लिक करता हूं तो मुझे वह विकल्प नहीं मिल रहा है। मैं 0.2.13 पर चल रहा हूं।
टीजी-टी

इसका मतलब शायद आपने पहले ही कर लिया है। फ़ाइल> प्रोजेक्ट संरचना का प्रयास करें और पुष्टि करें कि आप मॉड्यूल नोड में .jar फ़ाइल देखें।
doydoy

11
कैश को अमान्य करना और पुनरारंभ करना मेरे लिए काम नहीं करता है। मैंने एंड्रॉइड स्टूडियो को फिर से स्थापित करने और परियोजना को फिर से देखने की कोशिश की है। यह बहुत कष्टप्रद है ...
घड़ीसाज़

3
"फ़ाइल" -> "अमान्य कैश ..." बस मेरा दिन बचाया। मैंने इस मुद्दे पर इतना समय बर्बाद किया। यह उत्तर शीर्ष खोज परिणाम क्यों नहीं था? आपको बहुत - बहुत धन्यवाद!
एरिक कोचरन

1
मेरे आभार में टॉसिंग
येवगेनी सिम्किन

33

फ़ाइल> प्रोजेक्ट संरचना> (अपनी परियोजना का चयन करें)> निर्भरता में निर्भरता के क्रम को बदलने का प्रयास करें।

अमान्य कैश मेरे लिए काम नहीं करता था, लेकिन मेरे निर्माण को सूची के नीचे से ऊपर तक ले जाता था।


निर्भरता के क्रम को बदलने से मुझे मदद मिलती है, मैंने जवाब में दिए गए सभी समाधानों की कोशिश की, केवल आपकी मदद करता हूं, धन्यवाद।
wqycsu

केवल एक निर्भरता बढ़ने से मेरे लिए चाल चली गई! (एंड्रॉइड स्टूडियो 3.0.1)।
सेबेस्टियन 13

हाँ यह महत्वपूर्ण नहीं है कि आप किस निर्भरता की ओर बढ़ते हैं, बस किसी के आदेश को बदल दें, यह एंड्रॉइड स्टूडियो 3.3 के लिए भी काम करता है।
20

12

इसी से मेरा काम बना है।

प्रोजेक्ट पैनल में, प्रोजेक्ट नाम पर राइट क्लिक करें, और Open Module Settingsपॉपअप मेनू से चयन करें ।

फिर बदलो Compile SDK Version उपलब्ध न्यूनतम संस्करण (परियोजना में आपके द्वारा निर्धारित न्यूनतम एसडीके संस्करण) में । सब कुछ लोड करने के लिए एंड्रॉइड स्टूडियो की प्रतीक्षा करें।

यह आपको कुछ त्रुटियां देगा, उन पर ध्यान न दें।

अब अपनी जावा फ़ाइल पर जाएँ और Android स्टूडियो आपको आयात करने का सुझाव देगा

import android.support.v4.app.ragmentActivity;

इसे आयात करें, फिर वापस जाएं Open Module Settings और संकलित एसडीके संस्करण को वापस बदल दें जो पहले था।

चीजों को लोड करने और वॉयला के लिए प्रतीक्षा करें।


यह शानदार काम है। मेरे मामले में, Android Studio ने मुझे बताया कि SDK की सभी कक्षाएं हल नहीं की जा सकती हैं (जिसमें स्ट्रिंग, इंटेगर, टेक्स्ट व्यू आदि शामिल हैं)। इससे पहले, aStudio ने मुझे यह भी बताया कि वह Android-14 SDK का पता नहीं लगा सकती है, जिसका उपयोग मैं अपनी परियोजनाओं को संकलित करने के लिए करता था। मैंने इस बात को नजरअंदाज कर दिया कि क्या समस्याएँ हैं। अंत में, मुझे यह उत्तर मिला और फॉलो किया, कंपाइल एसडीके संस्करण को बदला, फिर काम किया। मुझे समय बचाने के लिए धन्यवाद।
विंसस्टलिंग

Now go to your java file and android studio will suggest you importमेरे मामले में नहीं
NineCattoRules

9

मेरे लिए आयातित लाइब्रेरी प्रोजेक्ट के कारण, build.gradle में कुछ टाइप करें और इसे फिर से हटाएं और अब सिंक को दबाएं, त्रुटि चली गई।


6

मेरे पास अपने कुछ एंड्रॉइड लाइब्रेरी (एंड्रॉइड स्टूडियो 3.0 और 3.1.1 का उपयोग करके) के आधार पर मेरे एंड्रॉइड ऐप के साथ भी यह समस्या थी।

जब भी मैंने एक लीब को अपडेट किया और ऐप पर वापस जाता हूं, तो ग्रैडल सिंक को ट्रिगर करते हुए, एंड्रॉइड स्टूडियो उस कोड परिवर्तन का पता लगाने में सक्षम नहीं था जो मैंने काम के लिए किया था। संकलन ने ठीक काम किया, लेकिन एंड्रॉइड स्टूडियो ने काम का उपयोग करते हुए कुछ कोड पर लाल त्रुटि लाइनें दिखाईं।

जांच करने के बाद, मैंने पाया कि यह इसलिए है क्योंकि ग्रेडेल मेरे कामों के पुराने संकलित संस्करण की ओर इशारा करता है। यदि आप yourProject / / .idea / पुस्तकालयों में जाते हैं / आपको xml फ़ाइलों की एक सूची दिखाई देगी, जिसमें आपके लिबास के संकलित संस्करण का लिंक होगा। ये फाइलें Gradle__artifacts _ * से शुरू होती हैं। xml (जहां * आपके कामों का नाम है)।

इसलिए एंड्रॉइड स्टूडियो को अपने कामों के नवीनतम संस्करण को लेने के लिए, आपको इन Gradle__artifacts _ *। Xml फ़ाइलों को हटाने की आवश्यकता है, और एंड्रॉइड स्टूडियो उन्हें पुनर्जीवित करेगा, जो आपके कामों के नवीनतम संकलित संस्करण की ओर इशारा करता है।

यदि आप हर बार मैन्युअल रूप से "ग्रैडल सिंक" (जो करना चाहते हैं ...) पर क्लिक करते हैं, तो आप अपने ऐप के बिल्ड.ग्रेड फ़ाइल में इस छोटे से ग्रेडल कार्य को जोड़ सकते हैं।

task deleteArtifacts {
    doFirst {
        File librariesFolderPath = file(getProjectDir().absolutePath + "/../.idea/libraries/")
        File[] files = librariesFolderPath.listFiles({ File file -> file.name.startsWith("Gradle__artifacts_") } as FileFilter)

        for (int i = 0; i < files.length; i++) {
            files[i].delete()
        }
    }
}

और आपके ऐप के लिए हमेशा एक सिंक सिंक करने से पहले इस कार्य को अंजाम देने के लिए, आपको बस ग्रैडल विंडो पर जाने की आवश्यकता है, फिर "AppArtifacts "कार्य को अपने एप / टास्क / अन्य / के तहत ढूंढें, उस पर राइट क्लिक करें और एक्सक्यूट का चयन करें। सिंक से पहले ”(नीचे देखें)।

कार्य निष्पादन को कॉन्फ़िगर करने के लिए विंडो खोलें

अब, हर बार जब आप एक ग्रैडल सिंक करते हैं, तो एंड्रॉइड स्टूडियो आपके काम के नवीनतम संस्करण का उपयोग करने के लिए मजबूर हो जाएगा।


5

जब मैं इस समस्या में रहता था (लाल रंग कोड लेकिन वे सही ढंग से काम करते हैं) मेरी परियोजना में;

सबसे पहले, मैंने इसे बनाया (फाइल -> इंडिकेट कैश) -> (अमान्य और पुनः आरंभ)।

अंतिम के रूप में, मैं अपनी बिल्ड.ग्रेड फ़ाइल को अपने ऐप में पुन: टाइप करता हूं। समस्या हल होने के बाद।


3

Invalidate Caches / Restart इस बार मेरे लिए काम नहीं किया।

इस तरह एक समाधान मिला:

  1. निकालें compile ***या implementation ***build.gradle में लाइन।

  2. स्वच्छ और पुनर्निर्माण। यहां त्रुटियां बढ़ाई जानी चाहिए।

  3. चरण 1 में लाइन जोड़ें build.gradle।

  4. स्वच्छ और पुनर्निर्माण।

अजीब...


2

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


हाँ, मुझे लगता है कि यह भी एक अच्छा चिल्लाहट है: डिफ़ॉल्ट रूप से एंड्रॉइड स्टूडियो तय करेगा कि सभी एसडीके डिफ़ॉल्ट एंड्रॉइड स्टूडियो इंस्टॉल निर्देशिका में स्थापित हैं। अगर कुछ भी उस पैटर्न का पालन नहीं करता है, तो इसमें संशोधन करना होगा।
doydoy

2

मुझे अब कुछ दिनों के लिए यह समस्या थी और अंत में यह पता चला! अन्य सभी समाधानों ने मेरे लिए काम नहीं किया।

समाधान: मेरे प्रोजेक्ट पथ में मेरे विशेष चरित्र थे!

बस यह सुनिश्चित करें कि उनमें से कोई भी नहीं है और आपको ठीक होना चाहिए या कम से कम एक समाधान आपके लिए काम करना चाहिए।

आशा है कि यह किसी की मदद करता है!


कृपया जांचें कि क्या आपके पास कोई प्रोजेक्ट पथ है जिसमें विशेष वर्ण हैं जैसे! (विस्मयादिबोधक चिह्न)। इसी तरह की समस्या में मैंने stackoverflow.com/questions/32477067/… का अनुभव किया , यह मूल कारण था। कई जावा अनुप्रयोग ऐसे विशेष वर्णों को बर्दाश्त नहीं करते हैं (जैसे टर्मिनल से 'ग्रेडलेव क्लीन' करना विफल होगा और रनटाइमएक्सपेप्शन को फेंकना होगा।)। ऑनलाइन पोस्ट किए गए अन्य समाधानों में से किसी ने भी मेरी मदद नहीं की। लेकिन, एक बार मैंने निकाल दिया था! पथ से और एक साफ निर्माण किया, एंड्रॉइड स्टूडियो ने जादुई रूप से काम किया।
जिम सी।

वाह! अद्भुत! धन्यवाद :)
जोसप एस्कोबार

1

मुझे हाल ही में एंड्रॉइड स्टूडियो 1.3 के साथ बहुत ही समस्या थी। एकमात्र काम करने वाला समाधान .gradle और .idea फ़ोल्डरों को हटाने और एंड्रॉइड स्टूडियो में प्रोजेक्ट को फिर से आयात करना था।


1

उन लोगों के लिए, जिन्होंने स्वीकृत उत्तर की कोशिश की और कोई सफलता नहीं मिली,

मैंने भी स्वीकृत उत्तर की कोशिश की और मेरे लिए काम नहीं किया। उसके बाद, मैंने अपने प्रोजेक्ट को रिपॉजिटरी के साथ अपडेट किया और प्रोजेक्ट को सिंक्रोनाइज़ कर दिया और हल नहीं हो सका।



1

यदि कुछ और मदद नहीं करता है, तो आप एंड्रॉइड स्टूडियो के रूप में कर सकते हैं अचानक प्रतीकों की सिफारिश नहीं कर सकते हैं :

  • Android Studio से बाहर निकलें
  • अपने प्रोजेक्ट का बैकअप लें
  • सभी .iml फ़ाइलें और .idea फ़ोल्डर हटाएँ
  • एंड्रॉइड स्टूडियो को फिर से लॉन्च करें और अपनी परियोजना को फिर से शुरू करें

0

मेरे मामले में, मैंने GUI का उपयोग करके एक नई फ़ाइल बनाई थी और फ़ाइल के भीतर एक इंटरफ़ेस परिभाषित किया था। मुझे यह प्रतीक त्रुटि मिलती रही क्योंकि फ़ाइल "जावा" फ़ाइल नहीं थी। इसका उस पर कोई विस्तार नहीं था।

फ़ाइल एक्सटेंशन को ".java" में संशोधित करने के बाद, सिस्टम सही ढंग से प्रतीकों को ढूंढता है।


0

मेरे मामले में जार फ़ाइल में META-INF / MANIFEST.MF फ़ाइल नहीं थी। एक जोड़ने के बाद, यह काम किया!


0

AndroidStudio 2.2.3 के साथ काम करने वाले मेरे मामले के लिए, समाधान ग्रेडल सेटिंग्स में स्थानीय एक का उपयोग करने के लिए ग्रेडल रैपर / वितरण को बदलना था ("अनुशंसित" होने के बावजूद)। यहां छवि विवरण दर्ज करें


0

इसने मेरे लिए काम किया-- (फाइल -> इंडिकेट कैश) -> (अमान्य और पुनः आरंभ)।


0

मैंने अमान्य कैश / पुनरारंभ या स्वच्छ परियोजना -> पुनर्निर्माण परियोजना की कोशिश की। ये मेरे लिए काम नहीं किया।

अंतिम समाधान IDE के बाईं ओर प्रोजेक्ट विंडो, प्रोजेक्ट मोड के अंतर्गत, .gradle और .idea फ़ोल्डर के तहत खुला था, जब आप कैश को अमान्य कर सकते हैं और पुनः आरंभ कर सकते हैं। इसने इसे ठीक कर दिया।


0

बिल्ड.ग्रेड में कार्यान्वयन के लिए संकलन बदलें।


0

भाषा इंजेक्शन सेटिंग को बदलना मेरे लिए काम करता है।

लाल रेखांकित कोड और किसी पर कर्सर रखें Alt + Enter

यहां छवि विवरण दर्ज करें

अब सेलेक्ट करें Language Injection Settingsऔर एक विंडो खुलेगी जैसा नीचे दिखाया गया है।

यहां छवि विवरण दर्ज करें

चयनित विकल्प को अनचेक करें और Ok पर क्लिक करें

यहां छवि विवरण दर्ज करें

आशा है कि यह किसी की मदद करता है।


0

यह मेरे साथ हुआ जब मैंने पूरी फाइलें हटा .gradle/cachesदीं, तब स्टूडियो ने आश्रितों को डाउनलोड किया। निर्भरता नहीं दिखाई गई External Librariesलेकिन मैं ऐप को सफलतापूर्वक बना सकता हूं। rebuild clean Invalidate and Restartकोई प्रभाव नहीं है। मैंने कदम से समस्या हल की:

  • एंड्रॉइड स्टूडियो को पूरी तरह से बंद करें
  • .ideaअपने प्रोजेक्ट में पैकेज निकालें
  • Android Studio को पुनरारंभ करें

0

मैंने यह कोशिश की है लेकिन मेरे लिए कुछ भी काम नहीं किया:

  • Invalidate Caches / Restart
  • Changing the order of dependencies
  • Sync project with Gradle Files
  • Clean -> Rebuild Project

मेरे मामले में, बस:

  • Delete all files in .idea/libraries folder
  • Rebuild Project

0

मेरे लिए मैंने 4.4 में gradle-wrapper.properties को अपडेट किया

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

0

मुझे सबसे आसान रास्ता मिल गया

उस लाइब्रेरी को पहचानें जो स्टूडियो में वाक्य रचना त्रुटि पैदा कर रही है।

उदाहरण के लिए यदि AppCompatActivityत्रुटि दिखाई दे रही है तो आप नीचे AppCompat निर्भरता पर ऑपरेशन करेंगे।

  • निर्भरता निकालें जो वाक्यविन्यास त्रुटि और सिंक दिखा रहा है।
  • फिर से जोड़ें और सिंक करें।

यही है, त्रुटि हो गई!

इससे पहले

इससे पहले

उपरांत

उपरांत


0

ऊपर दिए गए जवाबों में से कोई भी मेरे लिए काम नहीं करता है।

बहुत कोशिशों के बाद, मैंने कॉम .android.tools.build:gradle को प्रोजेक्ट / बिल्ड.gradle में 2.3.0 से 3.0.1 तक अपग्रेड किया, और यह काम करता है।

मुझे लगता है कि com.android.tools.build:gradle का संस्करण AndroidStudio के संस्करण से मेल खाना चाहिए, और मेरा AS संस्करण 3.2.1 है


0

सभी फाइलों को बंद करना और एंड्रॉइड स्टूडियो को बंद करना मेरे लिए काम करता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.