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

时间:2024-03-17 20:25:29

背景

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

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

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

  • 报错信息如下:

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

如下图示:

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

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

我们看看生成的**文件如下:

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

  • 查看**详细输出信息

输入如下命令:

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

如下图示:

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

上面时生成的是 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

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

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

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

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

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

  • 接下来重新选择**文件
    Warning:JKS **库使用专用格式。建议使用 "keytool -importkeystore -srckeystore...pkcs12" 迁移到行业标准格式 PKCS12

  • 选择 build variants 生成签名 apk
    Warning:JKS **库使用专用格式。建议使用 "keytool -importkeystore -srckeystore...pkcs12" 迁移到行业标准格式 PKCS12
    Warning:JKS **库使用专用格式。建议使用 "keytool -importkeystore -srckeystore...pkcs12" 迁移到行业标准格式 PKCS12
    好了,这里错误我们也解决了,也学会了 keytool 命令。


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