!現(xiàn)在有很多Apk加固的第三方平臺(tái),譬如愛(ài)加密,360加固,梆梆加密等,但是這些平臺(tái)都是收費(fèi)的。那么我們就來(lái)一個(gè)免費(fèi)的APK加固工具APK PRotect。(1)選擇版本:有多個(gè)版本,此處選用免費(fèi)版(APK Protect PC Edition)。
我把軟件也上傳到CSDN服務(wù)器,下載地址。 下載后解壓目錄如下: 
(2)目標(biāo)應(yīng)用:SplashAct.apk
(3)加密過(guò)程: 無(wú)需安裝,解壓后直接運(yùn)行apkcrypt.exe; 選擇需要加密的APK; 指定生成目標(biāo)的名字; 點(diǎn)擊按鈕開(kāi)始加密,軟件會(huì)在同一目錄下生成加密后的APK。 
加密前:18823KB 加密后:18885KB 
注:點(diǎn)擊開(kāi)始后,可能會(huì)彈出錯(cuò)誤信息:The application need Java jre , please install jre and retry 解決辦法:由于電腦是64位的,我只安裝了64位的jre,再去裝個(gè)32位的jre就可以了
獲取到加固之后的APK文件,這時(shí)還不能立即安裝,會(huì)提示APK未簽名,所以我們需要使用簽名工具對(duì)其進(jìn)行簽名。 步驟:首先我們需要有.keystore 或.jks文件,那怎么生成呢?
.keystore 或.jks文件的生成(可跳過(guò)):.jks文件的生成如下:

可通過(guò)AS中build中的下邊這個(gè)↓,調(diào)出上邊↑這個(gè)圖像化界面生成.jks文件即可;.keystore的生成
.keystore的生成麻煩一點(diǎn)兒,需要鍵入cmd命令進(jìn)入命令模式。因?yàn)樾枰ㄟ^(guò)keytool.exe%20工具來(lái)創(chuàng)建keystore庫(kù).所以我們需要到"JDK"的安裝目錄的Bin子目錄下,按住shift%20+%20鼠標(biāo)右鍵選擇“在此處打開(kāi)命令窗口”進(jìn)入本地命令模式。
輸入以下命令:例子:keytool%20-genkeypair%20-alias%20 mydemo.keystore%20-keyalg%20RSA%20-validity%20 100 -keystore%20mydemo.keystore
命令說(shuō)明如下:
-genkeypair%20 :指定生成數(shù)字證實(shí)
-alias%20:指定生成數(shù)字證書(shū)的別名
-keyalg:指定生成數(shù)字證書(shū)的算法%20 這里如RSA算法
-validity:指定生成數(shù)字證書(shū)的有效期
-keystore%20:指定生成數(shù)字證書(shū)的存儲(chǔ)路徑。%20 (這里默認(rèn)在keytool.exe%20目錄下)然后回車(chē)%20出現(xiàn)如圖交互式界面%20 %20輸入數(shù)字證書(shū)費(fèi)密碼%20作者%20 公司等詳細(xì)信息
如圖%20:
key文件生成完了,那么我們就利用xx.keystore或xx.jks,來(lái)生成簽名的apk吧!簽名就需要使用“JDK”安裝目錄下bin子目錄下的jarsigner.exe工具來(lái)進(jìn)行簽名啦。使用如下命令進(jìn)行簽名:
jarsigner -verbose -keystore mydemo.keystore -signedjar -Note.apk Notes.apk mydemo.keystore
以上命令的說(shuō)明:
-verbose:指定生成詳細(xì)輸出
-keystore:指定數(shù)字證書(shū)存儲(chǔ)路徑
-signedjar:該選項(xiàng)的三個(gè)參數(shù)分別為 簽名后的apk包 未簽名的apk包 數(shù)字證書(shū)別名
注意有效期哦。
這個(gè)警告的話本身對(duì)簽名沒(méi)有影響,要想去掉這個(gè)警告只要在命令上再加上:
-tsa%20https://timestamp.geotrust.com/tsa 就可以了,不過(guò)考慮到在安裝的時(shí)候就可能會(huì)提示安裝失敗,沒(méi)有簽名,所以再加這段話: -digestalg%20SHA1%20-sigalg%20md5withRSA%20,結(jié)果新的命令語(yǔ)句就是:
例:jarsigner -verbose -digestalg%20SHA1%20-sigalg%20MD5withRSA -keystore%20test.keystore%20-storepass%20test123%20-signedjar%20signed_client.apk%20client.apk%20test
簽名后的apk%20 如圖:sdk目錄下tool目錄下使用zipalign.exe工具優(yōu)化APK安裝包。
將已經(jīng)簽名的apk包放在zipalign.exe同目錄下,如圖:

使用如下命令:
zipalign -f -v 4 -Note.apk -Notes.apk
命令說(shuō)明:
-f :指定強(qiáng)制覆蓋已有文件
-v 指定生成詳細(xì)輸出
4:指定檔案整理基于的字節(jié)數(shù) 一般是4 也有基于32位的。
-Note.apk :優(yōu)化前APK
-Notes.apk 優(yōu)化后的APK

運(yùn)行命令后,在該目錄下生成一個(gè)-Notes.apk,這個(gè)就是優(yōu)化過(guò)的APK安裝包,該安裝包可以對(duì)外發(fā)布。如圖:(注意命令之間的空格區(qū)域)




新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注