ग्रहण में Android के लिए विकास करना: R.java पुन: उत्पन्न नहीं करना


309

मुझे पता चला है कि मेरा R.java कभी अपडेट नहीं हुआ है, इसलिए इसमें मेरे नए संसाधनों के बारे में जानकारी नहीं है, इसलिए मैंने इसे हटाने का फैसला किया और सोचा कि एक्लिप्स एक नया उत्पन्न करेगा। लेकिन ऐसा नहीं हुआ, और मेरे पास अब R.java नहीं है। मैं कैसे पुनर्जन्म ले सकता हूं?

मैं विंडोज 7 का उपयोग कर रहा हूं।

टिप्पणियों में से एक: "डूइंग प्रोजेक्ट -> क्लीन जो मेरे लिए समस्या का कारण है। सफाई R.java को हटा देती है ... और जिस भी कारण से प्लगइन फ़ाइल को पुन: उत्पन्न नहीं कर रहा है।"


जब मेरा काम नहीं हुआ तो मेरा समाधान: मुझे SDK प्रबंधक में बिल्ड टूल डाउनलोड करने और फिर सिस्टम को पुनरारंभ करने की आवश्यकता थी। मेरे पास ADT 22.3.0 है।
मोरध्नजाद

जवाबों:


177

यह साइट बताती है:

यदि आप प्रोजेक्ट पर क्लीन रन करते हैं, तो उसे सभी उत्पन्न जावा फाइलों को फिर से तैयार करना चाहिए, अर्थात् आर।

...तथा...

प्रोजेक्ट मेनू के तहत ग्रहण में, स्वचालित रूप से एक विकल्प का निर्माण होता है। इससे आपको R.java फ़ाइल बनाने में मदद मिलेगी और हर बार संशोधन किए जाते हैं। The Clean ... विकल्प भी प्रोजेक्ट के तहत है।

यह साइट एक और उपाय बताती है।


1
किसने सोचा होगा, धन्यवाद दोस्तों +1 यहाँ मुझे अपने लेआउट के साथ एक समस्या थी और इसलिए R.Java नहीं बनाया जा रहा था। महान सिर! चीयर्स।

101
डूइंग प्रोजेक्ट-> क्लीन जो मेरे लिए समस्या का कारण है। सफाई R.java को हटा देती है ... और जिस भी कारण से प्लगइन फाइल को पुन: उत्पन्न नहीं कर रहा है।
15

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

1
मेरे मामले में, इस परियोजना को साफ R.javaकरने से इसे पुन: उत्पन्न करने के बजाय, हटा दिया जाता है। stackoverflow.com/questions/13065425/…
रॉबिनजे

96
यदि आप रेज डायरेक्टरी में कुछ त्रुटियां हैं तो R.java पुन: उत्पन्न नहीं करता है। हटाए गए त्रुटियां -> मेरे मामले में हल की गई समस्या :)
JavaRunner

300

मैंने पाया कि मेरे साथ एक टूटे हुए लेआउट के साथ ऐसा हो रहा है और सब कुछ चल रहा है। आराम करो, यह उस पुरानी गलती की तरह है जब आपने पहली बार प्रोग्रामिंग सी सीखा था जहां आप एक अर्धविराम भूल जाते हैं और यह एक सौ त्रुटियों को उत्पन्न करता है। कई घबराहट, सभी बटन दबाते हैं, और चीजों को बदतर बनाते हैं।

