Android APK及匯出JAR包的代碼混淆
像Android開發基於java語言的,很容易被別人反編譯出來,一下就相當於裸奔了,特別是用於商業用途的時候,防止反編譯是必要的措施。而代碼混淆是一種很好防止反編譯的方式。
1、APK的代碼混淆。
在eclipse的開發環境下,使用android SDK 內建的proguard混淆工具。
主要用到紅線框中的兩個檔案。
在project.properties檔案中,要指定混淆的檔案。
然後,詳細的proguard-project.txt的寫法如下:
-dontwarn 是讓指定包名不提示警告
-libraryjars 是指明匯入第三方包,不參加混淆
再看看我匯入的第三方包:
好了,這些準備工作都OK,那就開始匯出APK了。注意平時調試的時候是不會進行代碼混淆的,切記不要直接COPY /bin目錄下APK發布出去哦。匯出APK的具體流程:
右鍵 ——> Export ------>
我用的現在的一個keystore,當然你也可以建立一個,這個很容易的。
再輸入一個alias的密碼
選擇好APK儲存的目標目錄,點擊Finish,就可以在指定的目錄下看到APK了。
但是如果你那個proguard-project.txt配置沒有寫好的話,如下:(有把一句屏蔽掉了)
當點擊Finish的時候,就會出現下來這種報錯:
OK了之後,你可以看看,混淆之前和之後異同:
2、Android工程匯出JAR包的混淆。
我是參照:http://www.cnblogs.com/rayray/p/3421028.html
其實,還是用Android SDK 裡內建的Proguard,位於目錄android-sdk-windows\tools\proguard\bin下面proguardgui.bat。雙擊即可開始,
可以載入已經存在的設定檔,也可以點擊Next,建立一個。
完成混淆!如果這時候它報錯的話,可以先將這些設定檔儲存下來,直接修改檔案就可以了。
然後,我們可以看看混淆之前和混淆之後的效果。