1、一般来说,Android Studio要开启混淆需要两步
1)在对应库项目的build.gradle 文件设置开启:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
2)在跟build.gradle同一目录下的proguard-rules.pro配置对应的混淆规则即可
2、但是,要是你是用以下方式引用第三库的话:
implementation fileTree(dir: 'libs', include: ['*.jar'])
或者
api fileTree(dir: 'libs', include: ['*.jar'])
或者
compile fileTree(dir: 'libs', include: ['*.jar'])
然后,通过AS侧边栏gradle-projects-项目名-tasks-assembleRelease,打包成混淆jar:
3、你会发现,你通过implementation或者compile引用的第三方jar也合并进了混淆的jar
这时候,只需要,把第二步的第三方库引用方式改为:
compileOnly fileTree(dir: 'libs', include: ['*.jar'])
即可实现打出来的混淆jar只有你自己写的代码,而不包含第三方代码