समाधान

  • सुनिश्चित करें कि कुछ भी R.लिंक टूटा हुआ नहीं है। अपनी XML फ़ाइलों में सभी त्रुटियों को ठीक करें । यदि ADK में कुछ भी टूट गया है, Rतो पुन: उत्पन्न नहीं होगा।
  • यदि आप किसी तरह किसी चीज को मारते हैं और import android.Rअपनी गतिविधि में निर्मित होते हैं, तो उसे हटा दें
  • रन प्रोजेक्ट -> क्लीन । यह R और BuildConfig को हटा देगा और पुनर्जीवित कर देगा।
  • सुनिश्चित करें कि परियोजना -> निर्माण स्वचालित रूप से टिक गया है। यदि नहीं, तो इसे मैन्युअली बनाएं Menu -> Project -> Build Project
  • त्रुटियों के गायब होने के लिए कुछ सेकंड प्रतीक्षा करें
  • यदि यह काम नहीं करता है, तो / जीन / फ़ोल्डर के अंदर सब कुछ हटा दें
  • यदि यह अभी भी काम नहीं करता है, तो अपने प्रोजेक्ट पर राइट-क्लिक करके देखें -> Android उपकरण -> प्रोजेक्ट गुण ठीक करें
  • अपनी * .properties फ़ाइलें (अपने ऐप फ़ोल्डर के रूट फ़ोल्डर में) की जाँच करें और सुनिश्चित करें कि वहाँ लिंक टूटे नहीं हैं।
  • अपनी परियोजना> गुण> Android पर राइट-क्लिक करें । पृष्ठ के दाईं ओर प्रोजेक्ट बिल्ड लक्ष्य और लाइब्रेरी अनुभाग देखें। आपका निर्माण लक्ष्य आपके AndroidManifest.xml में लक्ष्य से मेल खाना चाहिए। इसलिए अगर यह AndroidManifest में 17 को लक्षित करने के लिए सेट है, तो सुनिश्चित करें कि लक्ष्य नाम Android 4.2 है। यदि आपकी लाइब्रेरी में संदर्भ के तहत X है, तो लाइब्रेरी को हटा दें और एक ग्रीन टिक होने तक फिर से जोड़ें। यदि आपने कुछ फ़ाइलों और फ़ोल्डरों को इधर-उधर कर दिया है तो ऐसा हो सकता है।

यदि R पुनर्जीवित नहीं होता है तो क्या करें

यह आमतौर पर तब होता है जब आपके पास एक टूटी हुई XML फ़ाइल होती है।

  • मुख्य रूप से /res/फ़ोल्डर के भीतर, अपनी XML फ़ाइलों के अंदर त्रुटियों की जाँच करें
  • सामान्य स्थान हैं /layout/और /values/, खासकर यदि आपने हाल ही में उनमें से एक को बदल दिया है
  • जाँच करें AndroidManifest.xml। मुझे लगता है कि अक्सर मैं एक स्ट्रिंग बदलता हूं और स्ट्रिंग नाम से बदलना भूल जाता हूं AndroidManifest.xml
  • Android SDK Build-toolsस्थापित है कि जाँच करें । विंडो -> एंड्रॉइड एसडीके मैनेजर -> टूल्स -> एंड्रॉइड एसडीके बिल्ड-टूल्स
  • सुनिश्चित करें कि जब आप अपडेट करते हैं Android SDK Tools, तो आप भी अपडेट करते हैं Android SDK Platform-toolsऔर Android ADK Build-tools। यदि वे मेल नहीं खाते, तो चुपचाप निर्माण विफल हो जाता है।
  • यदि आपको समस्या नहीं मिल रही है, तो स्थानीय इतिहास से राइट / जीन / -> रिस्टोर करें ... -> टिक आर.जवा -> रिस्टोर पर क्लिक करें । यहां तक ​​कि अगर यह समस्या को हल नहीं करता है, तो यह समस्या को खोजने में आसान बनाने के लिए अतिरिक्त त्रुटियों को दूर करेगा।

21
यह शीर्ष उत्तर होना चाहिए!
john.k.doe

6
वास्तव में, इसने मुझे एहसास दिलाया कि मेरे वातावरण को अभी भी उपकरणों के अद्यतन की आवश्यकता है।
वुडालिग.आस

11
Window-> Android SDK Manager-> Tools-> Android SDK Build-tools यह मेरे लिए समाधान है, upvoted

1
मैंने दर्जनों उत्तर पढ़े और केवल इसने एसडीके बिल्ड-टूल्स के लिए जाँच का उल्लेख किया। जब मैंने ऐसा करने की पेशकश की तो मैंने अपने सभी एंड्रॉइड टूलिंग को नेत्रहीन डाउनलोड करने और स्थापित करने दिया। यह पूरी तरह से उस हिस्से को याद किया।
जस्टिन एक्वाड्रो

