Я не могу открыть существующий файл хранилища ключей в Android Studio или использовать jarsigner
из командной строки.
В обоих случаях сообщение об ошибке:
java.security.cert.CertificateException: Невозможно инициализировать, java.io.IOException: DerInputStream.getLength(): Найдены избыточные байты длины
По-видимому, это проблема, которая должна быть исправлена с помощью JDK8_131, но не работает для меня. (Мы все используем OSX)
Я также получаю ту же ошибку в travis. (См. Раздел "Обновление" ниже.)
Я нашел еще один вопрос SO (Signing android app throws IOException: Найдены избыточные байты длины), где они преобразовали файл .pkc12
в .keystore
, но мы уже используя .keystore
UPDATE
Я обнаружил, что сборка также началась с сбоя на travis, потому что они перемещают сборки в свой новый дистрибутив trusty
, который загружает новейший JDK, тогда как precise
используется JDK7 по умолчанию. Добавление dist: precise
в начало файла .travis.yml
работает пока, но это определенно не является постоянным решением.
Можно ли только надеяться на обновление JDK, которое исправляет проблему, или есть способ удалить избыточные байты длины из хранилища ключей?