反編譯對apk進行打包簽名

反編譯命令

java -jar apktool d 文件名.apk

打包命令

java -jar apktool b 文件目錄 -o 指定文件名.apk

簽名命令

預(yù)備條件:有個密鑰庫文件。
密鑰庫文件生成的方法:

keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore  test.keystore

其中,-genkey表示生成密鑰,-alias表示密鑰別名,-keyalg表示密鑰的算法,-validity表示有效期,-keystor表示生成文件的名字
之后會提示輸入相應(yīng)的信息,輸入后按Y確認即可

  • 若最后提示keytool 錯誤: java.io.FileNotFoundException: android.keystore (拒絕訪問。)
    是因為-keystore test.keystore指定的路徑(即Java路徑)是不能寫的,需要指定到其他地方,如-keystore d:\test.keystore,將文件保存在d盤。

使用test.keystore簽名:

jarsigner -verbose -keystore test.keystore -signedjar testapk_signed.apk testapk.apk  test.keystore

其中:
-verbose表示顯示出簽名詳細信息
-keystore表示使用當前目錄中的test.keystore簽名證書文件。
-signedjar testapk_signed.apk表示簽名后生成的APK名稱

testapk.apk表示未簽名 的APK

test.keystore表示密鑰的別名

應(yīng)用重新打包簽名安裝后,可能不能正常使用,是因為代碼中可能加入了驗證證書的相關(guān)代碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容