赞
踩
https://www.jb51.net/article/149128.htm
http://ask.android-studio.org/?/question/899-----混淆打包遇到的问题
1:在 主moudel工程下的 gradle.build文件中,放开混淆和 移除无用资源
https://blog.csdn.net/u010248147/article/details/87358853
proguard提供了一种比较先进的安全组件来保证android APK和SDK被静态代码分析,所以其最主要的功能就是对我们的代码进行混淆,不让一些黑客可以通过一些静态代码的分析来攻击我们的应用。但是其实proguard还提供了一些其他的功能,那我们先来看下到底做了哪些事情。
功能和流程:
功能:shrinker(压缩),optimizer(优化),obfuscator(混淆),preverifier(预校验)
shrink: 检测并移除没有用到的类,变量,方法和属性;
optimize: 优化代码,非入口节点类会加上private/static/final,没有用到的参数会被删除,一些方法可能会变成内联代码。
obfuscate: 使用短又没有语义的名字重命名非入口类的类名,变量名,方法名。入口类的名字保持不变。
preverify: 预校验代码是否符合Java1.6或者更高的规范(唯一一个与入口类不相关的步骤)
流程:
shrink-->optimize-->obfuscate-->preverify
proguard-rules.pro:们自定义的混淆规则,这份文件就位于app目录下,也是我们在项目中一眼可以看到的混淆文件。方便我们看到,也是为了方便我们操作。(这个文件是 android sdk提供的一个默认的produard的默认配置项存放在{ANDROID_SDK_ROOT}/tools/proguard/)
proguard-android.txt:系统提供的默认的混淆规则,这份文件你在项目中就是把电脑戳烂也找不到,既然系统提供的默认混淆规则,一般也不需要我们动。它的路径在sdk/tools/proguard/下。但是其实在下面这个目录也会存在
android-optimize.txt :
此文件主要配置的是一些默认的proguard配置,而和‘proguard-android’的最大区别在与‘proguard-android-optimize.txt’中开启了Proguard optimize的选项(optimize是Proguard的一项功能) ,它包括相同的 ProGuard 规则,但还包括其他在字节码一级(方法内和方法间)执行分析的优化,以进一步减小 APK 大小和帮助提高其运行速度。(所以一般release版本应该开启android-optimize.txt : 优化规则 )
填坑1:
需要在 proguard-android.txt 中 设置 -dontwarn 文件
填坑2 :
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。