jks和keystore的区别

8,269 阅读2分钟

再来讲述jsk和keystore的区别之前,我们首先应该知道这两个东西到底是干什么的?他们有什么关联嘛?

最近在接受一个移动端项目的时候,前一任开发告诉我这个是使用jks来签名打包的,必须使用android studio 来打包这个软件。由于电脑配置的问题,我第一时间内心就充满了拒绝。

jks和keystore的相同点

这两个都是用来打包Android APK项目的时候对项目进行签名的加密算法。标识该APK的唯一性。

jks和keystore的区别

jks

  1. 是Android studio 软件生成的签名证书信息
  2. 打包依赖于Android studio(没有深入研究过,是否可以通过其他方式打包不得而知,如果有其他方式请留言告诉小编)

keystore

  1. 是通过keytool 命令生成的签名证书信息(网上有很多伙伴说是eclipse里面生成的,小编没有用过eclipse不太清楚哈)
  2. 很多第三方市场,我们上传apk的时候,他们只支持keystore(如:百度地图开发版SHA1值和发布版SHA1值的获取)
  3. 不依赖于第三方软件,可以通过命令的形式打包(详情参考

jks 转 keystore

  1. jks 转 pkcs12
keytool -importkeystore -srckeystore /your-path/demo.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore /your-path/client.p12
-importkeystore           从其他密钥库导入一个或所有条目
-srckeystore              源密钥库名称
/your-path/demo.jks       jks文件所在位置
-srcstoretype             源密钥库类型
-deststoretype            目标密钥库类型
-destkeystore             目标密钥库名称
/your-path/client.p12     生成的pkcs12文件所在位置
<!-- keytool -importkeystore -srckeystore demo.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore client.p12 -->

2. pkcs12转keystore

keytool -importkeystore -srckeystore /your-path/client.p12 -srcstoretype PKCS12 -destkeystore /your-path/demo.keystore -deststoretype JKS
/your-path/client.p12        pkcs12文件所在位置
/your-path/demo.keystore     生成的keystore文件所在位置

keystore 转 jks

参考jks转keystore方法,此处替换未keystore -> pkcs12 -> jks

cordova 相关文档

cordova环境配置(Android)

cordova 项目打包开发

cordova android8.0 以上真机下载更新失败

Cordova AJAX失败 status:0

jks和keystore的区别

cordova热更新和手动升级

cordova-plugin-statusbar

cordova-plugin-file-opener2