Android混淆代碼工具ProGuard

jopen 12年前發布 | 66K 次閱讀 Android Android開發 移動開發

  Android從2.3的SDK開始,將ProGuard混淆代碼的功能加入了進來。

    我們可以從android sdk的tools目錄下看到有一個proguard目錄。說明具有了代碼混淆的功能。

    Android混淆代碼工具ProGuard

    至于如何進行代碼的混淆。我們需要做的很簡單:

    1、在用eclipse生成的android工程中都有一個project.properties文件,我們需要在該文件中增加下面一行代碼:

</tr> </tbody> </table> </div> </div> </div>

    如圖所示:

Android混淆代碼工具ProGuard

    2、寫混淆腳本proguard.cfg

    我測試用的混淆腳本非常簡單,只加了優化功能。如圖所示:

Android混淆代碼工具ProGuard

    對于proguard.cfg腳本的詳細介紹參見:http://blog.csdn.net/laoyao_moyan/article/details/7353768

    我們可以看到混淆android代碼非常容易,但是需要注意的是:在eclipse下通過Run執行來生成的bin目錄下的apk文件并沒有被混淆,只有通過加入證書發布的apk才會混淆。

    下面,我們來看看如何打包簽名apk。

    1、生成keystore;

    在生成簽名apk前,我們需要keystore,這個keystore可以用jdk下的keytool工具生成。

    在cmd下,用命令行生成keystore如圖所示:

    Android混淆代碼工具ProGuard

    按照上圖中的命令,輸入需要輸入的內容。

    其中,-alias android.keystore是生成的keystore別名;

              -keyalg RSA是加密和數字簽名的算法;

              -validity 20000是有效天數

    最后,會在jdk的bin目錄下生成android.keystore文件。(這是因為keytool命令在jdk的bin目錄下,當然,這個可以通過環境變量來設置)。

    2、用keystore生成簽名apk。

    我們有了keystore,就可以生成簽名apk了。

    Eclipse中,右鍵需要簽名的工程->Android tools->export signed application package...

    這時會出現以下對話框:

    Android混淆代碼工具ProGuard

    點擊下一步:

    Android混淆代碼工具ProGuard

    鍵入密碼,點擊Next:

    Android混淆代碼工具ProGuard

    鍵入密碼,再次點擊Next:

    Android混淆代碼工具ProGuard

    最后,點擊Finish即可。

    這時會在jdk的bin目錄下生成帶簽名的apk。

    下面是將我在github上的androidexample工程混淆了,效果如下:

    Android混淆代碼工具ProGuard

來自:http://my.oschina.net/u/661133/blog/82553

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
1 proguard.config=proguard.cfg
  • sesese色