1
कंसोल की जाँच करें, आपको विस्तृत त्रुटि दे सकता है जिसे ठीक करने की आवश्यकता है, और फिर आप निर्माण कर सकते हैं। इसने मेरे मामले में मदद की
david72

40

मेरी भी यही समस्या थी। जब मैंने इसकी जाँच की तो मैंने पाया कि लेआउट के अंतर्गत XML संसाधन का नाम सही नामकरण सम्मेलन नहीं था। इसके कुछ बड़े अक्षर थे। इसलिए मैंने इसका नाम बदलकर सभी अक्षरों को नीचे कर दिया और जादू का काम किया।


2
tnx ... मूर्खतापूर्ण मुझे लगता है कि मैं अपने लेआउट नामों में ऊपरी मामले का उपयोग कर सकता हूं
केविन

मेरे लिए भी काम किया: कंसोल ने यह सूचना दी: [2010-09-22 16:19:40 - myproject] res \ drawable-ldpi \ downloadNow.png: अमान्य फ़ाइल नाम: में केवल [a-z0-9_] शामिल होना चाहिए
sami

1
धन्यवाद, यह मेरी समस्या थी। मेरे पास लेआउट फ़ोल्डर में एक .xml फ़ाइल थी जिसमें एक राजधानी थी, और मेरा पूरा R.java गायब था / इसकी वजह से उत्पन्न नहीं होगा। यह जानने का एकमात्र तरीका यह था कि नामकरण सम्मेलन एक पूंजी की अनुमति नहीं देता था; कोई त्रुटि उत्पन्न नहीं हुई थी।
लेम्मिंग्स 19

1
जब संसाधन फ़ाइलों या विशेषताओं का नामकरण किया जाता है, तो इसे नाम देने की कोशिश करें जैसे कि जावा में एक चर का नाम। R.class उन संसाधनों को रखता है जो सार्वजनिक स्थैतिक अंतिम स्थिर मामलों के साथ id, drawable, xml फ़ाइल नाम रखते हैं, इसलिए "-", "विशेष वर्ण" को R उत्पन्न करना बंद कर देगा, क्योंकि उन प्रतीकों में अन्य अंकगणितीय साधन हो सकते हैं।
आयरनबेलसम

1
हां, यह मेरे लिए समस्या थी। मेरे रेस / xml में एक फ़ाइल ने एक लेआउट फ़ाइल को संदर्भित किया जो मौजूद नहीं थी, और जाहिर तौर पर यह R.java उत्पन्न नहीं होने का कारण बनता है, इसलिए यदि मैं क्लीन रन करता हूं, तो एक लापता R.java का कारण बना, जिसके परिणामस्वरूप सैकड़ों आयात त्रुटियां हुईं ...
सेरिन

28

R.class अचानक गायब होने का एक कारण यह हो सकता है कि आपके द्वारा XML फ़ाइलों में त्रुटियां हों। उदाहरण के लिए, जब आप myCoolLayout.xml जैसे नाम में अपरकेस अक्षरों के साथ XML फ़ाइल जोड़ते हैं, जिसकी अनुमति नहीं है। या जब आपके पास संदर्भ होते हैं जो मौजूदा फ़ाइलों आदि की ओर इशारा नहीं करते हैं।


17

ग्रहण में, परियोजना का उपयोग करें -> स्वच्छ परियोजना को साफ करने के लिए। R.java स्वचालित रूप से (पुनः) होने वाला है।

यदि किसी कारण से जो काम नहीं करता है: सुनिश्चित करें कि आपके लेआउट। Xml फ़ाइलों में त्रुटियाँ नहीं हैं। यहां ग्रहण थोड़ा छोटा लग रहा है: कभी-कभी यह XML के भीतर त्रुटियों को चिह्नित नहीं करता है और न ही पैकेज एक्सप्लोरर। ऐसे मामले में: "क्लीन" का उपयोग करने के बाद "कंसोल" या "समस्याओं" को देखें। सभी त्रुटियों को वहां प्रदर्शित किया जाना चाहिए। उन्हें ठीक करें और एक साफ फिर से करें।

