今天在使用android studio创建签名文件的时候出现了如下图的问题:
此时需要打开CMD,在命令行中输入上图中提示的命令:
C:\Users\UserName>keytool -importkeystore -srckeystore E:\Projects\ReleaseRoot\MobileClient\xxx.jks -destkeystore E:\Projects\ReleaseRoot\MobileClient\xxx.jks -deststoretype pkcs12
回车执行,会提示如下错误:
keytool 错误: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.
原因是:需要迁移的文件和目标文件的路径以及文件名完全一致导致的,因此这里我们需要更改一下,如果需要文件名相同,那么需要更改为不同的存储路径;如果路径相同,那么就需要使用不同的文件名。我是使用了不同路径,相同文件名的方案。再次执行如下命令:
C:\Users\UserName>keytool -importkeystore -srckeystore E:\Projects\ReleaseRoot\MobileClient\xxx.jks -destkeystore E:\Projects\ReleaseRoot\xxx.jks -deststoretype pkcs12
成功创建签名文件。
整个操作截图如下: