दिलचस्प पोस्ट
सी # में ईमेल सत्यापन के लिए सर्वश्रेष्ठ नियमित अभिव्यक्ति InstallUtil.exe के बिना एक .NET विंडो सेवा स्थापित करें MATLAB से अजगर समारोह को कॉल करें PostgreSQL: psql कमांड लाइन उपयोगिता का उपयोग करते समय Windows पर एन्कोडिंग समस्याएं UITextField में बैकस्पेस का पता लगाएं एक सरल वेब सर्वर के रूप में node.js का उपयोग करना MySQL में प्रतिशतक रैंक की गणना संपूर्ण लेआउट को ताज़ा करने के लिए कैसे मजबूर करें? पीडीएफबॉक्स के साथ एक अन्य PDPage के अंदर एक PDPage कैसे डालें पर कॉन्फ़िगरेशन को नहीं कहा जा रहा है कैसे नियंत्रण का पता लगाने के लिए + एक onclick div विशेषता से जावास्क्रिप्ट में क्लिक करें? रनटाइम के exec () विधि आउटपुट को पुन: निर्देशित नहीं कर रही है फ़ंक्शन पॉइंटर को अन्य प्रकार से कास्ट करना चुनें * जहां मौजूदा नहीं है संसाधन को स्टाइलशीट के रूप में व्याख्या की गई लेकिन माइम प्रकार पाठ / html (वेब ​​सर्वर से संबंधित नहीं लगता है) के साथ स्थानांतरित किया गया

एंड्रॉइड स्टूडियो को build.gradle के बाहरी परियोजना को जोड़ना

मेरे पास निम्न सेटअप के साथ एक नमूना प्रोजेक्ट है:

/root + Pure Java Lib + Android Test Lib + Android Test Project 

जहां ' टेस्ट प्रोजेक्ट ' ' टेस्ट लीब ' पर निर्भर है, और आखिरी ' शुद्ध जावा लिब ' पर निर्भर है , परियोजना को कंपाइल करना और इस सेटअप को लॉन्च करना ठीक काम करता है।

अब मैं अपने पिछले ग्रहण कार्यस्थान को आयात करने और एंड्रॉइड स्टूडियो के साथ काम करने के बारे में सोच रहा हूं, समस्या यह है कि परियोजना सेटअप अलग है, और मैं इसे इस तरह से रखना चाहता हूं।

उदाहरण के लिए यदि पिछले उदाहरण का उपयोग करें:

 /root + Android Test Lib + Android Test Project /Some Other folder (another repository for example) + Pure Java Lib 

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

कई प्लेटफार्मों / मॉड्यूलों में आप फ़ोल्डर्स में आगे बढ़ने के लिए '..' का उपयोग कर सकते हैं लेकिन यह मेरे लिए काम नहीं कर रहा है, शायद मैंने इसे गलत इस्तेमाल किया है

क्या किसी को पता है कि यह कैसे ग्रैड के साथ हासिल किया जा सकता है?

अद्यतन करें

मैं अधिक सामान्य होने की कोशिश करूंगा:

 /C:/ /Project A + Module 1 - Pure Java + Module 2 - Android Test Lib + Module 3 - Android Test Project /Project B + Module 1 - Pure Java + Module 2 - Pure Java + Module 3 - Pure Java 

मैं प्रोजेक्ट A में प्रोजेक्ट बी के मॉड्यूल 1 का उपयोग करना चाहता हूं।

Solutions Collecting From Web of "एंड्रॉइड स्टूडियो को build.gradle के बाहरी परियोजना को जोड़ना"

मान लें कि कुछ अन्य फ़ोल्डर एक gradle परियोजना है जो आप अपनी सेटिंग्स.gradle फ़ाइल के लिए निम्नलिखित की तरह कुछ जोड़ सकते हैं:

 include ':module1' project(':module1').projectDir = new File(settingsDir, '../Project B/Module 1') 

आपको अपनी फाइल सेटिंग्स डालनी है। इस पंक्ति को सही बनाएं:

 include ':module2' project(':module2').projectDir = new File(settingsDir, '../Project 2/Module2') 

इसके बाद आपको अपने builde.gradle (मॉड्यूल: एप) में निर्भरता वृक्ष में जोड़ना होगा, यह पंक्ति:

 compile project(':module2') 

