2012-02-10 10 views
11

मैं कुछ अतिरिक्त एंड्रॉइड लाइब्रेरी प्रोजेक्ट्स के साथ अपने एंड्रॉइड प्रोजेक्ट के प्रोजेगार्ड के साथ संकलित करना चाहता हूं। वास्तव में, इन पुस्तकालयों में अधिकांश कोड और संसाधन झूठ बोलते हैं।एंड्रॉइड लाइब्रेरी प्रोजेक्ट: Obfuscate और संसाधनों को रखें

मैंने मुख्य प्रोजेक्ट की project.properties में "proguard.config = proguard.cfg" पंक्ति जोड़ दी है, मैंने cfg-file (-libraryjars .. \ libs) को कॉन्फ़िगर किया है। फिर - राइट क्लिक करें, एंड्रॉइड टूल्स -> हस्ताक्षरित एप्लिकेशन पैकेज निर्यात करें। रिलीज के लिए एडीटी संकलित परियोजना लेकिन ऐप पहले लॉन्च पर क्रैश हो गया: जैसा कि मैंने लॉग से पढ़ा है, यह गलत संसाधन सूचक के कारण था।

मैं परियोजना decompiled है और बहुत ही अजीब बात पता चला: अगर मैं पुस्तकालय में संसाधन की घोषणा, तो सूचक संसाधन हो जाता है पर 0.

समस्या गायब नहीं था, जब मैं पंक्ति जोड़ें "proguard.config = proguard.cfg "मेरे सभी एंड्रॉइड लाइब्रेरी प्रोजेक्ट की प्रोजेक्ट.प्रोपर्टीज में।

कोई समाधान?

संपादित करें:

-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-optimizations ! 

-printusage unused.txt 
-optimizationpasses 2 
-printmapping mapping.txt 
# -overloadaggressively 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-dump class_files.txt 
-printseeds seeds.txt 

-libraryjars ..\libs 
+0

पुस्तकालय परियोजनाओं में आपको प्रोजेवार्ड कॉन्फ़िगरेशन की आवश्यकता क्यों है? यह गंतव्य परियोजना में प्रोजेक्ट कॉन्फ़िगर है जिसका उपयोग किया जाता है। – pandre

+0

इससे कोई फर्क नहीं पड़ता कि मैं पुस्तकालय परियोजनाओं में "proguard.config" जोड़ या निकालता हूं। मैंने सिर्फ पूरी जानकारी के लिए इसके बारे में कहा है। – QuickNick

+0

अपनी प्रोजेगा कॉन्फ़िगरेशन फ़ाइल पोस्ट करें। – 500865

उत्तर

1

क्या आप वाकई नवीनतम उपकरणों है कर रहे हैं: proguard.cfg का टुकड़ा को देखो? एक्लिप्स इंडिगो, एडीटी v16.0.1 और प्रोग्रार्ड 4.7 की तरह? नवीनतम उपकरणों को अपडेट करने से पहले मुझे भी समस्याएं थीं।

+0

मैं एडीटी के नवीनतम अपडेट (मैं नियमित रूप से अपडेट की जांच करता हूं) और एंड्रॉइड टूल्स का उपयोग करता हूं। ग्रहण संस्करण "हेलिओस" है। – QuickNick

+0

कारण आज एडीटी प्लगइन मुझे लाइब्रेरी को obfuscation के साथ संकलित करने देता है, मैंने सवाल बंद करने का फैसला किया और आपके लिए स्वीकार्य उत्तर उपहार दिया। – QuickNick

1

आप अपने एंड्रॉइड लाइब्रेरी प्रोजेक्ट्स को कैसे शामिल/संदर्भित करते हैं? अगर मैं इसे सही ढंग से पढ़ता हूं, तो आप उन्हें जार के रूप में जोड़ते हैं? यदि ऐसा है तो आपको पुस्तकालय परियोजनाओं द्वारा प्रदान किए गए संसाधनों के साथ वास्तव में कुछ परेशानी हो सकती है।

अगर मैं सही हूँ, कि कोशिश:

परियोजना सेटिंग्स का उपयोग करें और आपकी लाइब्रेरी प्रोजेक्ट जोड़ें। इसके लिए कुछ निर्यात किए गए जार का उपयोग न करें। एक एंड्रॉइड लाइब्रेरी प्रोजेक्ट काम करता है जिस तरह से एक सामान्य जावा लाइब्रेरी काम से अलग है।

+0

मैं एएलपी के संदर्भ में शामिल हूं जैसा कि आप वर्णन कर रहे हैं: प्रोजेक्ट सेटिंग्स -> लाइब्रेरी जोड़ें। कोई निर्यात जार नहीं। – QuickNick

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

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