keytool和jarsigner都是java jdk带的命令行工具,这里就不多介绍了。
正常我们要通过Build->Generate Signed Bundel /APK 生成.jks密钥库(KeyStore)文件
可以通过以下java jdk命令行生成:
1、生成签名
keytool -genkeypair -alias 别名-keyalg RSA -validity 天数-keystore 文件.jks
例:keytool -genkeypair -alias webview-h5 -keyalg RSA -validity 20000 -keystore webview-h5.jks
注:-validity 是代表天数
2、获取MD5值和sha256值
keytool -v -list -keystore 文件.jks
例:keytool -v -list -keystore webview-h5.jks
3、对未签名的apk进行签名:
jarsigner --verbose -keystore 密钥.jks -signedjar 已签名.apk 未签名.apk 别名
命令格式及参数意义:
-verbose -> 输出签名过程的详细信息
-keystore [keystorePath] -> 密钥的库的位置
-signedjar [apkOut] -> 签名后的输出文件名
[apkin] -> 待签名的文件名
[alias] -> XX.keystore证书别名
例:jarsigner -verbose -keystore webview-h5.jks -signedjar app-release.apk D:\android-web
View-H5\app\build\outputs\apk\release\app-release-unsigned.apk webview-h5
注:如果找不准目录,可以把密钥库文件.jks和.Apk放在一个目录下
完美源码 » 使用keytool和jarsigner命令对apk签名