日積月累:ProguardGui進行jar包代碼混淆

前面文章《Proguard進行源代碼混淆》講解過怎麼使用Proguard工具對Android的源代碼進行混淆的方法(感興趣的朋友能夠訪問:http://blog.csdn.net/p106786860/article/details/11974863),可是在實際工做中發現,經過上述方法對導出的Jar並無進行混淆 android

 

下面咱們就介紹,若是對導出的Jar包進行代碼混淆 app

1、準備工做 編輯器

首先咱們要準備好:1.你已經導出的jar包(srcjar.jar)文件,2.ProguardGui工具 sdk\tools\proguard\bin\proguardgui.bat)。 工具



 

2、操做步驟 ui

1.啓動proguardgui工具。 spa

雙擊groguardgui.bat文件,運行以下圖 .net


 

2.設置咱們須要混淆的jar包和混淆後輸出的jar包。 code

點擊左邊的Input/Output按鈕,運行以下圖。在點擊Add input按鈕,添加咱們須要進行混淆的jar包(srcjar.jar)。點擊Add output按鈕,填入咱們要輸出的jar包的名稱 orm


 

3.添加jar包支持的庫。 blog

點擊下面的Add按鈕,一一添加jar包支持的庫。建議把你的Eclipe中,項目下全部的jar包都拷貝到一個統一的目錄中,而後進行添加。 


項目中全部的jar支持 


集中了全部的jar在同一個文件夾下 


添加了jar包支持的庫 

 

4.依次設置混淆的各類配置 

依次點擊Shrinking按鈕、Obfuscation按鈕、Optimization按鈕和Information按鈕,分別對混淆進行各類配置。 

 

5.保存混淆的配置文件 

點擊Process按鈕,在點擊Save configuration按鈕,保存咱們混淆配置文件 


 

6.根據需求修改混淆配置文件 

在真實的項目中,可能因爲各類第三方的jar包,自動類和控件等問題,在混淆的時候,會致使各類類沒法找到的問題。使用文本編輯器打開srcjar.pro文件,能夠根據本身的需求編輯混淆配置。 

 

 
 
-injars ruyicai.jar //須要混淆的jar包  
-outjars ruyicai-out.jar //混淆完畢輸出的jar包 
 
//引用依賴的jar包 
-libraryjars 'C:\Program Files\Java\jdk1.6.0_43\jre\lib\rt.jar' 
… ... 
-libraryjars libs\weibo-1.2.jar 
 
-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 
 
//在混淆的過程當中,建議保留Activity,Application四大組件,其它的類可根據實際狀況設置是否混淆 
-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Service 
… …  
-keep public class com.ruyicai.activity.common.PullRefreshListView{*;} 
 
//不混淆第三方的jar包 
-keep class com.alipay.android.app.**{*;} 
… ... 
-keep class cn.jpush.android.**{*;} 
 
//後面的規則使用默認的,這裏不在描述 
… …. 

 

7.載入混淆配置文件,對Jar進行混淆 

從新啓動proguardgui程序,在點擊右邊Proguard按鈕,點擊Load configration按鈕,導入上面配置好的混淆文件 


而後點擊右邊Process按鈕,再次點擊下面的Process按鈕,進行Jar的混淆 


如出現上圖successfully提示,則混淆完畢

相關文章
相關標籤/搜索