JKS密钥库使用专有格式。建议迁移 PKCS12,这是使用“ keytool”的行业标准格式 -importkeystore -srckeystore -destkeystore -deststoretype pkcs12“
在生成密钥时,我在android studio 3.4(32位版本)中遇到这种类型的错误,但是当我在使用android studio 3.4(64位)的另一台笔记本电脑中生成相同的源代码到apk时,版)。它可以在64位笔记本电脑和android studio中正常工作。
答案 0 :(得分:2)
在Mac上,从keyStore
文件所在的文件夹中打开终端时,以下命令对我有用:
keytool -importkeystore -srckeystore YOURKEYSTOREFILENAME -destkeystore YOURKEYSTOREFILENAME.p12 -srcstoretype JKS -deststoretype PKCS12
答案 1 :(得分:1)
我今天遇到了同样的问题,似乎Android希望我们将密钥从JKS专有格式迁移到PKCS12格式(如警告中所示)。 为此,您需要使用Android Studio随附的keytool。
keytool.exe通常位于文件夹C:\ Program Files \ Android \ Android Studio \ jre \ bin中。如果在那里找不到键盘工具,则必须搜索它。
在Windows中,打开cmd并输入:
cd C:\Program Files\Android\Android Studio\jre\bin
当然,如果您的keytool.exe存储在其他位置,则需要在cd
之后输入正确的路径
在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
!
答案 2 :(得分:0)
我只是忽略了这个错误并使用了生成的密钥。我可以毫无困难地上传我的应用。