Warning:JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore...pkcs12" 迁移到行业标准格式 PKCS12

背景

在给项目生成密钥文件的时候发现出现了一个错误。

使用 android studio 填写好相关信息后,最后生成密钥时会报一个 Error,如下图示:

在这里插入图片描述

  • 报错信息如下:

Key was created with errors:
Warning:
JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore E:\android_key_store\fragment_demo.jks -destkeystore E:\android_key_store\fragment_demo.jks -deststoretype pkcs12” 迁移到行业标准格式 PKCS12。

  • 分析

看错误提示,可以看到:因为JKS密钥库使用专用格式,它建议我们生成密钥的时候使用 keytool 命令来生成标准的密钥文件,迁移到行业标准格式 PKCS12


解决问题

那么我们使用 keytool 命令在 cmd 命令行工具中生成密钥文件,在 cmd 命令窗口中输入如下命令:

keytool -genkey -alias imxiaoqi -keypass imxiaoqi -keyalg RSA -keysize 1024 -validity 36500 -keystore E:\android_key_store\fragment_demo.keystore -storepass imxiaoqi

如下图示:

在这里插入图片描述

上面的命令应该不难理解,就是你给密钥文件设置的生成位置,key aliaskey passwordkey store password,回车后,需要继续按照提示输入相关信息,依次填写好信息后,输入 Y 确认信息即可。

我们看看生成的密钥文件如下:

在这里插入图片描述

  • 查看密钥详细输出信息

输入如下命令:

keytool -list -v -keystore E:\android_key_store\fragment_demo.keystore

如下图示:

在这里插入图片描述

上面时生成的是 keystore 后缀的密钥文件,至于 jks 后缀密钥和 keystore 后缀密钥文件的区别,同学们可以看文章 jks与keystore区别 简单了解一下即可。

  • 下面我们来生成 jks 后缀的密钥文件

根据生成 keystore 后缀的密钥文件命令,简单修改命令如下所示:

keytool -genkey -alias imxiaoqi -keypass imxiaoqi -keyalg RSA -keysize 1024 -validity 36500 -keystore E:\android_key_store\fragment_demo_jks.jks -storepass imxiaoqi

可以看到这里只对密钥文件名称和后缀作了修改,其他都是一样的,各个参数的意思也是一样的,如下图示:

在这里插入图片描述

  • 我们继续看一下密钥输出信息,如下图示:

在这里插入图片描述

到这里我们就知道了怎么使用 keytool 命令来生成 jks 后缀或者是 keystore 后缀的密钥文件。

  • 接下来重新选择密钥文件
    在这里插入图片描述

  • 选择 build variants 生成签名 apk
    在这里插入图片描述
    在这里插入图片描述
    好了,这里错误我们也解决了,也学会了 keytool 命令。


技术永不眠,我们下期见!

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值