मुझे अपने एंड्रॉइड प्रोजेक्ट को व्यवस्थित करने के लिए सबसे अच्छा तरीका (या सर्वोत्तम अभ्यास) ढूंढने में थोड़ी मदद की ज़रूरत है। सादगी के लिए, मान लें कि एंड्रॉइड के लिए मेरा ग्रहण कार्यक्षेत्र C:\Android\Projects\
है। उस फ़ोल्डर के अंदर मैं पुस्तकालयों से अलग अनुप्रयोगों को पसंद करता हूं और मेरे पास दो अन्य फ़ोल्डर्स हैं, C:\Android\Projects\Applications
और C:\Android\Projects\Components
।पुस्तकालयों सहित एंड्रॉइड परियोजनाओं के लिए मुझे स्रोत नियंत्रण कैसे व्यवस्थित करना चाहिए?
एक परियोजना के लिए मैं Components
फ़ोल्डर में GitHub से एक पुस्तकालय क्लोन है, मान लें कि C:\Android\Projects\Componentes\SampleLib
जाने (है कि फ़ोल्डर के अंदर दो TheLib
और TheLibExample
फ़ोल्डरों है)। और मेरा ऐप C:\Android\Projects\Applications\MyTestApp
में बनाया गया है। फिर मैंने these instructions का पालन करके लाइब्रेरी को ऐप में शामिल किया।
अब मान लें कि मैं अपने ऐप को ओपन-सोर्स समुदाय के साथ साझा करने के लिए गिटहब का उपयोग करना चाहता हूं। मैं एक भंडार तैयार करूंगा और C:\Android\Projects\Applications\MyTestApp
से कुछ भंडार में सब कुछ धक्का दूंगा।
यदि कोई मेरा ऐप फोर्क करना चाहता है या मेरी मदद भी करता है, तो उसे पुस्तकालय की आवश्यकता होगी और इसे चलाने के लिए, जो कि मेरे प्रोजेक्ट में शामिल नहीं है। default.properties
फ़ाइल में android.library.reference.1=../Components/SampleLib/TheLib
की तरह कुछ होगा और किसी को उस लाइब्रेरी को मैन्युअल रूप से क्लोन करने की आवश्यकता होगी और उसे इसे उसी सापेक्ष पथ में रखना होगा, अन्यथा यह मेरे ऐप के लिए स्रोत नियंत्रण को गड़बड़ कर देगा।
एक ही रास्ता मैं इस मुद्दे के हल के लिए सोच सकते हैं इस तरह मेरे कार्यक्षेत्र व्यवस्थित करने के लिए है:
C:\Android\Projects\Applications\MyTestApp\TheApp
C:\Android\Projects\Applications\MyTestApp\TheLib
C:\Android\Projects\Componentes\SampleLib
और मेरे भंडार C:\Android\Projects\Applications\MyTestApp\
से सामग्री के साथ भरा जाना चाहिए।
लेकिन लाइब्रेरी अपडेट होने पर क्या होता है? मैं बस नए बदलाव नहीं खींच सकता, मुझे उन्हें TheLib
फ़ोल्डर में कॉपी करने की आवश्यकता है। पिछले फ़ोल्डर संगठन में इसकी आवश्यकता नहीं होगी क्योंकि मैं मूल क्लोन रिपोजिटरी का संदर्भ दे रहा था, न कि प्रतिलिपि।
तब मुझे क्या करना चाहिए? क्या मुझे विकल्प एक के साथ जाना चाहिए और लाइब्रेरी निर्भरता के साथ किसी भी व्यक्ति को अपने प्रोजेक्ट सौदे को फिट करने की अनुमति देना चाहिए, या मुझे दूसरे के साथ जाना चाहिए और दो फ़ोल्डरों को सिंक में रखकर सभी को और काम करना चाहिए जब मूल व्यक्ति इसके परिवर्तनों को खींचता है भंडार?
आपने बिटबकेट के लिए इस समस्या को कैसे हल किया? बिटबकेट परियोजना में मेरी लाइब्रेरी नहीं जोड़ रहा है – Erum