Android實(shí)用圖文教程之代碼混淆、第三方平臺(tái)加固加密、渠道分發(fā)
第一步:代碼混淆(注意引入的第三方j(luò)ar)
在新版本的ADT創(chuàng)建項(xiàng)目時(shí),混碼的文件不再是proguard.cfg,而是project.properties和proguard-project.txt。
新建一個(gè)項(xiàng)目的時(shí)候,會(huì)自動(dòng)生成project.properties和proguard-project.txt文件,無(wú)需自己新建,如果你的項(xiàng)目無(wú)法自動(dòng)生成,那么你就要檢查一下你的ADT版本了
如果需要對(duì)項(xiàng)目進(jìn)行全局混碼,只需要進(jìn)行一步操作:
將project.properties的中
“#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”的“#”去掉就可以了。
如果有一些代碼不能被混淆,比如需要加入了so文件,需要調(diào)用里面的方法,那么調(diào)用JNI訪問(wèn)so文件的方法就不能被混碼。在導(dǎo)出的時(shí)候,可能不會(huì)報(bào)錯(cuò)。但是在手機(jī)上運(yùn)行的時(shí)候,需要調(diào)用so文件的時(shí)候,就會(huì)報(bào)某某方法無(wú)法找到。這個(gè)時(shí)候就需要用到proguard-project.txt。
在新版本的代碼混淆,已經(jīng)變得很智能,不過(guò)引入的第三方j(luò)ar還是需要手動(dòng)編寫(xiě)混淆規(guī)則
案例:引入了BaiduLBS_Android.jar,android-support-v4.jar兩個(gè)包
proguard-project.txt腳本編寫(xiě)規(guī)則:
#工程中含有第三方j(luò)ar包
-libraryjars libs/android-support-v4.jar
-libraryjars libs/BaiduLBS_Android.jar
#項(xiàng)目里面包含的包也不能混淆
-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.**
第二步:導(dǎo)出apk(部分第三方加密平臺(tái)需要導(dǎo)出簽名的apk)
請(qǐng)根據(jù)第三方加密平臺(tái)的要求導(dǎo)出apk,帶簽名的apk導(dǎo)出速度稍慢。右擊項(xiàng)目選擇 Android Tools再根據(jù)需求導(dǎo)出
第三步:第三方平臺(tái)加固(生成多渠道包)
現(xiàn)在比較流行的加密平臺(tái)有:
http://www.bangcle.com
http://***
http://dev.#/protect/welcome
如果你的項(xiàng)目里面包含了百度統(tǒng)計(jì)、友盟統(tǒng)計(jì)等功能,那么肯定需要了解不同應(yīng)用商店的下載量,所以生成渠道包就很重要。這些平臺(tái)都可以幫助生成多個(gè)去到apk
下圖是使用“愛(ài)加密”平臺(tái),項(xiàng)目集成了友盟統(tǒng)計(jì)
加固需要花費(fèi)十幾分鐘的時(shí)候,加固完成后就能下載到不同渠道的包,但是沒(méi)有簽名,無(wú)法安裝
第四步:apk重新簽名
加固后的apk是沒(méi)有簽名的,沒(méi)有簽名的apk是無(wú)法安裝到手機(jī)里面的,需要使用簽名工具重新簽名
可以使用adt自帶的,但是過(guò)于麻煩,建議使用第三方的簽名工具
比如:愛(ài)加密提供的http://***/apply/Sign
相關(guān)文章
Android 四種動(dòng)畫(huà)效果的調(diào)用實(shí)現(xiàn)代碼
在這里, 我將每種動(dòng)畫(huà)分別應(yīng)用于四個(gè)按鈕為例,需要的朋友可以參考下2013-01-01Android中使用ViewFlipper進(jìn)行手勢(shì)切換實(shí)例
這篇文章主要介紹了Android中使用ViewFlipper進(jìn)行手勢(shì)切換的方法,以實(shí)例形式詳細(xì)講述了XML文件的定義及功能函數(shù)的實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下2014-10-10Android 系統(tǒng)實(shí)現(xiàn)多種開(kāi)機(jī)動(dòng)畫(huà)和logo切換功能
這篇文章主要介紹了android 系統(tǒng)實(shí)現(xiàn)多種開(kāi)機(jī)動(dòng)畫(huà)和logo切換功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12Android開(kāi)發(fā)技巧之永不關(guān)閉的Toast信息框(長(zhǎng)時(shí)間顯示而非系統(tǒng)關(guān)閉)
Toast信息提示框之所以在顯示一定時(shí)間后會(huì)自動(dòng)關(guān)閉,是因?yàn)樵谙到y(tǒng)中有一個(gè)Toast隊(duì)列;那么有些時(shí)候需要這個(gè)Toast信息提示框長(zhǎng)時(shí)間顯示,直到需要關(guān)閉它時(shí)通過(guò)代碼來(lái)控制,而不是讓系統(tǒng)自動(dòng)來(lái)關(guān)閉Toast信息提示框2013-01-01Android實(shí)現(xiàn)帶指示器的自動(dòng)輪播式ViewPager
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)帶指示器的自動(dòng)輪播式ViewPager的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02利用Android從0到1實(shí)現(xiàn)一個(gè)流布局控件
新項(xiàng)目用到了一種全新布局,Android標(biāo)簽流式布局的功能,正好一直說(shuō)給大家講自己定義控件的實(shí)現(xiàn),這篇文章主要給大家介紹了關(guān)于利用Android從0到1如何實(shí)現(xiàn)一個(gè)流布局控件的相關(guān)資料,需要的朋友可以參考下2021-08-08Android Studio中Logcat寫(xiě)入和查看日志
大家好,本篇文章主要講的是Android Studio中Logcat寫(xiě)入和查看日志,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01