2013-04-23 12 views
6

में लाइब्रेरी प्रोजेक्ट को छोड़ दें मेरे पास दो परियोजनाएं Project_A और Project_B हैं। Project_BA प्रोजेक्ट_ए के लिए लाइब्रेरी प्रोजेक्ट है। Project_B के पास अपने libs फ़ोल्डर में बाहरी जार है।प्रोगार्ड: एंड्रॉइड

जब मैं Project_A पर ProGuard चलाने के लिए, मैं के रूप में त्रुटियों मिलती है:

(Unknown verification type [69] in stack map frame)) 

त्रुटि बाहरी जार में फ़ाइल वर्तमान

मैं मानक का उपयोग कर रहा है (जो Project_B की libs में मौजूद है) को संदर्भित करता है proguard.cfg फ़ाइल जो हम एंड्रॉइड एसडीके में प्राप्त करते हैं।

मैंने "रखरखाव कक्षा ** **" की कोशिश की है लेकिन फिर भी मुझे एक ही त्रुटि मिल रही है।

कृपया मुझे बताएं कि क्या कोई तरीका है जिसके द्वारा मैं Project_B (लाइब्रेरी प्रोजेक्ट) और उसके जार को obfuscating से बाहर कर सकता हूं। मैं केवल प्रोजेक्ट_ए पर प्रोजेगार्ड चलाने के लिए चाहता हूं, न कि इसकी लाइब्रेरी प्रोजेक्ट पर।

+0

http://tools.android.com/recent/proguardimprovements। उदाहरण @ http://proguard.sourceforge.net/index.html#manual/examples.html – Raghunandan

उत्तर

0

प्रोगार्ड को पूरी तरह से एप्लिकेशन को संसाधित करने के लिए पूरे वर्ग पदानुक्रम की आवश्यकता है, ताकि आप वास्तव में लाइब्रेरी को छोड़ सकें।

लाइब्रेरी कोड दूषित प्रतीत होता है; सबसे अधिक संभावना है, इसे एक उपकरण द्वारा पोस्ट-प्रोसेस किया गया है जिसने इसे दूषित कर दिया है। कुछ टूल सत्यापन जानकारी को ठीक से अपडेट नहीं करते हैं। यह जानकारी वैकल्पिक है, लेकिन ProGuard अपेक्षा करता है कि इसे ठीक तरह से बनाया जाए। आपको यह जांचना चाहिए कि पुस्तकालय का एक नवीनतम संस्करण या पोस्ट-प्रोसेसिंग टूल है या नहीं।

+0

मैंने एकल जार में विलय करने के लिए छाया प्लगइन का उपयोग किया। मुझे एक ही एरो मिल रहा है, ProGuard एक की आंतरिक कक्षा को इंगित करता है बाहरी पुस्तकालय का कहना है कि "अज्ञात सत्यापन प्रकार [73] स्टैक मैप फ्रेम में" – nish1013

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