【问题标题】:Android: i want to create code very secure [closed]Android:我想创建非常安全的代码 [关闭]
【发布时间】:2016-05-20 07:24:33
【问题描述】:
我的问题是在 android 中开发一个应用程序,所以同时我想创建安全的代码,我正在将 APK 上传到 play store 如何使用 Proguard 混淆我的代码,我需要混淆类名、库、id Proguard 中的基本功能。
请帮助我在 Play 商店中如何保护我的代码?
【问题讨论】:
标签:
android
listview
android-fragments
android-intent
android-proguard
【解决方案1】:
在你的模块应用文件而不是项目文件的 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 异常