Ich kann meine vorhandene Keystore-Datei in Android Studio nicht öffnen oder jarsigner
von der Befehlszeile verwenden.Kann Keystore in AndroidStudio nicht öffnen - "Redundante Länge Bytes gefunden"
In beiden Fällen wird die Fehlermeldung ist:
java.security.cert.CertificateException: Kann nicht initialisieren, java.io.IOException: DerInputStream.getLength(): Redundant Längenbytes
gefunden
Anscheinend war dies ein Problem, das mit JDK8_131 festgelegt werden soll, aber für mich nicht funktioniert. (Wir verwenden alle OSX)
Ich bekomme auch den gleichen Fehler auf Travis. (Siehe "Update" Abschnitt weiter unten.)
ich eine andere Frage SO gefunden (Signing android app throws IOException: Redundant length bytes found), wo sie die .pkc12
Datei zu .keystore
umgewandelt, aber wir sind bereits mit .keystore
UPDATE
Ich fand, dass Der Build begann auch Travis zu scheitern, weil sie Builds auf ihre neue Distribution verschieben , die das neueste JDK herunterlädt, während precise
standardmäßig JDK7 verwendet. Das Hinzufügen von dist: precise
an die Spitze der Datei .travis.yml
funktioniert jetzt, aber das ist definitiv keine dauerhafte Lösung.
Können wir nur auf ein JDK-Update hoffen, das das Problem behebt, oder gibt es eine Möglichkeit, die redundanten Längenbytes aus dem Schlüsselspeicher zu entfernen?
Nicht ganz sicher, aber es scheint, dass Sie dies treffen: https://bugs.openjdk.java.net/browse/JDK-8179191. Wenn es ... ist, ist es nur in Java-9 behoben. kannst du es mit java-9 versuchen, nur um zu sehen, was passiert? – Eugene
Aber wir verwenden nicht openJDK aber Orakels JDK – Altoyyr
der Code ist in jedem sowieso nah an der gleichen. und testen gegen oracle jdk-9 würde nicht weh tun – Eugene