1. 程式人生 > >eclipse Android開發程式碼混淆

eclipse Android開發程式碼混淆

  程式碼混淆對於一個完善的app 必不可少的

   1、新建一個Android 專案時,會自動生成兩個檔案proguard-project.txt ,  project.properties

  只需要將project.properties檔案中  proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt這行前面的#去掉,專案就可以程式碼混淆了

 

   需要注意幾點:

   1、只能通過export signed  Application Package  或者 export  Unsigned  Application Package這兩種方式打包apk,才有程式碼混淆,直接執行的apk沒有程式碼混淆的。

    2、proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt,這行程式碼中用到了兩個配置檔案,一個是sdk目錄下的proguard-android.txt,一些基本的配置,比如 Activity ,註解 ,實現介面等不被混淆一般不用修改。另一個是proguard-project.txt,之前說的新建專案自動生成的檔案,這裡你需要加上一些你需要不被混淆的配置。

  3、proguard-project.txt配置,

      -dontwarn com.tgt.soa.Coder.**
      -keep class com.tgt.soa.Coder.** { *;}

      表示包名com.tgt.soa.Coder下的所有類都不需要混淆

 

  混淆測試

  進行反編譯apk,就能知道你的apk是否進行混淆

 我自己的百度網盤編譯工具下載路徑

 http://pan.baidu.com/s/1hr7CJ7A

 反編譯步驟

 1 解壓apk檔案後,將classes.dex 檔案複製到dex2jar-2.0資料夾下
 2 cmd目錄切換到當前資料夾,執行d2j-dex2jar.bat d classes.dex,會生成classes-dex2jar.jar
 3 使用jd-gui.exe開啟classes-dex2jar.jar,檢視原始碼

 

混淆過的apk反編譯出來的包名都是 a b c 類的包名