नोट: अनुपलब्ध R फ़ाइल के कारण आपके द्वारा प्राप्त त्रुटियों को ठीक करने के लिए यह आवश्यक नहीं है! बस XML फ़ाइलों और अन्य प्रोजेक्ट त्रुटियों को ठीक करें और साफ उपयोग करें!


सुनिश्चित करें कि आपके संसाधन फ़ाइल नामकरण कन्वेंशन सही हैं। @Masi साफ करने के बाद त्रुटियों के लिए "कंसोल" देखने की आपकी टिप के लिए धन्यवाद। इससे मुझे मदद मिली।
भरत बोषन

10

जल्दी ठीक:

मेनिफ़ेस्ट में पैकेज का नाम /srcफ़ोल्डर में एक के समान होना चाहिए , /genफ़ोल्डर पैकेज स्वचालित रूप से पुन: पेश किया जाएगा।

विस्तृत अवलोकन:

/genफ़ोल्डर में पैकेज का नाम देखें । मेरे मामले में यह /srcफ़ोल्डर में एक से अलग था ।

प्रकट में संदर्भित पैकेज /genफ़ोल्डर का था।

मैंने /srcफ़ोल्डर के नाम के साथ एक पैकेज को फ़ोल्डर में जोड़ने का प्रयास /genकिया, यह भी देखें कि क्या हुआ होगा, लेकिन इससे समस्या हल नहीं हुई। मैं तब पैकेज नाम को हटाने के लिए आगे बढ़ा जो कि /srcफ़ोल्डर के पैकेज नाम के समान नहीं था । नाम के साथ यह पैकेज जो /srcफ़ोल्डर के अनुरूप नहीं था, जैसे ही मैंने इसे हटाया, इसे फिर से बनाया गया।

चूंकि मेनिफेस्ट में पैकेज का संदर्भ उस व्यक्ति के अनुरूप था, जिसे बेवजह रीक्रिएट किया जा रहा था और जो /srcफ़ोल्डर में पैकेज के साथ मेल नहीं खाता था , इसके कारण package = "oldPackage"उसका नाम बदलने के लिए प्रेरित किया गया package = "srcFolderPackage"


9

मेरे पास एक ही मुद्दा था, और मुझे आखिरकार समस्या मिली: स्ट्रिंग्स.एक्सएमएल में, मैंने <string name="app_name">program-name</string>नई एंड्रॉइड परियोजना बनाते समय लाइन को डिफ़ॉल्ट रूप से मौजूद नहीं रखा । मुझे लगा कि यह केवल HelloWord कार्यक्रम के लिए उपयोग किया जाता है, जो कि मूल कार्यक्रम है।

हालाँकि, AndroidManifest.xml इस मान को संदर्भित करता है, इसलिए:

=> एक संकलन त्रुटि;
=> R.java अपडेट नहीं किया गया है;
=> पहचान नहीं है आईडी ...


string.xml में लाइन "<string name =" app_name "> प्रोग्राम का नाम </ string>" है। क्षमा करें, मुझे अपनी पोस्ट से समस्या थी।
Glaux

9

एंड्रॉइड ने बिल्डिंग मैकेनिज्म के लिए SDK बिल्ड टूल ADT 22 में जोड़ा है। आपको बस निम्नलिखित कदम करने की आवश्यकता है।

  1. Android SDK टूल अपडेट करें
  2. Android SDK प्लेटफ़ॉर्म टूल अपडेट करें
  3. Android SDK बिल्ड टूल अपडेट करें
  4. अपने निर्माण उपकरण के पथ को पथ चर में जोड़ें। (---- अप करने के लिए अपना रास्ता-पथ \ android-sdk \ build-tools)

इससे समस्या सुलझ जाएगी।


मेरा उत्तर केवल वही है जो प्रश्न से संबंधित है। अभी भी केवल 3 वोट मिले। अजीब!
मि। इंडिया जूल

8

यदि आपका R.java उत्पन्न नहीं हो रहा है, तो इसका एक समाधान "blabla.out.xml" नामक लेआउट फ़ाइल को हटाना है।

