2015-07-09 19 views
8

के तहत प्रकट नहीं होता है, मैं एंड्रॉइड स्टूडियो और ग्रैडल का उपयोग करके एक एंड्रॉइड प्रोजेक्ट विकसित कर रहा हूं।बाहरी AndroidManifest.xml प्रोजेक्ट व्यू फलक

मेरी परियोजना का AndroidManifest.xml बाहरी फ़ोल्डर के नीचे स्थित है। मैं इसे की ओर इशारा करते रहा हूँ build.gradle फ़ाइल में निम्न कोड का उपयोग कर:

sourceSets { 
    main { 
     manifest.srcFile '..\\..\\..\\sources\\AndroidManifest.xml' 
    } 
} 

सब कुछ अच्छा काम करता है, इस परियोजना को संकलित करता है और रन, सिवाय मैं परियोजना संरचना के अंतर्गत AndroidManifest.xml फ़ाइल का पता नहीं कर सकते हैं, का उपयोग करते समय परियोजना दृश्य फलक।

Project Structure

शायद मैं build.gradle फाइल करने के लिए कुछ और जोड़ने की जरूरत है?

+0

प्रोजेक्ट संरचना केवल परियोजना के रूट फ़ोल्डर से ज़ोर देगी। फ़ाइल -> ओपन का उपयोग करके एक बार मैनिफेस्ट खोलें और फिर फ़ाइलों के बीच स्विच करने के लिए Ctrl + टैब शॉर्टकट का उपयोग करें – 3xplore

+0

मुझे यकीन नहीं है कि आपका क्या मतलब है "प्रोजेक्ट स्ट्रक्चर परियोजना के रूट फ़ोल्डर से ही ज़ोर देगा"। अगर मैं इसे फ़ाइल के साथ खोल रहा हूं -> खुला, यह इसे एक मान्य मैनिफेस्ट फ़ाइल नहीं पहचानता है, और बहुत सारी लिंट त्रुटियों को दिखाता है। – Danny

उत्तर

0

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

यदि आपको वास्तव में बाहरी स्थान पर AndroidManifest.xml की आवश्यकता है, तो उस स्थान पर प्रतीकात्मक लिंक बनाने के बारे में सोचें जहां एंड्रॉइड स्टूडियो की अपेक्षा है।

+0

आपके उत्तर के लिए धन्यवाद। आम तौर पर, मैं प्रोजेक्ट स्कोप के बाहर मैनिफेस्ट को बनाए रखने की अनुशंसा नहीं करता। लेकिन यह इस स्थिति में दिया गया है। प्रतीकात्मक लिंकिंग हमारे लिए एक अच्छा समाधान नहीं है, क्योंकि हम स्रोत नियंत्रण का उपयोग कर रहे हैं, जिसका अर्थ है कि प्रत्येक मशीन पर प्रत्येक टीम के सदस्य को प्रतीकात्मक लिंकिंग जोड़ने की आवश्यकता होगी। इसके अलावा, हमें हर नई मशीन के लिए इस प्रक्रिया को करने की याद रखना होगा। – Danny

0

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

+0

यह सच नहीं है। मैं 'java.srcDirs = [' .. \\ .. \\ कुछ \\ स्रोत \\ पथ '] के साथ बाह्य स्रोत भी जोड़ रहा हूं और बाहरी स्रोत प्रोजेक्ट फलक के अंतर्गत दिखाए जा रहे हैं। – Danny

+0

मैं माफी चाहता क्या मैं आपकी मदद नहीं कर सकता हूँ, तो – DDsix

0

एंड्रॉइड स्टूडियो (और इंटेलिजे), इस धारणा के तहत निर्माण कर रहे हैं कि आपका सभी स्रोत एक "प्रोजेक्ट" फ़ोल्डर में है। यही कारण है कि परियोजना दृश्य में केवल प्रोजेक्ट में फ़ाइलें शामिल हैं, इसे केवल एक फ़ाइल पेड़ दिखाने के लिए डिज़ाइन किया गया है।

मैंने अभी इसका परीक्षण किया है, आप अपने बाहरी प्रकट होने के लिए एंड्रॉइड व्यू (आपके द्वारा पोस्ट किए गए स्क्रीनशॉट में अन्य विकल्पों में से एक) का उपयोग कर सकते हैं। संपादन के दौरान कुछ कार्यक्षमता अक्षम या टूटी हुई है। यह संभव है क्योंकि एंड्रॉइड व्यू आपके प्रोजेक्ट के लिए सभी प्रासंगिक स्रोत दिखाने के लिए है, भले ही आपके पास बाहरी मैनिफेस्ट की अजीब आवश्यकता हो।

लेकिन कृपया, इसे सीधे अपनी परियोजना में ले जाने या प्रतीकात्मक लिंक का उपयोग करने पर विचार करें। आप बहुत खुश होंगे।

+0

स्रोतों के बारे में, मैं कई स्रोत फ़ोल्डर जो मैं निम्नलिखित तरीके से Gradle में जोड़ने के लिए है: 'java.srcDirs = [ '.. \\ .. \\ कुछ \ \ स्रोत \\ पथ ',' \\ .. \\ .. \\ .. \\ कुछ \ अन्य \ path '] '। वे सभी "प्रोजेक्ट" व्यू फलक के अंतर्गत दिखाई देते हैं। जैसा कि आपने कहा था, एंड्रॉइड व्यू में कुछ कार्यक्षमता टूट गई है, इसलिए इसका उपयोग करना हमारे लिए एक अच्छा समाधान नहीं है। प्रतीकात्मक जोड़ने नहीं भी हमारे लिए एक अच्छा समाधान है, हम स्रोत नियंत्रण, कि हर मशीन पर हर टीम के सदस्य प्रतीकात्मक जोड़ने जोड़ने की आवश्यकता होगी, जिसका मतलब है प्रयोग कर रहे हैं के रूप में है। इसके अलावा, हमें हर नई मशीन के लिए इस प्रक्रिया को करने की याद रखना होगा। – Danny

0

इसे उस निर्देशिका के करीब रखें जिसमें आप हैं या यदि आवश्यक हो, तो इसे करीब ले जाएं। ".. \ स्रोत \ AndroidManifest.xml"

+0

AndroidManifest.xml स्थान एक मेरी स्थिति में दी गई है। मैं इसे करीब नहीं ले जा सकता। – Danny

+0

यदि यह विंडोज़ आप शायद यह बहुत लंबा हो होने से निर्देशिका पथ तोड़ रहे है। – ActionON

+0

नहीं, यह एक लंबा मुद्दा नहीं है। इसे छोटे रास्ते के साथ कोशिश की। इसके अलावा, मैं के साथ 'java.srcDirs = अब रास्तों का उपयोग कर रहा [ '.. \\ .. \\ कुछ \\ स्रोत \\ पथ']', और वे ठीक काम करते हैं। – Danny

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