ProGuard
ProGuard是针对Java类文件的压缩器、优化器和混淆器,它可以发现并删除无用类、字段、方法和属性,优化字节码并删除无用指令,使用简单的无意义名字重命名类、域和方法。
1 安装
(1)安装好JDK并下载ProGuardCoreProGuardCore下载地址
(2)下载ProGuardProGuard下载地址
ProGuardCore与ProGuard解压后如下所示:
(3)进入ProGuard-master目录并输入以下命令
gradlew --include-build=../proguard-core-master assemble
等待完成,然后ProGuard-master目录会lib子目录
(4)进入lib子目录,新建start.bat文件,内容为:
java -jar proguardgui.jar
双击运行该bat文件,会自动跳出ProGuard图形界面。
至此,ProGuard已经安装成功啦!下面开始使用吧!
2 简单使用
2.1 添加输入文件、输出文件和依赖库
蓝框部分为输入文件,红框部分为输出文件;下面的Library jars,aars,wars,ears,jmods,zips,apks,and directories为依赖库,这里我没有,故没添加。
2.2 Shrinking
由于不需要用于Shrinking,所以取消勾选,其他项不动。
2.3 混淆
这里只需要进行混淆,故选择了obfuscation项。
2.4 Optimization
由于Optimization包含去除操作,这里取消勾选Optimize
2.3 信息
注意选择jdk版本(Target)
2.6 处理
点击process进行处理并点击save configuration进行保存。
最后发现确实生成了BubbleSort_ProGuard.jar文件。
2.7 比较
比较左图的BubbleSort.jar与右图的BubbleSort_ProGuard.jar文件,具体如下图所示。
可以看出,除了类名BubbleSort与main函数未变(不可以变,以保证程序正常运行),其他函数名均变化,这说明混淆成功。