इस फ़ाइल को हटाने के बाद, मेनू प्रोजेक्ट से प्रोजेक्ट को साफ़ करने का प्रयास करें -> क्लीन


7

ग्लौक्स के उत्तर के सामान्यीकरण के रूप में, यदि आपके पास निर्देशिका में कोई त्रुटि है res, तो R.java उत्पन्न नहीं हो सकता है - भले ही आप साफ और पुनर्निर्माण करें। उन त्रुटियों को पहले हल करें।

एक उदाहरण के रूप में: जब आप कहते हैं, "myimage-2.jpg" की एक छवि फ़ाइल जोड़ते हैं, तो सिस्टम इस त्रुटि पर विचार करेगा, क्योंकि फ़ाइल नाम अल्फ़ान्यूमेरिक मानों तक सीमित हैं। किसी भी फाइल को जोड़ने के बाद अपनी 'रेस' डायरेक्टरी पर रिफ्रेश करें और किसी भी फाइल नेम चेतावनियों के लिए अपने कंसोल विंडो में आउटपुट देखें।


बिल्कुल सही! यह मेरे साथ हर एक बार होता है जब मैं अपने स्ट्रिंग्स में नाम बदल देता हूं। xml। यह मेरी लेआउट फ़ाइलों में झूलने वाले संदर्भ बना सकता है। और यह R.java के उत्पादन को रोकता है। बहुत बुरा वहाँ XML IDs refactor के लिए कोई रास्ता नहीं है।
स्कॉट बिग्स

6

यदि आपका OS उबंटू है, तो मैं कुछ सुझाव दे सकता हूं:

  1. Ia32-lib स्थापित या अपग्रेड करें:

    sudo apt-get upgrade ia32-libs
  2. जाँचें कि क्या आपके पास aapt फ़ोल्डर पर सही अनुमति है:

    cd ANDROID/adt-bundle-linux-x86_64-20130522/sdk/build-tools/android-4.2.2
    chmod 777 aapt
  3. ग्रहण शुरू करें:

    sudo eclipse
  4. रन प्रोजेक्ट -> ग्रहण में साफ


अति उत्कृष्ट। और यह भी अदब का काम करता है। बस मुझे याद दिलाएं जब मुझे ubuntu को फिर से स्थापित करना चाहिए।
युंग

डेबियन
am6464 के

यह उत्तर stackoverflow.com/questions/19523502/… नए सिरे से निर्देश प्रदान करता है, ia32-lib एलिमेंट्री पर मौजूद नहीं था
8

6

XML-फ़ाइल में आपके पास 100% त्रुटि है , लेकिन XML सत्यापन आपको त्रुटि नहीं दिखाता है। यही कारण है कि आपको पहले अपनी एक्सएमएल फाइलों की जांच करने की आवश्यकता है!


5

यह ग्रहण में समस्या टैब पर एक नज़र डालने में मददगार है । मेरे मामले में, मुझे " android-8 'लक्ष्य को हल करने में असमर्थ " त्रुटि संदेश " मिल रहा था जो R.java को उत्पन्न होने से रोकता था। इसलिए, मैंने डिफ़ॉल्ट.प्रयोग फ़ाइल में उपयोग किए जा रहे आयात लक्ष्य को सही किया , फिर मैंने प्रोजेक्ट्स के माध्यम से एक क्लीन प्रदर्शन किया-> क्लीन एंड वॉयला! R.java स्वतः उत्पन्न होता है! आशा है ये मदद करेगा!


समस्याओं के टैब को इंगित करने के लिए धन्यवाद। Im Android और ग्रहण के लिए नया है, इसलिए पहले इसका इस्तेमाल नहीं किया था और निराश हो रहा था। इस त्रुटि का सामना करते समय यह पहली जगह है।
मांदिनेश

4

सफाई परियोजना, ग्रहण को बंद करना, इसे फिर से खोलना और मेरी परियोजना को शुरू करना आखिरकार मेरे आर.जवा को फिर से प्रकट करने के लिए बनाया गया ... आशा है कि इससे मदद मिलेगी


मुझे भी रिबूट करना पड़ा, एक्लिप्स गुम होने की शिकायत कर रहा था लेकिन यह मौजूद था ....
फिलिप्पो माज़ा


