1.混淆配置
在app的build.gradle文件里开启自定义混淆:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
- minifyEnabled的值为true,打开混淆
- proguard-android.txt为android默认的混淆文件,在Android sdk/tools/proguard/ 下面
- shrinkResources true,打开资源压缩
- 开启混淆会使编译时间变长,所以一般debug模式下不开启
- proguard-rules.pro 自定义混淆规则
2.混淆的意义
文档:https://developer.android.com/studio/build/shrink-code
代码混淆是包含了代码压缩、优化、混淆等一系列行为的过程。如上图所示,混淆过程会有如下几个功能:
- 压缩。移除无效的类、类成员、方法、属性等;
- 优化。分析和优化方法的二进制代码;根据proguard-android-optimize.txt中的描述,优化可能会造成一些潜在风险,不能保证在所有版本的