###################################################################################################
通用配置
###################################################################################################
#-------------------------------------------1.基本配置区----------------------------------------------
指定混淆时采用的算法,后面的参数是一个过滤器
这个过滤器是谷歌推荐的算法,一般不做更改
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/,!class/merging/
代码混淆压缩比,在0~7之间,默认为5,一般不做修改
-optimizationpasses 5
优化时允许访问并修改有修饰符的类和类的成员
-allowaccessmodification
不做预校验,preverify是proguard的四个步骤之一,Android不需要preverify,去掉这一步能够加快混淆速度。
-dontpreverify
混合时不使用大小写混合,混合后的类名为小写
-dontusemixedcaseclassnames
指定不去忽略非公共库的类
-dontskipnonpubliclibraryclasses
这句话能够使我们的项目混淆后产生映射文件
包含有类名->混淆后类名的映射关系
-verbose
保留Annotation不混淆
-keepattributes Annotation,InnerClasses
-keepattributes JavascriptInterface
避免混淆泛型
-keepattributes Signature
-keepattributes Exceptions
抛出异常时保留代码行号
-keepattributes SourceFile,LineNumberTable
#--------------------------------------------------------------------------------------------------
#-------------------------------------------2.默认保留区--------------------------------------------
#声明第三方jar包,不用管第三方jar包中的.so文件(如果有)
#-libraryjars libs/EZOpenSDK.jar
#-libraryjars libs/gson-2.3.1.jar
#-libraryjars libs/jpush-cloud-sdk-release1.7.0.jar
#-libraryjars libs/sndecode_lib.jar
#-libraryjars libs/wechat-sdk-android-without-mta-1.0.2.jar
#-libraryjars libs/ZBarDecoder.jar
#-libraryjars libs/ZipEntry.jar
#-libraryjars libs/zxing_core.jar
保留我们使用的四大组件,自定义的Application等等这些类不被混淆
因为这些子类都有可能被外部调用
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Ap