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

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

 

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

新建一個項目的時候,會自動生成project.properties和proguard-project.txt文件,無需本身新建,若是你的項目沒法自動生成,那麼你就要檢查一下你的ADT版本了app

若是須要對項目進行全局混碼,只須要進行一步操做:工具

將project.properties的中加密

「#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt」的「#」去掉就能夠了。spa

若是有一些代碼不能被混淆,好比須要加入了so文件,須要調用裏面的方法,那麼調用JNI訪問so文件的方法就不能被混碼。在導出的時候,可能不會報錯。可是在手機上運行的時候,須要調用so文件的時候,就會報某某方法沒法找到。這個時候就須要用到proguard-project.txt。code

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

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

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

相關文章
相關標籤/搜索