2013-01-04 24 views
6

से संदर्भित आंतरिक लाइब्रेरी का संस्करण कैसे प्राप्त करें मैंने maven + eclipse द्वारा एपीके बनाया है।एपीके

यह एक एकल फ़ाइल है और mvn dependencies द्वारा दी गई पुस्तकालयों के आंतरिक संदर्भ हैं। मेरे एंड्रॉइड पर सबकुछ बढ़िया काम करता है, लेकिन मुझे runtime version of referenced libs में प्रदर्शित करने की ज़रूरत है। मुझे पता है कि मेरे एप्लिकेशन का संस्करण (एंड्रॉइडमैनिफेस्ट.एक्सएमएल से) कैसे प्रदर्शित किया जाए, लेकिन समस्या अन्य used library का संस्करण प्राप्त करना है, जो किसी भी तरह से मेरे एपीके में शामिल है।

एपीके के अंदर मुझे मेरे संदर्भित जार नहीं दिखते हैं, मुझे लगता है कि यह class.dex द्वारा बनाया गया है।

मुझे जार लिब से संस्करण प्राप्त करने का तरीका मिला, लेकिन यह एपीके के लिए काम नहीं करता है।

हम run-time?

उत्तर

0

पर internal reference library के संस्करण पाया जा सकता है मुझे अपने सवाल अलग तरीके से व्यक्त करते हैं। आपने एक मोबाइल ऐप विकसित किया है जो तृतीय पक्ष लाइब्रेरी का उपयोग करता है और आपका लक्ष्य एपीके से उस तीसरे पक्ष की लाइब्रेरी का संस्करण ढूंढना है। यदि मैंने इसे सही ढंग से समझा है, तो मुझे हाल ही में इसी तरह की आवश्यकता का सामना करना पड़ा। सबसे पहले तीसरे पक्ष के जार के मेनिफेस्ट में संस्करण की जानकारी होगी। जब आपने एपीके बनाया है तो इस मेनिफेस्ट जानकारी जिसमें संस्करण जानकारी शामिल है, को एपीके की एंड्रॉइडमैनीफेस्ट फ़ाइल के साथ विलय नहीं किया जाएगा। AndroidManifest स्कीमा इस सुविधा को प्रदान नहीं करता प्रतीत होता है। हमारे मामले में हम लाइब्रेरी भेजते हैं, इसलिए एक संभावित समाधान यह है कि हम लाइब्रेरी की एंड्रॉइड मैनिफेस्ट फ़ाइल में गतिविधि तत्व के अंदर मेटाडेटा तत्व में संस्करण जानकारी जोड़ सकते हैं ताकि एपीके बनने पर यह गतिविधि तत्व को कॉपी कर सके ऐप के एंड्रॉइड मेनिफेस्ट में लाइब्रेरी का एंड्रॉइड मैनिफेस्ट। इस तरह हम लाइब्रेरी की उस संस्करण की जानकारी को मुख्य एपीके के एंड्रॉइड मैनिफेस्ट में पास कर सकते हैं। हो सकता है कि हम आंतरिक पुस्तकालय की संस्करण जानकारी शामिल करने के प्रावधान देने के लिए एंड्रॉइड मैनिफेस्ट की स्कीमा को संशोधित करने का अनुरोध कर सकें। कृपया निम्न लिंक जांचें। https://developer.android.com/guide/topics/manifest/manifest-element.html

अन्य समाधान हो सकता है एक संभवतः कस्टम प्रविष्टि सम्मिलित करने के लिए jarsigner उपयोग कर सकते हैं (कि APK के निर्माण के बाद APK की मेनिफेस्ट फ़ाइल में तीसरे पक्ष के पुस्तकालय के संस्करण के बारे में जानकारी शामिल है। यही फिर से नहीं एक मानक समाधान।

+0

धन्यवाद आपके उत्तर और कुछ विचारों के लिए जो आपने इंगित किया है। – chaqol