[android] Android Studio : 키를 복구 할 수 없음

한동안 StackOverflow를 검색했지만 확인하고 싶었습니다.

얼마 전에 노트북을 지우고 모든 파일을 백업했습니다. 내 android.jks 파일을 백업했고 제자리에 돌아 왔습니다. 서명 된 APK를 생성하려고하면 모든 사람이받는 똑같은 두려운 오류가 발생합니다.

Error:Execution failed for task ':app:packageRelease'.
> Failed to read key conjugationappkey from store
"/Users/wasimsandhu/android.jks": Cannot recover key

내 android.jks, 키 비밀번호, 키 저장소 비밀번호가 있습니다. 모든 것이 정확합니다. 내가 무엇을 놓치고 있습니까? 모든 파일을 백업 했으므로 필요한 특정 파일이 있으면 찾을 수 있지만 어떻게해야할지 모르겠습니다 …

이해가 안된다면 설명 해달라고 부탁하세요. 감사!



답변

나는 이것이 어떤 견인력도 얻지 못했다는 것이 놀랍지 않지만 여기 에이 게시물을 우연히 발견 한 사람을 위해 한 일이 있습니다.

내가 말했듯이 모든 파일이 백업되었습니다. 이전 백업에서 android.jks 파일을 복원했습니다. 그런 다음 터미널 창을 열고 다음을 입력했습니다.

keytool -storepasswd -new [insert new keystore password] -keystore [insert keystore file name]

keytool -keypasswd -alias [insert alias] -new [insert new key password] -keystore [insert keystore file name]

키 저장소와 키 암호는 동일해야합니다! 이것은 내 문제를 해결했으며 도움이되기를 바랍니다.


답변

[업데이트 : Android 스튜디오 3.0 이상에서는 더 이상 작동하지 않습니다.]

나는 비슷한 문제에 직면했고 인터넷에서 3 시간을 낭비한 후에도 해결책이 작동하지 않았기 때문에 깊이 파헤 치기로 결정했습니다.

해결 방법은 다음과 같습니다. “키를 복구 할 수 없음”오류는 “키 저장소 암호”가 정확 하지만 “키 별칭”“키 암호”가 잘못 되었기 때문 입니다. 나는 두 암호가 동일하다고 확신했지만 두 번째 암호가 무엇인지 몰랐습니다. 로그 파일을 확인하기 전에 이미 APK에 서명 했으므로 찾을 수 있습니다.

  • C : \ Users \ 사용자 이름 \ .AndroidStudio2.1 \ system \ log \

APK에 서명 한 날짜의 로그 파일을 열고 다음 항목을 찾습니다.

 INFO - .project.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: [--configure-on-demand, -Pandroid.injected.invoked.from.ide=true,
-Pandroid.injected.signing.store.file=E:\HobbyProjects\XYZProject\gpsjs.jks,
-Pandroid.injected.signing.store.password=***KeyStorePassword***,
-Pandroid.injected.signing.key.alias=***alias_name***,
-Pandroid.injected.signing.key.password=***Key password***,

그리고 일반 텍스트로 된 암호를 찾을 수 있습니다. 암호를 잊어 버린 경우에도 작동합니다.


답변

누구에게나 도움이된다면 제 경우에는 “키 스토어 비밀번호”와 “키 비밀번호”가 틀렸다는 문제가있었습니다.


답변

나는 답변과 의견에 주어진 모든 제안을 시도했습니다 🙁

내 키 비밀번호와 키 저장소 비밀번호가 정확히 동일합니다. Android Studio 3.4 사용

나를 위해 일한 것은 Android Studio를 강제 종료하고 다시 시작하고 프로젝트를 정리하고 다시 빌드 한 다음 서명 된 APK를 생성하는 것입니다. 모든 구성이 정확히 동일하지만 이번에 는 작동했습니다.


답변

[Android Studio 3.3] 서명 된 APK를 생성 할 때 ‘cannot recover key’오류가 발생합니다. 이전 idea.log에서 내 암호의 정확성을 확인할 수있었습니다. 키 저장소와 키 암호 동일하고 정확했습니다.

터미널에서 키 비밀번호 업데이트 :

keytool -keypasswd -alias MYKEY -keystore KEYSTORE

더 이상 키 저장소와 키에 대해 동일한 암호를 가질 수없는 것 같습니다. 시도했을 때 keytool에서 오류가 발생했습니다. 키에 다른 비밀번호를 설정 한 후 Android Studio에서 서명 된 APK를 생성했습니다.

아마도 이전 Android Studio 버전에서는 비밀번호가 동일해야했지만 이제는 그 반대 일 수 있습니다.


답변

누군가를 도울 수 있습니다.

며칠 전에 gitlab에 내 안드로이드 프로젝트를 백업 한 다음 Windows 10을 설치했습니다. 그 후 복제했습니다. 키 별칭과 두 암호를 모두 정확히 알고있었습니다.

그런 다음 서명 된 APK를 생성하는 동안 해당 자격 증명을 입력했지만 실패했습니다.

jks 파일을 앱 폴더에 넣었습니다. 나는 거기에서 그것을 제거하고 생성 된 안드로이드 프로젝트의 루트 폴더에 별도의 폴더를 하고 배치 JKS는 파일 이가.

그런 다음 깨끗하고 프로젝트를 다시 빌드 한 다음 Android 스튜디오를 다시 시작했습니다.
마지막으로 서명 된 apk를 빌드했습니다. : D


답변

이 문제는 키 암호 또는 키 저장소 암호가 일치하지 않는 경우에만 발생합니다.