Android Studio 下混淆 文件配置 问题 初探(一)

1.参考资料 https://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html 官方文档及网上博客 最近的项目总结

2. Android Studio(以后简称AS)  下默认有proguard-project.txt ,为混淆的配置文件 配置路径在该工程下的gradel中。实际为一个  proguard 

3混淆对象  proguard默认是所有文件均进行混淆

在下列情况一般不进行混淆 :

a 四大组件、support包(一般v4、v7) 

b 资源文件、r文件

c js调用

d 反射和调用反射的类

e jni调用

f so库、jar包(一般来说已经进行了混淆) 

4.基本语法 由于网上资料均 省略这一部分 本文给出重要部分:

a. 通配符 与java类似  *-》代表匹配所有字符   **表示该包类所有类及其子路径的类

b. 如果保持一个类不混淆-keep  class 类名 {*;}  类名是全名(包含包名)   

c. 保持一个类的子类不被混淆   -keep * extends 类名 { *;} 跟java很像是不是?

e. 保持一个类的单个方法不变 -keepclassmembers class 类名 {可含有通配符的方法名}

f. 保持含有某个方法的类不被混淆 -keepclasseswithmembers class 类名 {可含有通配符的方法名}

详见https://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html#manual/usage.html

5 其他

 a.optimize是否采用算法进行压缩

  b. shrink是否删除unused(未使用文件)这个要小心如反射等

  c-libraryjars为导入的jar包、so库 (只是导入) gradel有些已经配置 就会报一个 ....twice 的错

 d 关闭混淆 dontobfuscate


ps :开启混淆 在build.gradel 中开启:buildTypes --》release--》 minifyEnabled true




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值