मैं प्रोजेवार्ड का उपयोग किसी ऐप के कोड को खराब करने के लिए करना चाहता हूं। मुझे अनुकूलन की आवश्यकता नहीं है, और मुझे किसी भी कक्षा या विधियों को पट्टी करने के लिए प्रोगार्ड की आवश्यकता नहीं है। मैं चाहता हूं कि obfuscation है। ऐप कई पुस्तकालय परियोजनाओं का उपयोग करता है।एंड्रॉइड और प्रोगार्ड - कैसे obfuscate करने के लिए, लेकिन किसी भी कोड अनुकूलित नहीं है?
मैं दीवार के खिलाफ अपने सिर को टक्कर लगी हूं और ऐसा करने की कोशिश कर रहा है। मैं निष्पादित होने पर ऐप में फेंकने वाले NoSuchMethodExceptions को देख रहा हूं, भले ही मैंने सोचा कि मैंने प्रोगार्ड के घटते विकल्पों को बंद कर दिया है।
प्रोजेवार्ड जस्ट obfuscate करने के लिए जादू सेटिंग्स क्या हैं, और किसी भी कोड को अनुकूलित नहीं है?
अद्यतन। मैंने परीक्षण और त्रुटि के माध्यम से पुष्टि की है कि यह obfuscation प्रक्रिया है (ऑप्टिमाइज़ेशन या सिकुड़ना नहीं) जो NoSuchMethodExceptions का कारण बन रहा है।
Proguard.cfg
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*
-dontshrink
-keep public class * extends Object
-keep class com.myapp.** { *; }
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class com.myapp.activity.Splash
-keep public class com.myapp.alarm.AlarmsViewer
-keep public class com.myapp.activity.About
-keep public class com.myapp.activity.Base
-keep public class com.myapp.activity.BaseWithMenu
-keep public class com.myapp.alarm.Alarm
-keep public class com.myapp.alarm.AlarmFragment
-keep public class com.myapp.alarm.AlarmPagerAdapter
-keep public class com.myapp.alarm.AlarmStore
-keep public class com.myapp.app.App
-keep public class com.myapp.preferences.Preferences
-keep public class com.myapp.preferences.PreferencesStore
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
-keepattributes *Annotation*
-keep public interface com.android.vending.licensing.ILicensingService
-dontwarn android.support.**
साथ रखा जाना करने के लिए आवश्यक में संदर्भित है आप कैसे अनुकूलन के बिना अंधेरा करना नहीं जानते, तो है, तुम कैसे पता कर सकते हैं कि अनुकूलन कदम समस्या है? – for3st