Tôi không thể mở tệp kho khóa hiện có của mình trong Android Studio hoặc sử dụng jarsigner
từ dòng lệnh.Không thể mở kho khóa trong AndroidStudio - "Đã tìm thấy các byte độ dài thừa"
Trong cả hai trường hợp, các thông báo lỗi là:
java.security.cert.CertificateException: Không thể khởi tạo, java.io.IOException: DerInputStream.getLength(): byte chiều dài Redundant tìm thấy
Rõ ràng đây là một vấn đề mà cần được cố định với JDK8_131 nhưng không làm việc cho tôi. (Tất cả chúng ta đều đang sử dụng OSX)
Tôi cũng gặp lỗi tương tự trên chuyến đi. (Xem "Update" dưới đây.)
Tôi tìm thấy một câu hỏi SO (Signing android app throws IOException: Redundant length bytes found), nơi họ chuyển đổi các tập tin .pkc12
-.keystore
nhưng chúng tôi đã sử dụng .keystore
CẬP NHẬT
tôi thấy rằng xây dựng cũng bắt đầu thất bại trên travis bởi vì họ đang di chuyển xây dựng để distro mới của họ trusty
tải xuống JDK mới nhất trong khi precise
sử dụng JDK7 theo mặc định. Thêm dist: precise
vào đầu tệp .travis.yml
hoạt động ngay bây giờ nhưng điều này chắc chắn không phải là giải pháp vĩnh viễn.
Chúng tôi chỉ có thể hy vọng cho bản cập nhật JDK khắc phục sự cố hoặc có cách nào để xóa các byte độ dài dư thừa khỏi kho khóa không?
Không hoàn toàn chắc chắn, nhưng có vẻ như bạn đang nhấn vào đây: https://bugs.openjdk.java.net/browse/JDK-8179191. Nếu nó là ... nó chỉ được sửa trong java-9. bạn có thể thử với java-9 để xem điều gì xảy ra không? – Eugene
Nhưng chúng tôi không sử dụng openJDK nhưng mã JDK – Altoyyr
của oracle gần như giống nhau ở mỗi trường hợp. và thử nghiệm với oracle jdk-9 sẽ không làm tổn thương – Eugene