Proguard是Android很早就使用的代码混淆工具,除了用于混淆代码提高安全性以外,他在代码编译的时候也会通过遍历代码的方式来发现没有被调用的代码,从而将其在打包成apk时剔除,最终一定程度上降低了apk的大小。
但是Proguard使用时候是要注意的,因为代码中利用反射机制的地方会被Proguard工具破坏,所以要慎重的编写混淆例外文件,同时对于混淆后打包出来的apk要重新充分回归测试下。
ProGuard是一个开源的Java代码混淆器。它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。
ProGuard作用
- 压缩: 移除无效的类、属性、方法等
- 优化: 优化字节码,并删除未使用的结构
- 混淆: 将类名、属性名、方法名混淆为难以读懂的字母,比如a,b,c