Android 代碼混淆、第三方平台加固加密、渠道分發 完整教程(圖文)

來源:互聯網
上載者:User

標籤:android   style   blog   http   color   ar   使用   java   strong   

第一步:代碼混淆(注意引入的第三方jar)

 

在新版本的ADT建立項目時,混碼的檔案不再是proguard.cfg,而是project.properties和proguard-project.txt。

建立一個項目的時候,會自動產生project.properties和proguard-project.txt檔案,無需自己建立,如果你的項目無法自動產生,那麼你就要檢查一下你的ADT版本了

如果需要對項目進行全域混碼,只需要進行一步操作:

將project.properties的中

“#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”的“#”去掉就可以了。

如果有一些代碼不能被混淆,比如需要加入了so檔案,需要調用裡面的方法,那麼調用JNI訪問so檔案的方法就不能被混碼。在匯出的時候,可能不會報錯。但是在手機上啟動並執行時候,需要調用so檔案的時候,就會報某某方法無法找到。這個時候就需要用到proguard-project.txt。

在新版本的代碼混淆,已經變得很智能,不過引入的第三方jar還是需要手動編寫混淆規則

案例:引入了BaiduLBS_Android.jar,android-support-v4.jar兩個包

proguard-project.txt指令碼編寫規則:

#工程中含有第三方jar包-libraryjars libs/android-support-v4.jar-libraryjars libs/BaiduLBS_Android.jar#項目裡麵包含的包也不能混淆-keep class com.baidu.** {*;}-dontwarn com.baidu.**-keep class vi.com.gdi.bgl.android.java.** {*;}-dontwarn vi.com.gdi.bgl.android.java.** -keep class android.** {*;}-dontwarn android.**

第二步:匯出apk(部分第三方加密平台需要匯出簽名的apk)

請根據第三方加密平台的要求匯出apk,帶簽名的apk匯出速度稍慢。右擊項目選擇 Android Tools再根據需求匯出

第三步:第三方平台加固(產生多渠道包)

現在比較流行的加密平台有:

http://www.bangcle.com

http://www.ijiami.cn

http://dev.360.cn/protect/welcome

如果你的項目裡麵包含了百度統計、友盟統計等功能,那麼肯定需要瞭解不同市集的下載量,所以產生渠道包就很重要。這些平台都可以協助產生多個去到apk

是使用“愛加密”平台,項目整合了友盟統計

加固需要花費十幾分鐘的時候,加固完成後就能下載到不同渠道的包,但是沒有簽名,無法安裝

第四步:apk重新簽名


加固後的apk是沒有簽名的,沒有簽名的apk是無法安裝到手機裡面的,需要使用簽名工具重新簽名

可以使用adt內建的,但是過於麻煩,建議使用第三方的簽名工具

比如:愛加密提供的http://www.ijiami.cn/apply/Sign

 

Android 代碼混淆、第三方平台加固加密、渠道分發 完整教程(圖文)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.