4

यदि resफ़ोल्डर में कोई त्रुटि है, तो R.java कभी भी उत्पन्न नहीं होगा । उदाहरण के लिए, ड्रॉबल सबफ़ोल्डर में दो फाइलें होती हैं जिनमें एक ही नाम होता है, एक icon.png और दूसरी icon.html होती है।

आप ग्रहण कंसोल लॉग विंडो में कुछ त्रुटि देख सकते हैं जो कह रही है "संसाधन प्रविष्टि आइकन पहले से ही परिभाषित है।" Icon.html हटाने के बाद, आप genफ़ोल्डर को साफ या बस हटा सकते हैं । आप पाएंगे कि R.java बनाया गया है।


4

मैंने पाया है कि फ़ोल्डर में बड़े अक्षरों वाली कोई भी फाइल यह त्रुटि पैदा करेगी। मेरे साथ ऐसा हुआres PNG फ़ाइल के और मैं भूल गया।


3

कई पोस्ट और YouTube वीडियो के माध्यम से पढ़ने के बाद, मैंने पाया कि हममें से प्रत्येक R.javaअलग-अलग कारणों से गायब है।

यहां बताया गया है कि मैंने ग्रहण में यह कैसे तय किया:

  • genफ़ोल्डर में R.java बनाएँमैन्युअल रूप से और सहेजें।
  • इसके बाद प्रोजेक्ट पर जाएं और "क्लीन" पर क्लिक करें

निम्न संदेश प्रदर्शित होगा और आपकी फ़ाइल स्वचालित रूप से फिर से लिखी जाएगी:

R.java को मैन्युअल रूप से संशोधित किया गया था! उत्पन्न संस्करण में बदलने!


1
अनूप ..मैंने उस /// को हटा दिया, लेकिन जब मैंने इसे साफ किया तो केवल हटा दिया गया ... समस्या अभी भी मेरे लिए अनसुलझी है!
ईजियरेक्स

3

मेरे लिए, मैंने दो बार v7 appcompat को लिंक किया था। किसी भी तरह, ग्रहण में, पैकेज एक्सप्लोरर या नेविगेटर में प्रोजेक्ट नाम पर राइट क्लिक करें, गुण पर जाएं, एंड्रॉइड, और लाइब्रेरी अनुभाग में किसी भी डुप्लिकेट को अनचेक करें। आपको बिल्ड -> बाद में साफ करने की आवश्यकता हो सकती है।


2

इसका स्पष्ट रूप से कोई अंतिम जवाब नहीं है, लेकिन यहाँ एक और एक है जिसे मैं यहाँ पहले से नहीं देख रहा हूँ:

मैं लिया है R.java(प्रयास करने से) एक टीम सिंक्रनाइज़ के बाद गायब हो जाते हैं, और वहाँ परियोजना (यानी, में संघर्ष समाधान फ़ाइलों थे thingy.xml.mine, thingy.xml.r35, आदि)। उन्हें हटा देना / पुनः प्राप्त संघर्षों को हल करना R


2

मुझे यह समस्या थी। गलती से मैंने इसे डिलीट कर दिया

xmlns:tools="http://schemas.android.com/tools"

जो मेरी XML फ़ाइलों के साथ-साथ मेरी जावा फाइलों में पूरे प्रोजेक्ट में त्रुटि पैदा करने लगा। जैसे ही मैंने पुनः हटा दिया कि मैंने क्या हटाया, इसने फिर से काम किया :)


2

ठीक है तो यह स्पष्ट है कि इस समस्या के कई कारण हो सकते हैं। यदि आप 64 बिट लाइन मशीन पर हैं और आप पहली बार ADT की स्थापना कर रहे हैं, तो आपको यह समस्या आ सकती है जहाँ R स्वतः उत्पन्न नहीं हो रहा है। कंसोल टैब की जाँच करें और आप के समान त्रुटि देख सकते हैं:

 'No such file or directory' while attempting to get adb version from '/home/patrick/code/android-sdks/platform-tools/adb'

अगर ऐसा है तो आपको कुछ का उपयोग करके ia32-lib स्थापित करने की आवश्यकता है:

 sudo apt-get install ia32-libs

