unity打包安卓时的签名文件jks转换keystore

avatar
avatar
kktoo
37
文章
7
评论
2020年10月19日12:17:04 评论 99 2178字阅读7分15秒

前言

unity打包安卓时需要的签名文件格式默认是keystore,而有时我们拿到的是jks格式的签名文件,就需要把jks格式文件转换成keystore格式文件。

其实在windows下也可以不转换,在选择签名文件的文件选择框时,把文件扩展名筛选项,从(.keystore)修改为(all,.*),再选中jks格式文件,unity也是可以正确识别和正确打包的。(在mac下我没有找到类似的方法,如果有谁知道,请留言告诉我下,不胜感激。)

如果确实想使用keystore格式文件,就请继续往下看:

思路

通过中间文件.p12,jks文件和keystore文件可以互相转换

路径准备

/Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks /Users/kktoo/Build_Project_zdz/Android_Project/zdz.p12 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.keystore

从jks到p12

导入格式

keytool -importkeystore -srckeystore 后缀为jks文件的路径 -deststoretype PKCS12 -destkeystore p12的存放路径

导入用例1

$ keytool -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore zdz.p12
正在将密钥库 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks 导入到 zdz.p12...
输入目标密钥库口令:
再次输入新口令:
输入源密钥库口令:
输入 <key0> 的密钥口令
keytool 错误: java.lang.Exception: 目标 pkcs12 密钥库具有不同的 storepass 和 keypass。请在指定了 -destkeypass 时重试。

这里需要注意的是:输入的目标密钥库口令需要和源密钥库口令一致,否则会报错:

导入用例2

唯一的变化是指定了-destkeypass选项,指定密码为1q2w3e

$ keytool -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore zdz.p12 -destkeypass 1q2w3e
正在将密钥库 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.jks 导入到 zdz.p12...
输入目标密钥库口令:
再次输入新口令:
警告: PKCS12 密钥库不支持其他存储和密钥口令。正在忽略用户指定的-destkeypass值。
输入源密钥库口令:
输入 <key0> 的密钥口令
已成功导入别名 key0 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消

从p12到keystore

格式

keytool -v -importkeystore -srckeystore p12的路径 -srcstoretype PKCS12 -destkeystore keystore存放路径 -deststoretype JKS

导出用例

$ keytool -v -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.p12 -srcstoretype PKCS12 -destkeystore /Users/kktoo/Build_Project_zdz/Android_Project/zdz.keystore -deststoretype JKS
正在将密钥库 /Users/kktoo/Build_Project_zdz/Android_Project/zdz.p12 导入到 /Users/kktoo/Build_Project_zdz/zdz.keystore...
输入目标密钥库口令:
再次输入新口令:
输入源密钥库口令:
已成功导入别名 key0 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消
[正在存储/Users/kktoo/Build_Project_zdz/zdz.keystore]

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /Users/kktoo/Build_Project_zdz/zdz.keystore -destkeystore /Users/kktoo/Build_Project_zdz/zdz.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

如果没有修改格式,可以忽略这个警告信息。

继续阅读
avatar
  • 文本由 发表于 2020年10月19日12:17:04
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
用Unity开发App(一)关于UIWidgets Unity

用Unity开发App(一)关于UIWidgets

一、为什么会想到用Unity开发App 这几年一直在用Unity做游戏,技术栈都集中在这个方向上,偶尔尝鲜其他技术也还是游戏引擎如白鹭等。 讲道理,我原生app的开发能力也就掌握到接sdk的程度,做一...
unity使用内建组件给刚体增加重力 Unity

unity使用内建组件给刚体增加重力

unity开发中,有时候发现刚体上的重力不能满足我们的需要,可以通过使用内建组件Constant Force来增加重力: 在游戏对象上。请按照以下操作: 为Player添加一个名为Constant F...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: