一、Keysotre 方式簽名包
使用keytool命令,
keytool -genkey -alias {簽名文件別名} -keyalg RSA -validity 36500 -keystore {簽名文件名字}
例如:keytool -genkey -alias demo -keyalg RSA -validity 36500 -keystore demo.keystore
% keytool -genkey -alias demo -keyalg RSA -validity 36500 -keystore demo.keystore
輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什么?
[Unknown]: 12
您的組織單位名稱是什么?
[Unknown]: 12
您的組織名稱是什么?
[Unknown]: 12
您所在的城市或區(qū)域名稱是什么?
[Unknown]: 12
您所在的省/市/自治區(qū)名稱是什么?
[Unknown]: 12
該單位的雙字母國家/地區(qū)代碼是什么?
[Unknown]: 12
CN=12, OU=12, O=12, L=12, ST=12, C=12是否正確?
[否]: y
輸入 <demo> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
再次輸入新口令:
Warning:
JKS 密鑰庫使用專用格式。建議使用 "keytool -importkeystore -srckeystore demo.keystore -destkeystore demo.keystore -deststoretype pkcs12" 遷移到行業(yè)標(biāo)準(zhǔn)格式 PKCS12。
a) 使用新建的簽名文件簽名
jarsigner -verbose -keystore {您的私鑰存放路徑} -signedjar {簽名后文件存放路徑} {未簽名的文件路徑} {您的證書名稱}
例如: jarsigner -verbose -keystore ./1.keystore -signedjar ./11.apk ./1.apk demo
-- 注意前面的apk是簽名后的名字,后面才是未簽名
二、jks 方式簽名包
使用AS生成簽名或者使用 keytool -genkey -alias demo -keyalg RSA -validity 36500 -keystore demo.jks:

AS自帶簽名.png
a) 使用新建的jks簽名文件簽名
jarsigner -verbose -keystore {簽名文件} -signedjar {簽名后文件名} {未簽名文件} {簽名文件別名}
例如:jarsigner -verbose -keystore demo.jks -signedjar demo1.apk 1.apk demo

jks簽名.png