Android為apk重新簽名
阿新 • • 發佈:2019-02-01
前言
重新簽名,在一些地方有一些用途。
準備工作
去除apk中的兩個檔案
使用解壓縮工具,這裡使用的是7z解壓縮工具。進入
7z d apk.apk META-INF/*.RSA META-INF/*SF -r
如果存在CERT.RSA和檔案CERT.SF請刪除
java環境 這個是必須具備的前提條件
開始重新簽名
生成簽名證書
keytool -genkey -v -keystore test.keystore -alias test -keyalg RSA -validity 20000
keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore android.keystore -storepass ab987c -validity 9999
-keyalg 是加密方式這裡是RSA
-validity 是有效期這裡是20000
-keystore 要生成的keystore名稱,這裡是test.keystore
-alias 最後面跟的是別名,這裡是test
檢視簽名
keytool -list -v -keystore **.keystore -storepass 123456
開始簽名
jarsigner -verbose -keystore test.keystore -signedjar app-signed.apk app.apk test
-keystore: keystore的名稱
-signedjar app-signed.apk: 指定簽名後生成的APK名稱
app.apk: 準備工作中的那個apk
驗證簽名
jarsigner -verify app-signed.apk
提示如下:
如果沒有準備工作,這一步會發現一個異常,並且簽名後的包也不可以用。