在Android SDK中自帶有proguard代碼混淆器,但在默認的狀況下該混淆器是沒有打開的。該混淆器在SDK中的路徑是android-sdk-windows\tools\proguardhtml
啓動android-sdk-windows\tools\proguard\lib\proguardgui.jar能夠使用獨立UI的proguard。java
ProGuard是一個免費的java類文件壓縮,優化,混淆器.它探測並刪除沒有使用的類,字段,方法和屬性.它刪除沒有用的說明並使用字節碼獲得最大優化.它使用無心義的名字來重命名類,字段和方法. android
ProGuard的使用是爲了: windows
1.建立緊湊的代碼文檔是爲了更快的網絡傳輸,快速裝載和更小的內存佔用.網絡
2.建立的程序和程序庫很難使用反向工程.優化
3.因此它能刪除來自源文件中的沒有調用的代碼ui
4.充分利用java6的快速加載的優勢來提早檢測和返回java6中存在的類文件.spa
Eclipse中使用proguard的方法以下:debug
1.啓動代碼混淆功能code
新建Android項目工程裏面默認是帶有proguard.cfg的代碼混淆配置文件,若是沒有請從其它項目中copy一個過來。代碼混淆功能默認是沒有啓動這個配置的,須要手動地在項目根目錄default.properties文件裏面添加指定這個配置文件以下:
# Project target. target=android-7 # set proguard.config proguardproguard.config=proguard.cfg
因爲在 Debug下,不可能會有人會混淆代碼,所以這隻在release中有效。使用簽名和無簽名的方式均可以發佈APK包。
這時候生成的apk,我發現是比debug版本(\bin目錄下面)的要小。