Android Studio代码混淆,开启Proguard,稍微总结一下
一.首先看一下大佬的博客
https://blog.****.net/willba/article/details/79278092
https://www.jianshu.com/p/b5b2a5dfaaf4
https://blog.****.net/ccpat/article/details/52059344
做个纪念
https://blog.****.net/hnlgzb/article/details/103101455
二.追根溯源
1.proguard官网
https://www.guardsquare.com/zh-hans/%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D/proguard
2.Proguard使用文档
里面很详细
file:///D:/assdk/androidsdk/tools/proguard/docs/index.html
三.总结一下这次的混淆
1.Proguard的四个作用
ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier.
忘记哪里看到的,preverifier对于安卓应用是不需要的。
那就剩下三个了,而optimizer对于安卓应用仅仅是可选项了。
也有可能是:
proguard-android-optimize.txt和proguard-android.txt相比就多了一个optimizer功能(看自己配置了,也可能是部分的optimizer功能)
2.来看下两者的差别
首先我们在D:\assdk\androidsdk\tools\proguard这个路径下可以找到这两个文件
对比了下两者的差别,其实相差不大,就下面的一点差别,差别就在这个字段 -dontoptimize
3.这两个文件作用的“或”的关系,所以才叫files.
4.其实也看到有的同事直接把proguard-android-optimize.txt里面的copy到proguard-rules.pro里面,就用一个文件就好。
5.这次经常出错的问题是下面这个:
找了挺久,最终的原因是:你的应用里面是不是多了一个framework.jar