dex2jar और jdgui2 जैसे उपकरणों के साथ एपीके की सामग्री का निरीक्षण करना बहुत आसान है।कॉर्डोवा एंड्रॉइड 5.1.1 एपीके obfuscation proguard भ्रम के साथ
हम अपने कॉर्डोवा प्रोजेक्ट में कुछ कक्षाओं को "संरक्षित" करने के लिए प्रोगुआर्ड का उपयोग करने की कोशिश कर रहे हैं जिसमें ऐसी जानकारी शामिल है जिसमें हम गुप्त रखना चाहते हैं (मुख्य रूप से कुछ सामग्री को डिक्रिप्ट करने के लिए कुंजी जो हम अपने ग्राहक के लिए सुरक्षा करने का प्रयास करते हैं)।
हम इसे सही नहीं समझ सकते हैं। ऐप दुर्घटनाग्रस्त हो जाता है, या यह obfuscated नहीं है।
हम अपने build.gradle को जोड़ा गया:
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
हमारे proguard.pro शामिल हैं:
-keep class !com.smartmobilesoftware.** (*; }
smartmobilesoftware एक inAppPurchases प्लगइन है।
उस पैकेज में हमने कुछ कक्षाओं को संशोधित किया, जो बिना किसी प्रोजेक्ट के महान काम करता है। https://issues.apache.org/jira/browse/CB-9269
यहाँ जो मारियो निम्नलिखित का दावा है::
मैं निम्नलिखित "Proguard समर्थन लापता" पाया "ठीक है, आप ProGuard Cordova के साथ उपयोग नहीं करना चाहिए, या कम से कम, वहाँ के लिए इसका इस्तेमाल करने के लिए कोई अच्छा कारण नहीं है, चूंकि आप इसे minifyEnabled के साथ उपयोग नहीं कर सकते हैं, जो वास्तव में ProGuard को सही तरीके से काम करता है। चूंकि कॉर्डोवा पूरे स्थान पर प्रतिबिंब का उपयोग करता है, इसलिए यह कॉर्डोवा को बिना किसी प्रोजेवार्ड -रूल्स.प्रो फ़ाइल के उड़ाने का एक अच्छा तरीका है। " !
हम ProGuard बताकर कि मुद्दा यह है कि सभी वर्गों com.smartmobilesoftware में लोगों को छोड़कर ऐसे ही छोड़ दिया जाना चाहिए (रखें वर्ग com.smartmobilesoftware से बचने के लिए कोशिश की ** (*;।})
मैं कर रहा हूँ यकीन नहीं अगर यह हमारे कोड witih एक समस्या है (लेकिन कोड ProGuard बिना ठीक काम करता है), प्लगइन, या ProGuard ही।
हम किसी भी सार्थक त्रुटियों नहीं दिख रहा।
हम पहले कॉर्डोबा से बनाया क्षुधा जारी किया 2.2.0, जो एएनटी और प्रोगार्ड और एक और प्लगइन का इस्तेमाल करता था, जो ठीक काम करता था। इसलिए हमें आश्चर्य है कि कॉर्डोव के संबंध में क्या बदला गया है ProGuard।
क्या कोई इस मुद्दे पर कुछ प्रकाश डाल सकता है?
प्रतिक्रिया देने के लिए धन्यवाद। मैं अभी तक जांच नहीं कर पा रहा हूं, लेकिन बक्षीस समाप्त हो रहा था, इसलिए मैंने आपको यह दिया। :-) यदि आपका सुझाव काम करता है तो मैं यहां जवाब दूंगा। –