kimi
2020-05-27 c007f0ca1785db093d48f4846cda82fe8e955765
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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*();}
 
# 不对包类的类名进行混淆,但对类中的属性和方法混淆
 
# 不混淆包下的所有类名,且类中的方法和属性也不混淆