या प्रोजेक्ट स्ट्रक्चर > एप > निर्भरता में जाओ , एड पर क्लिक करें, 3 मॉड्यूल निर्भरता चुनें और अपने मॉड्यूल का चयन करें

Gradle 1.10 के साथ (यह नहीं पता कि अन्य संस्करणों के लिए यह मान्य होगा) यह है कि मैं यहां दिए गए उत्तर के आधार पर आया हूं http://forums.gradle.org/gradle/topics/reference_external_project_as_dependency

मेरे पास एक एपीआई पुस्तकालय परियोजना है, एक सामान्य पुस्तकालय परियोजना और मुख्य ऐप प्रोजेक्ट है। प्रत्येक एक अकेला विकास परियोजना है और दो पुस्तकालयों को एकाधिक ऐप्स के बीच साझा किया जाता है।

सामान्य परियोजना के लिए settings.gradle में:

 def apiLibDir = file('../android-api/android-api-lib') def rootProjectDescriptor = settings.rootProject settings.createProjectDescriptor(rootProjectDescriptor, 'android-api-lib', apiLibDir) include ':android-api-lib' 

फिर मुख्य ऐप प्रोजेक्ट सेटिंग्स.gradle में:

 def apiLibDir = file('../android-libs/android-api/android-api-lib') def rootProjectDescriptor = settings.rootProject settings.createProjectDescriptor(rootProjectDescriptor, 'android-api-lib', apiLibDir) include ':android-api-lib' def commonLibDir = file('../android-libs/android-common/android-common-lib') settings.createProjectDescriptor(rootProjectDescriptor, 'android-common-lib', commonLibDir) include ':android-common-lib' 

संबंधित बिल्ड.ग्रील फ़ाइलों में से प्रत्येक में आप उन नामों को संदर्भ देते हैं जिन्हें आपने उन्हें सेटिंग्स में दिया था .createProjectDescriptor जैसे आप किसी भी अन्य परियोजना निर्भरता:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':android-api-lib') compile project(':android-common-lib') } 

यह काम करने लगता है यह एपीआई लाइब्रेरी को परिभाषित करने वाली कई डीईएक्स फाइलों के लिए एक त्रुटि भी नहीं डाली, मुझे संदेह है क्योंकि यह एक ही बिल्ड प्रक्रिया का हिस्सा था और ग्रेडल यह सब समझने के लिए बहुत चतुर था

प्रोजेक्ट पर राइट क्लिक करें – "ओपन मॉड्यूल सेटिंग" चुनें – बाएं फलक में "मॉड्यूल" चुनें – शीर्ष पर "+" प्रतीक पर क्लिक करें – "आयात मॉड्यूल" चुनें।

मॉड्यूल आयात करने के बाद आपको इसे अपने मौजूदा प्रोजेक्ट के लिए निर्भरता के रूप में जोड़ना होगा।

"मॉड्यूल" को बाएं फलक में रखें और अपनी परियोजना पर क्लिक करें – अब निर्भरता टैब में जाएं और नीचे स्थित "+" प्रतीक पर क्लिक करें – तीसरा विकल्प "मॉड्यूल निर्भरता" चुनें और यदि आपने अपनी प्रोजेक्ट को सही ढंग से आयात किया है, तो यह आपको सभी उपलब्ध मॉड्यूल दिखाएं जो आपके मौजूदा प्रोजेक्ट की निर्भरता के रूप में जोड़ा जा सकता है।

जैसा कि एतान ने कहा, यदि आप इसे अपनी सेटिंग्स.gradle में जोड़ते हैं, तो यह एंड्रॉइड स्टूडियो को एक बाहरी प्रोजेक्ट जोड़ देगा (इस उदाहरण में, यह मूल फ़ोल्डर में है):

 project(':../ProjectB/:module1') 

उसके बाद, इसे अपनी परियोजनाओं में से किसी एक पर निर्भरता के रूप में जोड़ने के लिए, बस उस प्रोजेक्ट के निर्माण में जोड़ें। इस तरह की एक अन्य निर्भरता के रूप में (आप इसे ग्राफ़िक रूप में यहां भी कर सकते हैं ):

 compile project(':../ProjectB/:module1')