使用Proguard混淆jar包

来源:互联网 发布:sql语句是什么 编辑:程序博客网 时间:2024/05/29 19:32

ProGuard下载地址:http://download.csdn.net/detail/kong_gu_you_lan/9637131

1.Proguard

Proguard的首页,右下角的Load configuration按钮可以导入已经配置好的混淆文件。

Proguard

2.Input/Output

在上面的框内添加要混淆的jar包路径,和混淆后的jar包输出路径。
下面的框内添加jar包的依赖包,项目中lib文件下所有的jar包和jre目录中的部分jar。

Input/Output

3.Shrinking

Shrinking

4.Obfuscation

Obfuscation

5.Optimization

Optimization

6.Information

注意选择jdk版本(Target)。

Information

7.Process

点击右下角的Process按钮生成混淆后的jar包,如果出现Warning,大多数原因是因为依赖包没导全。
点击Save configuration按钮可以保存混淆的配置文件,可以在此文件中修改混淆规则,在首页直接导入即可。
混淆完成后,可以使用jd-gui工具查看混淆后jar包(在lib—jd-gui文件夹中)。
jd-gui下载地址:http://download.csdn.net/detail/kong_gu_you_lan/9637125

Process

8.遇到的问题

混淆的过程中,警告提示有依赖包未导入,实际项目中这些依赖包并没有用到,可在配置文件中忽略。

-dontwarn android.util.**-dontwarn org.codehaus.**

由于项目中导入了第三方的jar包,混淆之后有些相关的功能直接卡死,在混淆文件中增加如下规则:

#RXTXcomm-dontwarn gnu.io.*-keep class gnu.io.** { *;}#log4j-dontwarn org.apache.log4j.*-keep class org.apache.log4j.** { *;}#okhttp-dontwarn okhttp3.**-keep class okhttp3.**{*;}#okio-dontwarn okio.**-keep class okio.**{*;}
2 0
原创粉丝点击