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

avatar
avatar
kktoo
45
文章
12
评论
2020年10月19日12:17:04 评论 2,454 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 Cache Server提高效率 Unity

使用Unity Cache Server提高效率

1 简介 Unity Cache Server,翻译过来就是Unity缓存服务器 1.1 缓存服务器の官方介绍 Unity 有一个完全自动的资源管线。每当修改 .psd 或 .fbx 文件等源资源时,...
Unity打开项目时目标平台被改变 Unity

Unity打开项目时目标平台被改变

现象: 我的项目已经是切换到目标平台为Android的项目,每天工作过程中会多次打开关闭该项目,但是总有偶然的几率,会出现打开项目以后,目标平台自动被切换为Windows,然后就开始忙碌于读取资源转换...
用Unity开发App(一)关于UIWidgets Unity

用Unity开发App(一)关于UIWidgets

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

发表评论

匿名网友 填写信息

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