我的问题是在android中开发一个应用程序,所以同时我想创建安全性很好的代码,我在Play商店上传APK如何使用Proguard混淆我的代码,我需要混淆类名,库,id和Proguard的基本功能。
请帮助我在Play商店中保护我的代码安全吗?
答案 0 :(得分:2)
在模块应用程序文件中的build.gradle文件中添加这些行,而不是项目文件
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
在proguard-rules.pro文件中添加以下行
-dontwarn com.android.volley.toolbox.**
-keep class org.codehaus.** { *; }
-dontwarn android.support.v7.**
-keep android.support.v7.**
-dontwarn android.support.**
-keepattributes **
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class android.support.v7.app.** { *; }
-keep interface android.support.v7.app.** { *; }
-keep class android.support.v13.app.** { *; }
-keep interface android.support.v13.app.** { *; }
-dontwarn android.support.design.**
-keep class android.support.design.** { *; }
-keep interface android.support.design.** { *; }
-keep public class android.support.design.R$* { *; }
-dontwarn org.apache.http.**
-dontwarn com.mixpanel.**
-dontwarn org.codehaus.jackson.**
-dontwarn org.acra.ErrorReporter.**
-dontwarn com.jeremyfeinstein.slidingmenu.**
-keepnames class com.fasterxml.jackson.** { *; }
-keepclassmembers public final enum
请注意不要忘记在proguard规则中添加外部库,否则应用程序将崩溃,您将获得NoClassDefFoundError异常