저는 2013 년에 만든 오래된 프로젝트를 물려 받았습니다.
Keystore는 아마도 jdk 7로 생성 될 것입니다.
Android 스튜디오에서 APK를 생성하려고하면 예외가 발생합니다.
Cannot load key store : Unable to initialize, java.io.IOException : DerInputStream.getLength () : Redundant length bytes found
내가 시도한 것은 :
관련 게시물 :
Android 키 저장소가 손상됨
AndroidStudio에서 키 저장소를 열 수 없음- "중복 길이 바이트 발견"
다음에 무엇을해야할지 모르겠습니다.
작동하는 유일한 방법은 터미널에서 서명되지 않은 apk에 수동으로 서명하는 것입니다.
이 솔루션은 최적이 아닙니다. 또한 이전 jdk 버전 (이 경우에는 jdk1.7.0_80)을 사용하는 경우에만 작동하므로이 솔루션을 장기간 사용할 수 없습니다.
음, 원래 키 저장소를 수정하는 대신 Play 앱 서명으로 이동하여 문제를 해결할 수있었습니다.
서명 된 APK를 만들기 위해 지금부터 사용중인 새 업로드 키를 만들었습니다.
도움이되는 사람들을 위해 :
Play 스토어에 서명하고 애플리케이션으로 이동합니다.
설정-> 앱 무결성으로 이동합니다.
Export and upload a key from Java keystore를 선택 하고 지침을 따릅니다 *
*이 단계에서는 위와 동일한 예외가 발생할 수 있습니다 (DerInputStream.getlength () ....).
개인 키 생성 명령을 사용하기 때문에 이러한 문제가 발생합니다 자바 처음에 예외를 발생시킨 같은 자바 버전 -.
따라서 여기에 캐치
가 있습니다 . 예외가 발생하지 않는 다른 자바 8 버전을 사용해야 합니다 (1.8.0_112와 같은).
pepk 도구는 Java 8로 빌드되기 때문에 Java 7 및 이전 버전에서는 작동하지 않습니다.
이 같은:
/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/bin/java -jar pepk.jar ....
여기에서 새 업로드 키 생성을 계속하면 모든 설정이 완료됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다