ProGuard下載地址:http://download.csdn.net/detail/kong_gu_you_lan/9637131
1.Proguard
Proguard的首頁仪搔,右下角的Load configuration按鈕可以導(dǎo)入已經(jīng)配置好的混淆文件谷炸。
Proguard
2.Input/Output
在上面的框內(nèi)添加要混淆的jar包路徑锣咒,和混淆后的jar包輸出路徑怎抛。
下面的框內(nèi)添加jar包的依賴包,項(xiàng)目中l(wèi)ib文件下所有的jar包和jre目錄中的部分jar矗钟。
Input/Output
3.Shrinking
Shrinking
4.Obfuscation
Obfuscation
5.Optimization
Optimization
6.Information
注意選擇jdk版本(Target)。
Information
7.Process
點(diǎn)擊右下角的Process按鈕生成混淆后的jar包恳蹲,如果出現(xiàn)Warning,大多數(shù)原因是因?yàn)橐蕾嚢鼪]導(dǎo)全俩滥。
點(diǎn)擊Save configuration按鈕可以保存混淆的配置文件嘉蕾,可以在此文件中修改混淆規(guī)則,在首頁直接導(dǎo)入即可霜旧。
混淆完成后错忱,可以使用jd-gui工具查看混淆后jar包(在lib—jd-gui文件夾中)。
jd-gui下載地址:http://download.csdn.net/detail/kong_gu_you_lan/9637125
Process
8.遇到的問題
混淆的過程中挂据,警告提示有依賴包未導(dǎo)入以清,實(shí)際項(xiàng)目中這些依賴包并沒有用到,可在配置文件中忽略崎逃。
-dontwarn android.util.**
-dontwarn org.codehaus.**
由于項(xiàng)目中導(dǎo)入了第三方的jar包掷倔,混淆之后有些相關(guān)的功能直接卡死,在混淆文件中增加如下規(guī)則:
#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.**{*;}