前两周应业务需要研究了一下混淆打包和sdk混淆技术。在此记录下心得。
1.apk混淆打包
如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则。
告知gradle需要混淆的代码
在Project/app/build.gradle中把minifyEnabled设置为true,表示说打包时需要执行混淆操作。如下代码:
buildTypes {
release {
// 混淆
minifyEnabled true
// Zipalign优化
zipAlignEnabled true
// 移除无用的resource文件
shrinkResources true
// 前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
}
编写混淆规则
正如上方的代码,proguard-rules.txt就是写好混淆规则的文件。gradle根据这个文件设定的混淆规则对apk进行打包。