proguard简单来说是为了防止反编译,更准确的说,是使得代码易读性变差。
maven pom配置中加入以下:
com.github.wvengen
proguard-maven-plugin
2.0.11
package
proguard
true
true
pg
${basedir}/proguard.conf
${java.home}/lib/rt.jar
${java.home}/lib/jce.jar
classes
${project.build.finalName}-pg.jar
${project.build.directory}
在pom同级目录下添加proguard.conf文件:
# 忽略所有警告,否则有警告的时候混淆会停止
-ignorewarnings
# JDK目标版本1.8
-target 1.8
# 不做收缩(删除注释、未被引用代码)
-dontshrink
# 不做优化(变更代码实现逻辑)
-dontoptimize
# 不路过非公用类文件及成员
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
# 优化时允许访问并修改有修饰符的类和类的成员
-allowaccessmodification
# 确定统一的混淆类的成员名称来增加混淆
-useuniqueclassmembernames
# 不混淆所有包名,本人测试混淆后WE