हैलो मैं एक एंड्रॉइड ऐप लिख रहा हूं और मैंने अपने आवेदन को खराब करने के लिए प्रोगगार्ड स्थापित किया है। हालांकि मैं अपने आवेदन में विभिन्न एक्सटेंशन को गतिशील रूप से लोड करने के लिए क्लासलोडर का उपयोग करता हूं। समस्या यह है कि अगर उनके नाम बदल दिए जाते हैं तो ये सही ढंग से लोड नहीं होते हैं। मैं प्रूगार्ड को विशिष्ट वर्ग के नामों को खराब करने से कैसे रोकूं?प्रोगुर्ड कक्षा के नाम रखता है?
उत्तर
उपयोग आपकी proguard.cfg में -keepnames
विकल्प
मैनुअल https://www.guardsquare.com/en/proguard/manual/usage#keepoptions को देखें:
-keepnames
class_specificationलघु
-keep,allowshrinking
के लिए class_specificationनिर्दिष्ट करता वर्गों और वर्ग के सदस्यों जिसका नाम संरक्षित किए जाने चाहिए, अगर वे हैं संकुचित चरण में हटा नहीं है। उदाहरण के लिए, आप उन वर्गों के सभी वर्ग नामों को रखना चाह सकते हैं जो सीरियलज़ेबल इंटरफ़ेस को कार्यान्वित करते हैं, ताकि संसाधित कोड मूल रूप से क्रमबद्ध कक्षाओं के साथ संगत रहे। जिन वर्गों का उपयोग नहीं किया जाता है, उन्हें अभी भी हटाया जा सकता है। Obfuscating जब केवल लागू होते हैं।
यह classnames वैसे ही रखता है:
-keepnames class com.somepackage.*
हैंडी टिप जो ProGuard बदलने के लिए किसी भी वर्ग के नाम नहीं चाहता है:
# please KEEP ALL THE NAMES
-keepnames class ** { *; }
इस तरह आप पठनीय स्टैक ट्रेस मिल जाएगा जबकि अभी भी चीजें फेंकने की जरूरत नहीं है। :-)
'' '-dontobfuscate'' 'obfuscation को अक्षम करने का सही तरीका है। –
गलत तरीका। इस कॉन्फ़िगरेशन के साथ obfuscation को बंद करना बेहतर है: "-dontobfuscate/n -optimizations! कोड/आवंटन/परिवर्तनीय" – oxied
- 1. कक्षा नाम
- 2. कक्षा नाम
- 3. एमएएमपी कहां रखता है php.ini?
- 4. पीएचपी कक्षा प्रॉपर्टी नाम
- 5. कक्षा नाम "आइटम"
- 6. कक्षा नाम जो सी
- 7. कक्षा नाम स्ट्रिंग
- 8. जावास्क्रिप्ट: कक्षा का नाम
- 9. क्या मायने रखता है।
- 10. तत्व प्राप्त कक्षा नाम
- 11. कक्षा का नाम C++
- 12. कक्षा के नाम में "+" होने के बाद?
- 13. एस 3 कक्षा नाम: क्या अनुमति है?
- 14. कक्षा नाम में डिज़ाइन पैटर्न नाम कब शामिल करना है?
- 15. क्या कक्षा नाम से नियंत्रक का नाम लिया गया है?
- 16. रुबी में कक्षा नाम 'जानने' के लिए कक्षा विधि?
- 17. कक्षा का नाम और फ़ाइल का नाम
- 18. कक्षा के नाम में कैपिटल अक्षरों PHP
- 19. कक्षा नाम के बाद नेटबीन्स परिनियोजन विफल रहता है
- 20. कक्षा के नाम से जुड़े अंडरस्कोर का अर्थ क्या है?
- 21. GetHashCode() क्यों मायने रखता है?
- 22. ब्रांड नाम एसएसएल ईवी प्रमाण पत्र के लिए मायने रखता है?
- 23. PHP में प्रदर्शन के लिए परिवर्तनीय नाम लंबाई मायने रखता है?
- 24. QtCreator Kits के बारे में डेटा कहां रखता है?
- 25. जब एनम नाम कक्षा के नाम से संघर्ष करता है तो क्या करें?
- 26. विशेषताएँ। जोड़ें ("कक्षा", "कक्षा नाम") लेकिन मौजूदा वर्ग
- 27. क्या सीएसएस स्टाइलशीट परिभाषाओं का क्रम मायने रखता है?
- 28. तत्व प्रकार और कक्षा के नाम के लिए Jquery चयनकर्ता?
- 29. जार के गुच्छा के अंदर कक्षा का नाम कैसे खोजें
- 30. कक्षा के नाम के बजाय var का उपयोग क्यों करें?
तो क्या मैं टाइप करता हूं: -keepnames com.randompackage.lol.ClassName – Nik
ठीक है पूरे पैकेज के साथ ऐसा करने का कोई तरीका है? – Nik
हां, आप * वाइल्डकार्ड का उपयोग करते हैं। यानी, -keepnames com.randompackage.lol। * सभी वर्गों को lol –