# 忽略所有警告,否则有警告的时候混淆会停止 -ignorewarnings # JDK目标版本1.8 -target 1.8 # 不做收缩(删除注释、未被引用代码) -dontshrink # 不做优化(变更代码实现逻辑) -dontoptimize -dontpreverify # 确定统一的混淆类的成员名称来增加混淆 -useuniqueclassmembernames # 不混淆所有包名 -keeppackagenames # 不混淆局部变量名 -keepparameternames # 不混淆所有特殊的类 LocalVariable*Table, -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,Synthetic,EnclosingMethod # 混淆类名之后,对使用Class.forName「c1assName,)之类的地方进行相应替代 -adaptclassstrings # 保留接口类名 -keepnames interface * # 不混淆包下的所有类名 # 不混淆所有的set/get方法 -keepclassmembers class * { void set*(***); *** get*(); boolean is*(); @javax.annotation.PostConstruct *; @javax.annotation.PreDestroy *; } -keepclassmembers enum * { *; } -keep class com.torchdb.spreadsheet.definition.** {*;} -keep class com.torchdb.spreadsheet.dsl.** {*;} -keep class com.torchdb.spreadsheet.exception.** {*;} -keep class com.torchdb.spreadsheet.font.** {*;} -keep class com.torchdb.spreadsheet.model.** {*;} -keep class com.torchdb.spreadsheet.parser.** {*;} -keep class com.torchdb.spreadsheet.spi.** {*;} -keep class com.torchdb.spreadsheet.utils.** {*;} -keep class !com.torchdb.spreadsheet.** {*;} -dontwarn !com.torchdb.spreadsheet.**