आपके पास कुछ अलग-अलग विकल्प हैं।
एक विकल्प अलग-अलग परियोजनाओं के रूप में अपने पुस्तकालयों को बनाए रखना और उन्हें एक संग्रह प्रारूप, जैसे कि जेएआर या एएआर में संकलित करना है; जेएआर फाइल शुद्ध जावा लाइब्रेरीज़ के लिए हैं, और एएआर एंड्रॉइड लाइब्रेरीज़ के लिए है (जिसमें कोड है जो एंड्रॉइड एपीआई एक्सेस करता है और/या एंड्रॉइड संसाधन है)। जैसा कि टिप्पणियों में बताया गया था, एएआर आपको जेएआर फाइलों की तुलना में दुनिया में अपना कोड प्रकाशित करने के लिए मजबूर नहीं करता है; यह सिर्फ एक संग्रह फ़ाइल प्रारूप है जिनकी फ़ाइलें आपकी मशीन या आपके संगठन के लिए स्थानीय हो सकती हैं।
हाथ में उस संग्रह फ़ाइल के साथ, आप इसे अन्य परियोजनाओं में शामिल कर सकते हैं।यदि आप एक बहु-डेवलपर संगठन का हिस्सा हैं, तो आपको अपने संगठन में उन पुस्तकालयों को प्रकाशित और बनाए रखने के लिए एक रिपोजिटरी प्रबंधक का उपयोग करना सुविधाजनक हो सकता है, और आप अपनी परियोजनाओं में पुस्तकालयों को शामिल करने के लिए मेवेन समन्वय-शैली चश्मे का उपयोग कर सकते हैं, जिसे आपको मैन्युअल रूप से अपनी विकास मशीन पर कॉपी करने की आवश्यकता नहीं है।
इस दृष्टिकोण का नुकसान यह है कि यह उन पुस्तकालयों में परिवर्तन करने के लिए थोड़ा कठिन बनाता है: आपको परियोजना को लोड करने, परिवर्तन करने, संग्रह बनाने और संग्रह वितरित करने की आवश्यकता है।
दूसरा दृष्टिकोण लाइब्रेरी को स्रोत मॉड्यूल के रूप में रखना है जैसा कि आपने एक्लिप्स में किया था। आपने देखा है कि यदि आप इसे यूआई के माध्यम से आयात करते हैं तो एंड्रॉइड स्टूडियो मॉड्यूल की प्रति बना देगा, लेकिन यदि आप यूआई को बाईपास करते हैं और बिल्ड स्क्रिप्ट को सीधे संशोधित करते हैं, तो आप जो भी चाहते हैं वह कर सकते हैं, जो मॉड्यूल इन-प्लेस और शेयर का उपयोग करना है कई परियोजनाओं के बीच एक प्रतिलिपि। अपने settings.gradle फ़ाइल में इस, काम करते हैं और इस जोड़ने के लिए:
include ':module_name'
project(':module_name').projectDir = new File(settingsDir, '../relative/path/to/module')
मैं दृढ़ता से यहां एक शुद्ध रिश्तेदार पथ का उपयोग नहीं करने के लिए प्रोत्साहित करते हैं; इस उदाहरण में, पथ को settingsDir
ग्रेडल द्वारा प्रदान किए गए चर के लिए लगाया गया है, जिसे निर्देशिका कहा जाता है जहां सेटिंग्स .gradle पाया जाता है। यदि आप शुद्ध रिश्तेदार पथ का उपयोग करते हैं (यानी किसी भी चीज़ के लिए एंकर नहीं किया गया है), तो आप उन सभी वातावरणों में काम करने वाली निर्देशिका पर निर्भर हैं जहां बिल्ड फ़ाइल चलती है (कमांड लाइन बनाम एंड्रॉइड स्टूडियो बनाम सीआई सर्वर), जो मानने के लिए एक अच्छी बात नहीं है।
स्रोत
2014-12-12 17:23:54
मैंने ग्रहण के साथ क्या संभव था, इस बारे में एक और सटीक स्पष्टीकरण के साथ प्रश्न संपादित किया है। –
@ग्रीपैप्स, आपकी टिप्पणी रचनात्मक नहीं है। Google आपका प्रश्न पहले, और यदि किसी अजीब कारण के लिए, आपको लाइब्रेरी प्रोजेक्ट्स पर कुछ भी नहीं मिल रहा है, तो यहां वापस आएं और एक प्रश्न पूछें। – 323go
एक एएआर उत्पन्न करना आपके कोड का खुलासा नहीं करेगा। [इसके बारे में मेरा स्वयं का प्रश्न] जांचें (http://stackoverflow.com/questions/26531709/create-android-library-aar-including-javadoc-and-sources) – jmm