ProGuard下载地址:http://download.csdn.net/detail/kong_gu_you_lan/9637131
1.Proguard
Proguard的首页,右下角的Load configuration按钮可以导入已经配置好的混淆文件。
2.Input/Output
在上面的框内添加要混淆的jar包路径,和混淆后的jar包输出路径。
下面的框内添加jar包的依赖包,项目中lib文件下所有的jar包和jre目录中的部分jar。
3.Shrinking
4.Obfuscation
5.Optimization
6.Information
注意选择jdk版本(Target)。
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
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.**{*;}