मैं अपने एंड्रॉइड प्रोजेक्ट के लिए प्रोजेगार्ड सेट अप करने का प्रयास कर रहा हूं। मेरे एप्लिकेशन प्रोजेक्ट में बहुत कम कोड है, लेकिन एक लाइब्रेरी प्रोजेक्ट का संदर्भ देता है जिसमें कोड का विशाल बहुमत और कोई अन्य बाहरी जार है। ऐसा कहा जा रहा है, मुझे यकीन नहीं है कि इसे ध्यान में रखने के लिए प्रोजेगार्ड कैसे सेट करें। अभी मेरी proguard config फ़ाइल the ProGuard site से केवल एंड्रॉइड उदाहरण है। मैं चारों ओर खोज कर रहा हूं, लेकिन लाइब्रेरी प्रोजेक्ट्स, जार के साथ प्रोगार्ड का उपयोग करने पर बहुत कुछ या कोई दस्तावेज नहीं मिला है। मैं प्रोजेवार्ड के लिए नया हूं, इसलिए सही दिशा में कोई भी धक्का बहुत अच्छा होगा। धन्यवाद।एंड्रॉइड लाइब्रेरी प्रोजेक्ट्स के साथ प्रोगार्ड सेट करना
उत्तर
संपादित
@BornToCode बताते हैं के रूप में, एक अलग जवाब (मूल रूप से here पोस्ट) बेहतर बताते हैं कि कैसे पुस्तकालय परियोजनाओं Proguard द्वारा नियंत्रित किया जाता है। इसके अतिरिक्त, इस संदर्भित प्रश्न में मेरी मूल प्रतिक्रिया से जुड़ी तुलना में अधिक रुचि और अधिक समग्र प्रतिष्ठा है। बोली:
लाइब्रेरी द्वारा स्वयं परियोजनाओं ProGuard नहीं चला, तो वे किसी भी विन्यास का उपयोग नहीं करते।
एप्लिकेशन प्रोजेक्ट किसी भी संदर्भित पुस्तकालयों सहित पूरे कोड बेस को खराब कर देता है, इसलिए उन्हें एप्लिकेशन कोड और लाइब्रेरी कोड के लिए उचित कॉन्फ़िगरेशन की आवश्यकता है।
ओल्ड उत्तर(गलत नहीं, बस शायद नहीं सबसे अच्छा तरीका)
पुस्तकालय परियोजनाओं ग्रहण में अपनी जार के लिए एक परियोजना को जोड़ने के लिए एक सुविधाजनक तरीका की अधिक है। जब आप प्रोजेक्ट बनाते हैं, तो लाइब्रेरी प्रोजेक्ट का एकमात्र घटक जो आपके कंपाइलर को दिखाई देता है वह जार फ़ाइल है।
आप उस जार अंधेरा करना इस पोस्ट की जाँच करना चाहते हैं:
How to obfuscate an Android library (.jar file) using Proguard in Eclipse
यह एक पुस्तकालय के लिए ProGuard सेटिंग्स (जो की तरह पुस्तकालय फ़ाइलें समझ से परे नहीं किया जाना चाहिए) निर्दिष्ट करने के लिए मेरे लिए समझ में आता है पुस्तकालय परियोजना में। मैंने पाया है कि मुझे अपने एप्लिकेशन में मेरे लाइब्रेरी मॉड्यूल से प्रोगार्ड कॉन्फ़िगरेशन भी शामिल करने की आवश्यकता है। ऐसा करने के लिए, मैं अपने पुस्तकालय के build.gradle
apply plugin: 'com.android.library'
android {
defaultConfig {
consumerProguardFiles 'proguard-rules.pro'
}
}
में defaultConfig
अनुभाग के लिए निम्न जोड़ा और फिर मेरे पुस्तकालय मॉड्यूल में proguard-rules.pro फ़ाइल के लिए कॉन्फ़िगर महत्वपूर्ण धारावाहिक वर्गों के नाम रखने के लिए।
- 1. एंड्रॉइड लाइब्रेरी प्रोजेक्ट्स और
- 2. एक लाइब्रेरी के साथ प्रोगार्ड का उपयोग करना जो
- 3. एंड्रॉइड प्रोजेक्ट्स और लाइब्रेरी (एंड्रॉइड स्टूडियो)
- 4. प्रोगार्ड: एंड्रॉइड
- 5. एंड्रॉइड रूम पर्सिस्टेंस लाइब्रेरी प्रोगार्ड कॉन्फ़िगरेशन
- 6. संस्करण नियंत्रण और एंड्रॉइड लाइब्रेरी प्रोजेक्ट्स
- 7. क्रैशलिटिक्स के साथ प्रोगार्ड
- 8. एंड्रॉइड लिंट: लाइब्रेरी प्रोजेक्ट्स को अनदेखा करें
- 9. एंड्रॉइड प्रोगार्ड
- 10. एंड्रॉइड प्रोगार्ड डुप्लिकेट डेफिनिशन
- 11. एंड्रॉइड प्रोजेक्ट्स का निर्माण करना जो एएनटी
- 12. एंड्रॉइड प्रोगार्ड मुद्दे
- 13. प्रोगार्ड
- 14. एंड्रॉइड स्टूडियो प्रोगार्ड
- 15. एंड्रॉइड java.lang.AssertionError: java.lang.NoSuchMethodException - प्रोगार्ड
- 16. एंड्रॉइड प्रोगार्ड बाहरी जार
- 17. एकाधिक मशीनों पर एंड्रॉइड स्टूडियो प्रोजेक्ट्स को सहयोग करना
- 18. प्रोगार्ड ने Google Play Services लाइब्रेरी
- 19. एंड्रॉइड प्रोगार्ड रिटर्न लाइन नंबर
- 20. एसक्लाइट एंड्रॉइड बाइंडिंग के लिए प्रोगार्ड कॉन्फ़िगरेशन
- 21. Google Play-Services के साथ प्रोगार्ड
- 22. फेसबुक के लिए एंड्रॉइड प्रोगार्ड सेटिंग्स
- 23. एंड्रॉइड फ़्लोटिंगएक्शन बटन अचानक प्रोगार्ड बिल्ड
- 24. GitLab.com सीआई ने एंड्रॉइड प्रोजेक्ट्स
- 25. एंड्रॉइड आर्किटेक्चर घटक - व्यूमोडेल ऑब्जर्जेबल और प्रोगार्ड
- 26. प्रोगार्ड 4.8
- 27. एंड्रॉइड लाइब्रेरी प्रोजेक्ट obfuscation
- 28. ऑरग्लाइट के साथ प्रोगार्ड - पैरामीटरयुक्त संग्रह
- 29. जावा के साथ प्रोगार्ड + मेवेन 7
- 30. सी/सी ++ एंबेडेड प्रोजेक्ट्स के लिए HTTP क्लाइंट लाइब्रेरी
हाय, ऐसा लगता है इस जवाब [इस] के साथ अलग अलग (है http://stackoverflow.com/questions/10982344/is-proguard-cfg-needed-for-library-projects#10992604)। क्या आप समझाएँगे? – BornToCode
@ बोर्नटोकोड आप बिल्कुल सही हैं। लिंक्ड प्रतिक्रिया स्पष्ट रूप से मेरे उत्तर से अधिक सम्मानित है। मैंने यहां एक लिंक और मेरे उत्तर में एक उद्धरण जोड़ा है। – Phil