विवरण के लिए यहां देखें: Android adb नहीं मिला


2

मैं कुछ बार इस समस्या को लेकर आया हूं। मैंने पाया कि अगर मैंने अपने आवेदन के नाम के माध्यम से पैकेज आर का आयात नहीं किया है, उदाहरण के लिए, यदि मेरे आवेदन में पैकेज का नाम example.test है, तो मैंने पाया कि मुझे किसी भी का उपयोग करने के लिए example.test.R को आयात करना पड़ा। संसाधनों।

यदि यह आयात नहीं किया गया था, तो संसाधन जहां वापस लौट रहे थे, उनमें से कोई भी स्वयं के साथ डिफ़ॉल्ट संसाधन नहीं थे।

इसके साथ ही यदि आप पाते हैं कि आप केवल डिफ़ॉल्ट संसाधनों की एक सूची प्राप्त कर रहे हैं, तो बस यह सुनिश्चित करने के लिए जांचें कि आप application_package_name.R को आयात कर रहे हैं, न कि android.R।


2

मेरी समस्या यह थी कि appcompatमेरी परियोजना के समान निर्देशिका में नहीं था।

मुझे चींटी के साथ अपने ऐप को संकलित करते समय यह पता चला ।


1

यह भी सुनिश्चित करें कि आपके पास एडीटी प्लगइन का नवीनतम संस्करण है, और सभी एसडीके टूल को नवीनतम संस्करण में अपडेट करने के लिए एंड्रॉइड एसडीके प्रबंधक खोलें। स्वयं ग्रहण में भी अपडेट की जाँच करें। गैर-मिलान वाले संस्करण मेरे लिए समस्या का कारण बने।


1

मेरी समस्या एक मेनू फ़ाइल के अंदर थी। संकलक आपको चेतावनी नहीं देता है कि क्या तार जो अंदर मौजूद नहीं हैं strings.xml, मेनू फ़ाइलों में संदर्भित हैं। जाँच करें कि क्या आपके itemमेनू में XML फ़ाइलें किसी भी तार का संदर्भ देती हैं जो आपके में मौजूद नहीं हैं strings.xml। आम तौर पर में android:title


1

मेरे लिए, यह त्रुटि तब हुई जब मैंने res/menuएक के साथ एक बनाने के बजाय एक मौजूदा डुप्लिकेट करने की कोशिश की wizard


1

यदि आप मावेन का उपयोग करते हैं तो ये सभी उत्तर काम नहीं कर सकते हैं। मेरे लिए समाधान जोड़ना था

<genDirectory>${project.basedir}/gen</genDirectory>

एंड्रॉइड-मावेन-प्लगइन के कॉन्फ़िगरेशन अनुभाग के लिए।


1

मैंने एक समाधान पाया कि आरक्लास को फिर से बनाने के बाद ग्रहण द्वारा क्यों नहीं बनाया गया है - 2 साफ, निर्माण, आदि।

समस्या यहाँ स्ट्रिंग्स में है। xml:

<string name="hello">Hello World, HelloAutoComplete!</string>

<string name="app_name">HelloAutoComplete</string>

जब आप प्रोजेक्ट बनाते हैं तो ये डिफ़ॉल्ट रूप से एक्लिप्स द्वारा बनाए जाते हैं।

निश्चित रूप से आप अपनी आवश्यकता के लिए strings.xml बदल रहे हैं। कभी-कभी आप अपने कोड से string.xmls इन दो लाइनों को साफ करते हैं:

यह AndroidManifest.xml फ़ाइल में एक समस्या बना रहा है:

<application android:icon="@drawable/icon"  android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">

तो यह strings.xml के साथ संवाद नहीं कर सकता।


1

मैंने अपना लेआउट XML फ़ाइल नाम बदल दिया और बाद में पता चला कि XML फ़ाइल (इस मामले में विजेट प्रदाता) अभी भी पुराने लेआउट एक्सएमएल को संदर्भित करता है जो मौजूद नहीं है, और जिसने आर श्रेणी के ऑटो पीढ़ी / सुधार को रोका।

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