2011-02-18 16 views
21

मैं एक एंड्रॉइड एसडीके लाइब्रेरी विकसित कर रहा हूं। इस पुस्तकालय में मैंने कुछ गतिविधियां घोषित की हैं और उपयोग की हैं। अब मैंने पुस्तकालय को किसी एप्लिकेशन में शामिल करने का प्रयास किया है, लेकिन मैंने देखा है कि मुझे ऐप में सभी लाइब्रेरी गतिविधियों को घोषित करना होगा। यह एक बहुत बुरी चीज है क्योंकि लाइब्रेरी में, मैंने बहुत सी गतिविधियां शामिल की हैं और डेवलपर को सभी गतिविधियों को अपने ऐप में कॉपी करना है। क्या इसका कोई समाधान है?एंड्रॉइड लाइब्रेरी प्रोजेक्ट और गतिविधियां

+2

क्या आप अन्य ऐप में गतिविधियों की प्रतिलिपि बनाने का मतलब रखते हैं? क्या आप मेनिफेस्ट के बारे में बात कर रहे हैं? यदि ऐसा है, तो Google का कहना है कि वे भविष्य में मैनिफेस्ट विलय जोड़ना चाहते हैं लेकिन आपको अभी कॉपी/पेस्ट करने की आवश्यकता है। यदि नहीं, तो आप इसे गलत कर रहे हैं। – schwiz

+0

@schwiz manifestmerger.enabled = सत्य अब मौजूद है, लेकिन हमें अपने मिनट और लक्ष्य एसडीके में न्यूनतम सेट करने और एसडीके को लक्षित करने के लिए डेवलपर को मजबूर करना चाहिए (जो मेरे ऐप्स में मेरी लाइब्रेरी का उपयोग करते हैं)! (स्रोत: http://stackoverflow.com/questions/10976635/using-the-new-manifestmerger-property-in-android#21397467) –

उत्तर

25

नहीं, यह इस समय पुस्तकालयों की एक ज्ञात सीमा है। भविष्य में इसे ठीक करने के एंड्रॉइड विकास समुदाय में बहुत सी चर्चाएं हैं, लेकिन अब यह पुस्तकालयों के बारे में एक सीमा है।

doc

आवेदन परियोजना के मैनिफ़ेस्ट फ़ाइल में से, आप सभी घटक है कि आवेदन का उपयोग करेगा एक पुस्तकालय परियोजना से आयात कर रहे हैं कि के घोषणाओं को जोड़ना होगा। उदाहरण के लिए, यदि आप किसी भी <activity>, <service>, <receiver>, <provider>, और <permission> इतने पर है, साथ ही, <uses-library>, और समान तत्वों को घोषणा करनी चाहिए।

इसके अलावा

, मार्क मर्फी द्वारा उत्कृष्ट जवाब here

+0

आपके उत्तर के लिए धन्यवाद .. शायद मुझे गतिविधियों के बजाय संवाद का उपयोग करना होगा। यह इस सीमा से बच सकता है। क्या आप सहमत हैं? – ets23

+0

(इसके अतिरिक्त: मुझे जार बनाने की आवश्यकता नहीं है) – ets23

+0

आपकी लाइब्रेरी का एकमात्र हिस्सा उपभोग करने वाले प्रोजेक्ट में होना आवश्यक है, एंड्रॉइड मेनिफेस्ट में घोषणा है। मुझे यकीन नहीं है कि गतिविधियों के बजाए संवाद का उपयोग करने के बारे में आपका क्या मतलब है। –

21

अपडेट 1: ग्रैडल का उपयोग करते समय, मैनिफेस्ट विलय अब स्वचालित रूप से किया जाता है। यह कैसे काम करता है और कैसे संघर्ष को सुलझाने के संबंध में अधिक जानकारी पाया जा सकता है here (टिप्पणी guy.gc के लिए धन्यवाद)

मूल पोस्ट:

इस सूत्र को अद्यतन करने के लिए: ऑटो मर्ज अब संभव है। आपको केवल

manifestmerger.enabled=true 

को अपनी प्रोजेक्ट.प्रोपर्टीज़ में जोड़ना होगा। Using the new "manifestmerger" property in Android इस पर भी चर्चा करता है।

मुझे पता है कि यह एक पुराना धागा है, लेकिन मैं बस उस पर ठोकर खा रहा हूं और सोचने से दूसरों को रोकना चाहता हूं (मुझे शामिल है) यह संभव नहीं है। लाइब्रेरी उपभोग करने वाली ऐप में गतिविधियों का उपयोग करने के लिए यह एक पंक्ति पूरी तरह से मेरी परियोजनाओं में पर्याप्त थी।

+1

वास्तव में प्रकट विलय स्वचालित रूप से किया जाता है। http://developer.android.com/tools/building/manifest-merge.html यदि आवश्यक हो तो आप परिभाषित कर सकते हैं कि संघर्ष कैसे हल किए जाते हैं –

+1

टिप्पणी @ guy.gc के लिए धन्यवाद, मैं जवाब अपडेट करूंगा –

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