android 導出Jar包混淆

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

 

下面我們就介紹,如果對導出的Jar包進行代碼混淆 

一、準備工作 

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



 

二、操作步驟 

1.啓動proguardgui工具。 

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


 

2.設置我們需要混淆的jar包和混淆後輸出的jar包。 

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


 

3.添加jar包支持的庫。 

點擊下面的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提示,則混淆完畢 


轉載自:http://blog.csdn.net/p106786860/article/details/12168703

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章