使用Proguard混淆jar包

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

1.Proguard

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

《使用Proguard混淆jar包》 Proguard

2.Input/Output

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

《使用Proguard混淆jar包》 Input/Output

3.Shrinking

《使用Proguard混淆jar包》 Shrinking

4.Obfuscation

《使用Proguard混淆jar包》 Obfuscation

5.Optimization

《使用Proguard混淆jar包》 Optimization

6.Information

注意选择jdk版本(Target)。

《使用Proguard混淆jar包》 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

《使用Proguard混淆jar包》 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.**{*;}
    原文作者:容华谢后
    原文地址: https://www.jianshu.com/p/c80416f3e0be
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