編輯:關於Android編程
第一步:代碼混淆(注意引入的第三方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://***
http://dev.360.cn/protect/welcome
如果你的項目裡面包含了百度統計、友盟統計等功能,那麼肯定需要了解不同應用商店的下載量,所以生成渠道包就很重要。這些平台都可以幫助生成多個去到apk
下圖是使用“愛加密”平台,項目集成了友盟統計
加固需要花費十幾分鐘的時候,加固完成後就能下載到不同渠道的包,但是沒有簽名,無法安裝
第四步:apk重新簽名
加固後的apk是沒有簽名的,沒有簽名的apk是無法安裝到手機裡面的,需要使用簽名工具重新簽名
可以使用adt自帶的,但是過於麻煩,建議使用第三方的簽名工具
比如:愛加密提供的http://***/apply/Sign
今天終於把老大交代的任務搞完了,感覺收獲挺多的,所以就寫一篇來記錄一下吧,首先還是來看一下,老大們的需求 需求: 希望移動端的用戶標識(IMEI)和HTML頁面的用戶
前言別看本文看上去很簡單,實際在實驗過程中遇到了很多問題,比如andorid studio下ndk編譯報錯,而本文呈現給大家的都是最終可行的方法.所需資源bzip2 bs
微信作為現代主要通訊之一,很多朋友已經使用微信作為通訊工具了,出門微信一步到位,見面交友也多是問你微信號多少,我加你。那麼手機微信怎麼用呢?怎樣注冊微信號來
AutoCompleteTextView 能夠實現當用戶輸入信息的時候自動提示的功能,但是AutoCompleteTextView只能提示一次,而MultiAutoCom