1. Android SDK自带了混淆工具Proguard
它位于SDK根目录\tools\proguard下面。 ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的类,字段,方法和属性。它可以优化字节码,并删除未使用的指令。它可以将类、字段和方法使用短无意义的名称进行重命名。最后,预校验的Java6或针对Java MicroEdition的所述处理后的码。
如果开启了混淆,Proguard默认情况下会对所有代码,包括第三方包都进行混淆,可是有些代码或者第三方包是不能混淆的,这就需要我们手动编写混淆规则来保持不能被混淆的部分。
项目中如果含有多个module时,在主app中设置了混淆其他module都会混淆。
2. 在 App module build.gradle 中配置
android {
buildTypes {
release {
//shrinkResources true // 移除未被使用的资源
minifyEnabled true // 开启代码混淆
zipAlignEnabled true // 开启Zip压缩优化
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false // 开启代码混淆
zipAlignEnabled false // 开启Zip压缩优化
//shrinkResources fa