1. 程式人生 > >使用Proguard混淆jar包

使用Proguard混淆jar包

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.**{*;}