使用Proguard混淆jar包
阿新 • • 發佈:2019-02-01
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.**{*;}