2011-04-28 15 views
14

मुझे gen/r.java फ़ाइल में कोई समस्या है। जब मैं लेआउट /values/strings.xml e.t.c जैसे संसाधनों में फ़ाइलों को बना या संपादित करता हूं तो r.java फ़ाइल अद्यतन नहीं होती है। मैंने एक ट्यूटोरियल का पालन किया है और यह किसी कारण से अपडेट नहीं होगा। एक्सएमएल फ़ाइल में कोई त्रुटि नहीं है।एंड्रॉइड आर। जावा समस्याएं। आर। जावा फाइल अपडेट नहीं है?

मैंने लोगों को "साफ/निर्माण का उपयोग करें" e.t.c कहा है, लेकिन यह सिर्फ r.java फ़ाइल को हटा देता है और मैं कई प्रयासों के बाद इसे वापस पाने में असमर्थ हूं। इसके परिणामस्वरूप मुझे जेन फाइल को वापस पाने के लिए फिर से पूरी परियोजना को दोबारा शुरू करना होगा। ये क्यों हो रहा है?

+0

क्या आपने अपने आवेदन का पैकेज बदल दिया था? यदि ऐसा है, तो आपको इसे androidManifest.xml में भी अपडेट करना चाहिए। – rekaszeru

उत्तर

6

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

+0

दाएं सवाल के लिए हाय क्षमा करें क्योंकि मैं एंड्रॉइड प्रोग्रामिंग के लिए थोड़ा नया हूं। Mainfest.xml फ़ाइल में मुझे कौन से परिवर्तन करना चाहिए? कोई त्रुटि नहीं प्रतीत होती है? – Superunknown

+0

मुझे लगता है कि वह सिर्फ एक अतिरिक्त जगह कहीं भी रखता है और बचाता है। वह उम्मीद करता है कि यह आरजेवा के पुनर्जनन को मजबूर करे। – Haphazard

+0

बस एक नकली संशोधन करें, यानी "एक व्हाइटस्पेस जोड़ना, फिर इसे हटा देना" – Albinoswordfish

7

परियोजना -> मेरे लिए साफ काम करता है। आरजेवा हटा दिया गया है & ऑटो जेनरेट किया गया।

0

जांच करें कि आईडी foreach यूआई तरह

एंड्रॉयड है: = आईडी "@ एंड्रॉयड: आईडी/टैब"

मैं एक ही समस्या थी, और इस तरह से बदल रहा है:

एंड्रॉइड: आईडी = "@ + आईडी/टैब"

समस्या हल हो गई!

1

इसकी एक अच्छी संभावना है क्योंकि आप अपने res फ़ोल्डर में उचित नामकरण सम्मेलनों का पालन नहीं कर रहे हैं। मेरे पास यह वही मुद्दा था और - इंटेलिज आईडीई का उपयोग करके - राइट फ़ाइल पर राइट क्लिक किया गया और 'फोर्स रीजनरेट आर' दबाएं। Intellij मुझसे कहा:

अवैध फाइल का नाम: शामिल होना चाहिए केवल [एक-Z0-9] नहीं

तो, क्या दूसरों को यहाँ कहा है के अलावा, अपने नामकरण सम्मेलनों की जाँच करें और सुनिश्चित करें कि आपके पास आपके द्वारा अपने res फ़ोल्डर में डाली गई फ़ाइलों में किसी भी कैप्स, अंडरस्कोर, डैश इत्यादि शामिल हैं।

0

मैं इस समस्या से पहले था, यहाँ कुछ तरीके यह

1. make sure in the Manifest.xml that the package is set to the right name. 
2. make sure your gen matches your package name example 

gen/com.expample.pack/R.java 

इसके अलावा, मैं अगर आप इसे ग्रहण यह पुन: उत्पन्न होगी में संपादित पाया है ठीक करने के लिए कर रहे हैं।

5

यह आपके लिए काम करेंगे ..... जाओ परियोजना> साफ। यह आपके आरजेवा उत्पन्न करेगा या आप अपना आरजेजा और ग्रहण हटा सकते हैं स्वचालित रूप से आपके आरजेजा उत्पन्न करेंगे।

1

मुझे अपने प्रोजेक्ट के दौरान एक ही समस्या का सामना करना पड़ता है। सुनिश्चित करें कि किसी भी XML फ़ाइल में कोई त्रुटि नहीं है। यदि xml में से एक त्रुटि जिसमें त्रुटि R.java फ़ाइल अद्यतन नहीं है।

1

आपको पैकेज के लिए सही पथ के लिए अपनी मेनिफेस्ट फ़ाइल जांचनी चाहिए। आम तौर पर जब परिवर्तन होते हैं तो हम मुख्य गतिविधि के लिए कक्षा पथ के बारे में भूल जाते हैं या हम मुख्य श्रेणी या पैकेज का नाम बदलते हैं। फिर आर फ़ाइल को हटा दें और आर फ़ाइल को पुन: उत्पन्न करने के लिए प्रोजेक्ट -> क्लीन करें। उम्मीद है की यह मदद करेगा।

1

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

0

मास्टर हमेशा एक समाधान है। (सभी समाधान अच्छा नहीं कर रहे हैं)

अनुभव सभी

की तुलना में बेहतर है, तो आपके समस्या यह है कि "जनरल/R.java" अपडेट नहीं हो रहा है नया आईडी, drawable या स्ट्रिंग्स है कि आपने घोषित किया है, यह बस इसलिए है क्योंकि आपके एक या कुछ XML पृष्ठों में घातक त्रुटि है।

  • 1: समय की सबसे यह res/values ​​/ string.xml फ़ाइल के साथ है, तो फ़ाइल में जाना है, यकीन है कि नोटिस एक के लिए "ressources" तो के अधिकार पर क्लिक करें "एक्सएमएल देखें" आप करेंगे अपने एक्सएमएल पेज के दाएं या बाएं ओर लाल निशान।

    • उस पर फोकस:
      • आप की तरह कुछ पढ़ सकते हैं "त्रुटि: \ (...) से पहले नहीं apostrophe"। इसका अर्थ है आपके पाठ में, एक या अधिक apostrophes है। समाधान सभी apostrophes \ back-slash के साथ आगे बढ़ना है। -
        • आप दबाए गए सभी एस्ट्रोफ़ेस को ठीक कर सकते हैं: CTRL + F और पहले बॉक्स में एक एस्ट्रोफ़े (') डालें और फिर दूसरे पर। फिर संवाद के नीचे "सभी को बदलें" बटन पर क्लिक करें।
  • 2: मुझे अपने त्रुटि दिखा सकते हैं, और मैं में 1 घंटे से भी कम समय

+0

मुझे यकीन नहीं है कि मूल प्रश्न यह पूछ रहा है कि ... –

-1

मैं यह त्रुटि आई आप जवाब देंगे, जबकि मैं के तहत फाइलों में ऊंट नामकरण सम्मेलनों का इस्तेमाल किया मेरे आवेदन का res फ़ोल्डर।

मैंने उन्हें सही किया है और मेरी परियोजना को साफ किया है, यह मेरी समस्या का समाधान करता है।

1

समस्या यह हो सकती है कि आपके पास फ़ाइल के प्रमुख या उसके पास 'आयात android.R' है। यदि यह मामला है, तो लाइन को हटाएं और पुनः प्रयास करें।

संबंधित मुद्दे