2013-11-20 3 views
5

मैंने इस साइट पर बहुत सारे प्रश्न पढ़े हैं और इस निर्णय में आ गए हैं कि यदि आप पहले से ही इसका उपयोग करना चाहते हैं एंड्रॉइड में अपने संसाधनों के साथ विकसित कोड तो आपको इसे लाइब्रेरी के रूप में उपयोग करना होगा।पहले से विकसित एंड्रॉइड प्रोजेक्ट का उपयोग करें [इसके संसाधनों (एक्सएमएल, छवियों, लेआउट)] के साथ किसी अन्य प्रोजेक्ट में सीधे .xyz फ़ाइल

लेकिन Building Android applications with Gradle tutorial से मैं कुछ की तरह पढ़ें ...

Gradle एक प्रारूप एंड्रॉयड संग्रह (आर) कहा जाता है का समर्थन करता है। एक एएआर एक जेएआर फ़ाइल के समान है, लेकिन इसमें संसाधनों के साथ-साथ संकलित बाइटकोड भी शामिल हो सकते हैं। यह अनुमति देता है कि एक एएआर फ़ाइल एक जेएआर फ़ाइल ** के समान शामिल है।

क्या इसका मतलब है कि हम .aar फ़ाइल को .jar फ़ाइल के रूप में उपयोग कर सकते हैं लेकिन संसाधनों का उपयोग करने की सुविधा के साथ भी?

फिर मैंने एंड्रॉइड स्टूडियो की मदद से .aar फ़ाइल को क्रेट करने का प्रयास किया है, लेकिन .aar फ़ाइल में लेआउट एक्सएमएल या छवियां नहीं हैं - इसमें कुछ लेआउट और संसाधन हैं लेकिन इसमें अन्य संसाधन फ़ाइल नहीं हैं ।

आखिरकार मेरे पास एकमात्र, कष्टप्रद, बेवकूफ सवाल है: क्या हम पूरी परियोजना का उपयोग केवल एक फ़ाइल जैसे .jar या .aar या किसी अन्य फ़ाइल प्रारूप के साथ कर सकते हैं?

+0

पहले से मौजूद प्रोजेक्ट को [एंड्रॉइड लाइब्रेरी प्रोजेक्ट] (http://developer.android.com/tools/projects/index.html) के रूप में सेट करें। फिर आप इसे अन्य परियोजनाओं में पुस्तकालय के रूप में जोड़ सकते हैं। –

+0

हाय @ साउंड कॉन्सेप्शन, पहले अनुच्छेद को पढ़ें, मैंने पहले ही इस दृष्टिकोण का उल्लेख किया है, लेकिन मैं केवल एक फ़ाइल का उपयोग करना चाहता हूं –

उत्तर

2

लाइब्रेरी परियोजनाओं बिन फ़ोल्डर jar file होता है, नकल है कि अपने मुख्य अनुप्रयोग (परियोजना) में जार फ़ाइल libs folder हम इस तरह सभी संसाधन फ़ोल्डरों मिल सकती है।

इन चरणों का पालन करें!

1) अपनी लाइब्रेरी प्रोजेक्ट को सामान्य लाइब्रेरी ध्वज को अचयनित करके एक सामान्य प्रोजेक्ट बनाएं।

2) एंड्रॉइड एप्लिकेशन के रूप में अपनी परियोजना का निष्पादन करें। (यह किसी भी त्रुटि नहीं दर्शाएगी)

3) आप bin folder में एक .jar फ़ाइल मिल जाएगा ..

4) अपने मुख्य आवेदन के libs फ़ोल्डर में .jar कॉपी करें।

यह सभी संसाधनों के साथ ठीक काम करेगा।

+0

ने कोशिश की .... एक लाइन कोड दें जिसमें आप पहले (पुस्तकालय) के संसाधन तक पहुंच सकते हैं प्रोजेक्ट दूसरे में –

+0

अपडेट किया गया उत्तर –

+0

हाँ चेक किया गया है, फिर से वही बात पूछ रहा है .... ** एक लाइन कोड दें जिसमें आप पहले (लाइब्रेरी) प्रोजेक्ट के संसाधन को दूसरे एक ** –

6

RajaReddy काफी गलत है। जार में केवल कोड होता है; आप इस तरह से संसाधनों तक नहीं पहुंच सकते हैं।

गूगल वितरित करता है अपने स्वयं के "Google Play सेवाएं लाइब्रेरी" Android पुस्तकालय परियोजना के रूप में, lib निर्देशिका में एक जार फ़ाइल में बाइनरी कोड युक्त, res निर्देशिका में संसाधनों, और src निर्देशिका में एक UnusedStub वर्ग। यदि एक बेहतर दृष्टिकोण व्यवहार्य था, तो मुझे लगता है कि वे इसका उपयोग करेंगे।

अपडेट: जबकि एंड्रॉइड स्टूडियो अभी भी बीटा में है, इसमें AAR files के लिए (बग्गी) समर्थन शामिल है। ऐसा लगता है कि यह अंततः जाने का रास्ता होगा।

+0

हाँ @j__m इसका अच्छा समाधान ..... लेकिन मुझे पहले से ही पता है .. मैंने इस सवाल को कुछ नया खोजने के लिए पोस्ट किया है ... यह कानूनी हो सकता है या हो सकता है कि थोड़ी सी बात –

+0

मुझे नहीं लगता कि आप जा रहे हैं इसे खोजने के लिए। –

1

मैं वर्षों से एक ही चीज़ की तलाश में था। जावा और संसाधनों (xml और अन्य फ़ाइलों) के बाइट कोड को एक पैकेज में जोड़ना। वर्तमान में मुझे यह संभव नहीं लगता है क्योंकि Google को भी एसडीके में उपलब्ध Google Play सेवाओं lib में अलग-अलग संसाधनों को शामिल करना होगा।
आप सबसे अच्छा क्या कर सकते हैं एक .aar या .jar फ़ाइल उत्पन्न करते हैं और अनुपलब्ध संसाधन फ़ाइलों का एक फ़ोल्डर जोड़ते हैं।

+0

हाँ ... लेकिन यह कठिन काम है :( मैं विलय करने के बजाए लाइब्रेरी के रूप में अन्य प्रोजेक्ट का उपयोग करना पसंद करता हूं और सावधान रहना पसंद नहीं करता जैसे किसी संसाधन के समान नाम या गलती से वे ओवरराइड करते हैं ... आदि समाधान होना चाहिए भविष्य में उपलब्ध –

+0

@ भावना वाडोडारीयिया इसके लिए एक उपकरण बनाने का एक अच्छा विचार है;) – johntheripp3r

+1

हाँ जो किया जा सकता है ....... कोशिश करेगा –

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

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