标签:
在下列情况一般不进行混淆 :
a 四大组件、support包(一般v4、v7)
b 资源文件、r文件
c js调用
d 反射和调用反射的类
e jni调用
f so库、jar包(一般来说已经进行了混淆)
a. 通配符 与java类似 *-》代表匹配所有字符 **表示该包类所有类及其子路径的类
b. 如果保持一个类不混淆-keep class 类名 {*;} 类名是全名(包含包名)
c. 保持一个类的子类不被混淆 -keep * extends 类名 { *;} 跟java很像是不是?
e. 保持一个类的单个方法不变 -keepclassmembers class 类名 {可含有通配符的方法名}
f. 保持含有某个方法的类不被混淆 -keepclasseswithmembers class 类名 {可含有通配符的方法名}
a.optimize是否采用算法进行压缩
b. shrink是否删除unused(未使用文件)这个要小心如反射等
c-libraryjars为导入的jar包、so库 (只是导入) gradel有些已经配置 就会报一个 ....twice 的错
d 关闭混淆 dontobfuscate
ps :开启混淆 在build.gradel 中开启:buildTypes --》release--》 minifyEnabled true
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android Studio 下混淆 文件配置 问题 初探(一)
标签:
原文地址:http://blog.csdn.net/nothingl3/article/details/47177705