作为一名Android开发,应该了解并尝试给自己的项目进行Proguard混淆打包。项目经过Proguard混淆打包后,会发现apk包体积会变小,也就是混淆可以使得apk瘦身;并且反编译apk的时候会发现, 项目中的源码都被处理过,进一步保障了apk的安全;这就是我所理解的Proguard混淆打包的两个优点。不过,想要真正给自己的项目进行Proguard混淆打包,可不是一件容易的事情,真正尝试去做了,才会发现有好多问题需要去解决,毕竟,混淆打包是针对特定的项目,每个项目需要混淆的代码都是有区别的。不过,所有apk混淆打包,也有一些通用的规则处理,像这些规则,就可以自己记录下来,这样其他项目混淆打包的时候就可以复制粘贴使用混淆代码了。好了,进入正题,如何给自己的项目量身定制一套Proguard混淆代码了?
关于Proguard混淆,给APP瘦身,Google官方也给出了文档给了大致解释,大家有兴趣可以看看,纯英文(够呛),不过怎么在Android Studio配置Proguard混淆,还是可以看懂的:
https://developer.android.com/studio/build/shrink-code.html
我们可以从这些方面对apk瘦身:
1)冗余的代码,比如多余的jar包代码;
2)未使用的静态代码;
3)资源代码的冗余;
4)native code
5)图片资源的优化和压缩
ProGuard混淆打包,解决的问题主要针对第一点,一般项目进行ProGuard混淆打包后,apk的体积会减小200-500KB左右。
简书的编辑器还不太会用,找不到markdown编辑器,代码块没法编写,原文博客地址: