1. 程式人生 > >Android安全檢測之加固的坑

Android安全檢測之加固的坑

目前從生成apk到上線的流程是這樣的:
1.生成releaseapk–androidstudio生成的時候注意勾選v1和v2,注意如果是更新apk的話,versioncode和versionname都要改一下
2.apk加固–我用的是360加固或者樂加固(在騰訊的應用寶上線最好是樂加固),注意的是從這兩個工具加固後的apk不能直接上傳到應用市場,因為此時的apk沒有v2簽名,可以用這個工具檢視:

https://github.com/bihe0832/Android-GetAPKInfo/blob/master/GetApkInfo.jar

具體檢視步驟:
2.1:用命令列進入GetApkInfo.jar檔案目錄 如cd /Users/xxxx/GetApkInfo.jar,為了方便起見,我們將加固後的apk如(my.apk)放在和該jar同一個目錄下,然後執行

java -jar GetApkInfo.jar my.apk

檢查是否有v2簽名,顯然這個時候沒有,會顯示如下圖:
在這裡插入圖片描述
3.手動進行二次加固
進入本地的sdk目錄 cd /Users/xxxx/sdk/build-tools/27.0.3/lib
執行簽名操作:

java -jar apksigner.jar sign --ks /Users/xxxx/Desktop/key.jks --ks-key-alias test --ks-pass pass:123456 --key-pass pass:123456 --out /Users/xxxx/Desktop/簽名後的安裝包.apk /Users/xxxx/Desktop/需要進行簽名的安裝包.apk

上面的命令會執行同時執行v1,v2簽名
注意仔細看上的命令列:進了黑色加粗的文字需要替換成實際的資訊

第一個加粗的是祕鑰的路徑
第二個是祕鑰的別名
第三個是祕鑰的密碼
第四個是祕鑰的密碼
第五個是進行了簽名的安裝包儲存的路徑
第六個是需要進行簽名的安裝包路徑

我這邊為了方便直接將apk複製到lib目錄下,

java -jar apksigner.jar sign --ks D:/liwenpeng/文件/Android交接文件/交通在手/簽名檔案/yxw20130715 --ks-key-alias uroad --ks-pass pass:uroadyxw --key-pass pass:uroadyxw --out new.apk App-release_legu_signed_zipalign.apk
4.然後再檢查下是否簽名了,成功的話:
在這裡插入圖片描述


5.上傳到應用市場即可

部分參考了:https://www.jianshu.com/p/a191979c69fe