ProGuard簡介
ProGuard是一個SourceForge上非常知名的開源項目。官網網址是:http://proguard.sourceforge.net/。
Java的字節碼一般是非常容易反編譯的。為了很好的保護Java源代碼,我們往往會對編譯好的class文件進行混淆處理。ProGuard的主要作用就是混淆。當然它還能對字節碼進行縮減體積、優化等,但那些對於我們來說都算是次要的功能。
Android Eclipse開發環境與ProGuard
在Android 2.3以前,混淆Android代碼只能手動添加proguard來實現代碼混淆,非常不方便。而2.3以後,Google已經將這個工具加入到了SDK的工具集裡。具體路徑:SDK\tools\proguard。當創建一個新的Android工程時,在工程目錄的根路徑下,會出現一個proguard的配置文件proguard.cfg。也就是說,我們可以通過簡單的配置,在我們的elipse工程中直接使用ProGuard混淆Android工程。
具體混淆的步驟非常簡單。首先,我們需要在工程描述文件default.properties中,添加一句話,啟用ProGuard。如下所示:
這樣,Proguard就可以使用了。當我們正常通過Android Tools導出Application Package時,Proguard就會自動啟用,優化混淆你的代碼。
導出成功後,你可以反編譯看看混淆的效果。一些類名、方法名和變量名等,都變成了一些無意義的字母或者數字。證明混淆成功!
ProGuard 的詳細介紹:請點這裡
ProGuard 的下載地址:請點這裡