2010-12-06 18 views
6

पर एंड्रॉइड "जेन" फ़ोल्डर नहीं कर सकता है, मैं एक एंड्रॉइड प्रोजेक्ट के लिए गिट समर्थन प्रदान करने के लिए ग्रहण में ईजीट का उपयोग कर रहा हूं। समस्या यह है कि स्थानीय प्रोजेक्टरी में मेरी परियोजना को करने के बाद मुझे एहसास हुआ कि "जेन" फ़ोल्डर प्रतिबद्ध नहीं हो रहा था।गिट

ERROR: Unable to open class file D:\CodeRep\POCs\Java\Android\Sudoku\gen\org\blah\example\R.java: No such file or directory

क्यों मैं करने के लिए "जनरल" फ़ोल्डर के लिए प्रतिबद्ध नहीं कर सकते हैं: इस के परिणामस्वरूप जब मैं Git भंडार से नवीनतम स्रोत हो रही मैं निम्नलिखित त्रुटि प्राप्त हो रही के बाद एक और मशीन पर परियोजना को खोलने का प्रयास ग्रहण से गिट? सब कुछ ठीक हो जाता है इसलिए मैं इसे दूरस्थ भंडार में धक्का दे सकता हूं।

+2

आपको 'gen/'फ़ोल्डर नहीं करना चाहिए। मुझे लगता है कि आपको अपनी परियोजना पर 'क्लीन' या कुछ अन्य ग्रहण समारोह का उपयोग करना होगा। – Jonas

+0

एंड्रॉइड टूल्स 8 ने बदल दिया है कि डिफ़ॉल्ट रूप से जेन फाइलों को शामिल करने की इजाजत नहीं है –

उत्तर

13

आपको gen फ़ोल्डर का पालन नहीं करना चाहिए; इसमें जेनरेट कोड शामिल है और स्रोत नियंत्रण में नहीं है। यदि आप निर्माण स्क्रिप्ट का उपयोग कर रहे हैं तो आपको उस मशीन पर पुन: प्रयास करना चाहिए जिसे आप स्रोत कोड खींचते हैं या तो ग्रहण "प्रोजेक्ट -> क्लीन" या कमांड लाइन "ant clean" पर कमांड लाइन।

3

यह जेनरेट कोड की एक फ़ाइल है, आप आमतौर पर केवल गिट के स्रोत ही प्रतिबद्ध होंगे।

आपको इसे जांचने पर शायद अपनी परियोजना को साफ करने की आवश्यकता है, शायद आपको कुछ अन्य ऑब्जेक्ट फ़ाइलों को गलती से प्रतिबद्धता में शामिल किया गया है, ऐसा लगता है कि यह पहले ही बनाया जा चुका है।

3

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