| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #指定Java的版本
- -target 1.8
- #proguard会对代码进行优化压缩,他会删除从未使用的类或者类成员变量等
- -dontshrink
- #是否关闭字节码级别的优化,如果不开启则设置如下配置 不做优化(变更代码实现逻辑)
- -dontoptimize
- #混淆时不生成大小写混合的类名,默认是可以大小写混合
- -dontusemixedcaseclassnames
- # 对于类成员的命名的混淆采取唯一策略
- -useuniqueclassmembernames
- #混淆类名之后,对使用Class.forName('className')之类的地方进行相应替代
- -adaptclassstrings
- #保持目录结构
- -keepdirectories
- #对异常、注解信息予以保留
- -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod,Qualifier
- # 此选项将保存接口中的所有原始名称(不混淆)-->
- #-keepnames interface ** { *; }
- # 此选项将保存所有软件包中的所有原始接口文件(不进行混淆)
- #-keep interface * extends * { *; }
- #保留参数名,因为控制器,或者Mybatis等接口的参数如果混淆会导致无法接受参数,xml文件找不到参数
- -keepparameternames
- # 保留枚举成员及方法
- #-keepclassmembers enum * { *; }
- # 不混淆所有类,保存原始定义的注释-
- -keepclassmembers class * {
- @org.springframework.context.annotation.Bean *;
- @org.springframework.context.annotation.Bean *;
- @org.springframework.beans.factory.annotation.Autowired *;
- @org.springframework.beans.factory.annotation.Value *;
- @org.springframework.stereotype.Service *;
- @org.springframework.stereotype.Component *;
- @org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration *;
- @org.springframework.boot.context.properties.ConfigurationProperties *;
- @org.springframework.web.bind.annotation.RestController *;
- @org.springframework.beans.factory.annotation.Qualifier *;
- @io.swagger.annotations.ApiParam *;
- @org.springframework.validation.annotation.Validated *;
- @io.swagger.annotations.ApiModelProperty *;
- @javax.validation.constraints.NotNull *;
- @javax.validation.constraints.Size *;
- @javax.validation.constraints.NotBlank *;
- @javax.validation.constraints.Pattern *;
- }
- -keep class org.springframework.** {*;}
- -keep public class ch.qos.logback.**{*;}
- -keep class com.fasterxml.jackson.** { *; }
- #忽略warn消息
- -ignorewarnings
- #打印配置信息
- -printconfiguration
- #入口程序类不能混淆,混淆会导致springboot启动不了
- -keep public class com.fs.FSApplication { *;}
- # 全放开
- #-keep class com.ugdsec.** {*;}
- #保留Serializable序列化的类不被混淆
- # controller 层映射前台参数的类、后端返回的 bean 属性类等,不能混淆类的成员属性(如变成 string a;)
- #-keepclassmembers class * implements java.io.Serializable {*;}
- -dontwarn
|