命令行 jarsigner 签字和解决找不到证书链错误

问题:

最近在学习 Ionic3,然后做了页面,想在自己的Android手机上面测试下。结果在最后使用 jarsigner 签名时报错。

报错的图片:

报错图片

处理办法

命令行的解释

jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书的别名]
请看最后一个参数:[您的证书的别名] ,不是我们的 keystore 的 文件名就是因为这个问题

正确使用的命令行为

jarsigner -verbose -keystore my-release-key.keystore -signedjar complete.apk app-release-unsigned.apk alias_name

怎么查看文件的别名

需要看使用 keytool 生成 keystore 文件时,使用的命令:


keytool -genkey -v -keystore [keystore的文件名] -alias [别名] -keyalg RSA -keysize 2048 -validity 10000

参数说明:

     
-keyalg RSA    --产生键的加密算法
-validity 40000 --有效期限4000天

我使用的命令是:

 
 keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

所以我的别名为: alias_name

正确显示的图

正确显示图

  1. 使用 jarsigner 签名的时候,特别注意最后一个参数是 别名不是文件名
  2. 附上我在模拟器上面展示图

模拟器上面的图


Wayfreem
241 声望33 粉丝

一个后端工程师,偏偏喜欢前端。