proguard.cfg 3.1 KB

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