# JDK目标版本1.8
|
-target 1.8
|
# 不做收缩(删除注释、未被引用代码)
|
-dontshrink
|
# 不做优化(变更代码实现逻辑)
|
-dontoptimize
|
-ignorewarnings
|
# 不路过非公用类文件及成员
|
-dontskipnonpubliclibraryclasses
|
-dontskipnonpubliclibraryclassmembers
|
-dontusemixedcaseclassnames
|
# 优化时允许访问并修改有修饰符的类和类的成员
|
-allowaccessmodification
|
# 确定统一的混淆类的成员名称来增加混淆
|
-useuniqueclassmembernames
|
# 不混淆所有包名,本人测试混淆后WEB项目问题实在太多,毕竟Spring配置中有 大量固定写法的包名
|
-keeppackagenames
|
-adaptclassstrings
|
# -keepdirectories
|
# 不混淆所有特殊的类
|
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
|
# This option will save all original methods parameters in files defined in -keep sections, otherwise all parameter names will be obfuscate.
|
-keepparameternames
|
-keep interface * extends * { *; }
|
-keepclassmembers class * {
|
@org.springframework.beans.factory.annotation.Autowired *;
|
@org.springframework.beans.factory.annotation.Value *;
|
}
|
|
# 混淆这个包下的类 此处需要更改
|
#-keep class !com.highdatas.mdm.process.** { *; }
|
#-keep class !com.highdatas.mdm.service.** { *; }
|
#-keep class !com.highdatas.mdm.controller.** { *; }
|
-dontwarn **
|
# 不混淆main方法
|
-keep class com.package.Application { *; }
|
-keep class com.highdatas.mdm.util.** { *; }
|
-keep class com.highdatas.mdm.mapper.** { *; }
|
-keep class com.highdatas.mdm.job.** { *; }
|
-keep class com.highdatas.mdm.pojo.** { *; }
|
-keep class com.highdatas.mdm.entity.** { *; }
|
|
# 不混淆所有的set/get方法,毕竟项目中使用的部分第三方框架(例如Shiro)会用到大量的set/get映射
|
-keepclassmembers public class * {void set*(***);*** get*();}
|
|
# 不对包类的类名进行混淆,但对类中的属性和方法混淆
|
|
# 不混淆包下的所有类名,且类中的方法和属性也不混淆
|