代码混淆
花指令,功能等价但改变形式
代码中各个元素改写成无意义的名字
以更难理解的形式重写部分逻辑
打乱代码格式
Proguard:Java类文件处理工具,优化字节码
代码中元素名称改短,移除冗余代码
增加代码被反编译难度
使用方法:
配置minifyEnabled为true,debug下不要配置
proguard-rules中配置相应规则
三方库处理
基础库统一
选择更小的库,Android MethodsCount
仅引入所需的部分代码:比如Fresco的webp支持,只引入与webp相关的包
移除无用代码
业务代码只加不减
代码太多不敢删除
AOP统计使用情况