无法在AndroidStudio中打开密钥库 - "找到冗余长度字节"

Alt*_*yyr 10 macos android signing apk java-8

我无法在Android Studio中打开现有的密钥库文件或使用jarsigner命令行中的命令行.

在这两种情况下,错误消息是:

java.security.cert.CertificateException:无法初始化,java.io.IOException:DerInputStream.getLength():找到冗余长度字节

看截图:
Android Studio

显然这是一个应该用JDK8_131解决的问题,但对我不起作用.(我们都在使用OSX)

我也在travis上得到了同样的错误.(参见下面的"更新"部分.)

我发现另一个SO问题(签署Android应用程序抛出IOException:发现冗余长度字节)他们将.pkc12文件转换为.keystore但我们已经在使用.keystore


UPDATE

我发现构建也开始在travis上失败,因为他们正在将构建版本移动到新的发行版trusty,下载最新的JDK,而precise默认使用JDK7.添加dist: precise.travis.yml文件的顶部现在可以工作,但这绝对不是永久的解决方案.

我们是否只希望JDK更新能解决问题,还是有办法从密钥库中删除冗余长度字节?

Alt*_*yyr 0

我们最终通过使用Google Play App Signing解决了这个问题。

我们使用装有 JDK 7 的计算机来遵循应用程序签名教程中所述的所有步骤。

然后我们使用 JDK9 机器创建了新的密钥库。

  • 你具体做了什么步骤?我有同样的问题。谢谢 (2认同)