Android App打包加固后的APK無法安裝問題解決
最近開發(fā)的一個應(yīng)用要上架,正常流程打完包后去加固,由于以前一直用的是360的加固助手,這里開始也是選擇用它。
使用360加固:
問題一、開始出現(xiàn)的問題是說應(yīng)用未簽名無法加固,我明明是簽名后打的包,怎么會沒簽名呢?后面使用 java -jar apksigner.jar verify -v apk地址 命令查看發(fā)現(xiàn)是沒有進(jìn)行V1簽名,而360加固要求有v1,一查之下發(fā)現(xiàn)是Android6.0之前用V1,Android7.0之后用V2,把自己項目的支持最低版本改為23以下,重新打包發(fā)360發(fā)現(xiàn)可以加固了。
問題二、加固完后的APK發(fā)現(xiàn)無法安裝。查了一下資料說啥的都有,最后發(fā)現(xiàn)一個靠譜的,是要進(jìn)行再次簽名處理,說是經(jīng)過加固后可能會破壞掉簽名。下面重點記錄一下重新簽名:
原理 (使用AndroidSdk 自帶的apksigner.jar 文件進(jìn)行簽名, apksigner.jar文件在Android SDK 的安裝路徑下,大致如此:{D:\Program Files}\Android\Sdk\build-tools\X.X.X\lib)在任意版本下都有該文件。
準(zhǔn)備工作:
先進(jìn)入apksigner.jar文件所在的路徑:我的就是D:\Program Files\Android\Sdk\build-tools\30.0.3\lib

1、先查一下加固后的APK是否有進(jìn)行簽名
輸入命令:java -jar apksigner.jar verify -v apk地址
java -jar apksigner.jar verify -v D:\test\app-release_100_jiagu.apk

DOES NOT VERIFY
ERROR: Missing META-INF/MANIFEST.MF
出現(xiàn)上圖說明沒有簽名,其實加固前是有簽名的,只是加固后被破壞了,這就需要進(jìn)行再次簽名。
2、使用如下命令簽名
java -jar apksigner.jar sign --ks [簽名文件路徑] --ks-key-alias [alias的別名] --ks-pass pass:[密碼] --key-pass pass:[密碼] --out [簽名后的新安裝包路徑] [待簽名的安裝包路徑,即是加固后的安裝包路徑]

java -jar apksigner.jar sign --ks D:\myproject\test\XXX.jks --ks-key-alias XXX --ks-pass pass:XXX --key-pass pass:XXX --out D:\myproject\test\app-sign.apk D:\test\app-release_100_jiagu.apk
執(zhí)行成功不會有信息提示,可以去輸出路徑下查看是否有包,我的如下:

提醒:這個語句太長,建議要細(xì)心一點,出問題時檢查是否語句輸錯了,我就是這樣,錯了幾次發(fā)現(xiàn)都是語句輸錯了。
3、去驗證簽名后的APK是否簽名,重復(fù)1的語句,只是APK變成了2簽名后的
java -jar apksigner.jar verify -v D:\myproject\test\app-sign.apk

這是就是簽名成功了,然后就可以愉快的安裝了。
如果不想降低自己的項目Android版本,可以使用騰訊加固。
到此這篇關(guān)于Android App打包加固后的APK無法安裝問題解決的文章就介紹到這了,更多相關(guān)Android App打包加固 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android手機(jī)衛(wèi)士之綁定sim卡序列號
這篇文章主要介紹了Android手機(jī)衛(wèi)士之綁定sim卡序列號的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10
Android 5.0及以上編程實現(xiàn)屏幕截圖功能的方法
這篇文章主要介紹了Android 5.0及以上編程實現(xiàn)屏幕截圖功能的方法,結(jié)合實例形式分析了Android5.0以上實現(xiàn)截圖功能的相關(guān)類、函數(shù)及權(quán)限控制等操作技巧,需要的朋友可以參考下2018-01-01
Android SQLite數(shù)據(jù)庫版本升級的管理實現(xiàn)
這篇文章主要介紹了Android SQLite數(shù)據(jù)庫版本升級的管理實現(xiàn)的相關(guān)資料,這里提供實現(xiàn)代碼幫助大家掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09
Android SQLite數(shù)據(jù)庫的增 刪 查找操作
這篇文章主要介紹了Android SQLite數(shù)據(jù)庫的增 刪 查找操作,需要的朋友可以參考下2017-02-02

