关于android studio:如何解决”Key was created with errors:”
How to solve "Key was created with errors:"
JKS 密钥库使用专有格式。建议迁移
到 PKCS12,这是一种使用 "keytool 的行业标准格式
-importkeystore -srckeystore -destkeystore
-deststoretype pkcs12"
在生成密钥时,我在使用 android studio 3.4(32 位版本)时遇到此类错误,但是当我在另一台使用 android studio 3.4(64 位)的笔记本电脑中生成相同的源代码到 apk 时版本)。它在 64 位笔记本电脑和 android studio 中运行良好。

我今天遇到了同样的问题,Android 似乎希望我们将密钥从 JKS 专有格式迁移到 PKCS12 格式(如警告所示)。
为此,您需要使用 Android Studio 附带的 keytool。
1.找到keytool.exe
keytool.exe 通常位于文件夹 C:\\Program Files\\Android\\Android Studio\\jre\\bin。如果您在那里找不到密钥工具,那么您必须搜索它。
2. 使用 Windows cmd 导航到 jre 文件夹
在 Windows 中,打开 cmd 并输入:
cd C:\Program Files\Android\Android Studio\jre\bin
当然,如果你的keytool.exe存放在其他位置,则需要在cd
后面输入正确的路径
3.更改密钥库格式
在 cmd 中您已经导航到包含 keytool.exe 的文件夹,所以现在您可以在 cmd 中输入以下命令:
keytool -importkeystore -srckeystore your_keystore_destination\your_keystore_file.jks -destkeystore your_keystore_destination\your_keystore_file.jks -deststoretype pkcs12
别忘了改变
your_keystore_destination\your_keystore_file.jks
使用正确的路径。在您的示例中,它将是
D:\App Collection\App1 All in one Collection\keystorefile.jks
笔记:
如果您为密钥库和密钥指定了不同的密码,那么您需要在步骤 3 的命令中添加 -destkeypass your_key_password!
- 尝试这个我得到一个警告:成功迁移到非 JKS/JCEKS。安全副本已保存为:path\\keyStoreFile.jks.old。检查新文件仍然是 file.jks....可能出了什么问题?或者这是预期的结果?我期待看到一个file.pcks12 ....谢谢大家分享...
- 编辑:只需尝试在上面的第三步将 .jks 扩展名替换为 .p12 扩展名,就在第二个路径(将保存新文件的路径)上,您将收到一条成功导入的消息和一个 .p12 文件...无论如何感谢分享 Leon,祝你们编码愉快...
从您的 keyStore 文件所在的文件夹打开终端时,以下命令在 Mac 上对我有用:
1 |
keytool -importkeystore -srckeystore YOURKEYSTOREFILENAME -destkeystore YOURKEYSTOREFILENAME.p12 -srcstoretype JKS -deststoretype PKCS12 |
我只是忽略了这个错误并使用了生成的密钥。我可以毫无困难地上传我的应用程序。