1. app module下build文件开启代码混淆和资源压缩
通过minifyEnabled=true开启混淆,shrinkResources=true开启资源压缩,混淆会增加编译时间,一般release才会开启
资源压缩之前应先开启混淆,不然会编译不通过
未混淆的debug包和已混淆的release包
2.自定义混淆规则
1. -keep[,修饰符,...] class_specification,keep混淆命令的模板,修饰符可以暂时不管,因为[]表示可选的;class_specification是对类以及类成员的描述,看下图
[] 标识可选。
| 表示 ‘或’ 的意思只能取一个。
...表示可以有多个,简单举个例子 [[!]public|private|protected|static ... ] 可以包含 public * >static 这两个,从 Java 的角度理解也不难。
{} 大括号是实实在在的大