본문 바로가기
개발(Development)/Android(안드로이드)

[안드로이드 앱] AAB 빌드 안될 때 해결 방법: keystore password was incorrect, getSecretKey failed: Password is not ASCII

by 카레유 2021. 8. 16.

안드로이드 스튜디오에서

Build > Generate Signed Bundle or APK 메뉴로 앱을 AAB로 빌드할 때,

아래와 같은 에러 로그가 뜨면서 빌드가 안 되는 문제가 발생할 때가 있다.

자세한 로그는 다음과 같다.(일부 생략)

 

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:signReleaseBundle'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnable
Failed to read key: keystore password was incorrect

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

> Task :app:signReleaseBundle FAILED

 

Cause: failed to decrypt safe contents entry: java.io.IOException: getSecretKey failed: Password is not ASCII


# 가장 먼저 체크해볼 사항

비밀번호를 한글로 입력한건 아닌지 체크해보자!

안드로이드 스튜디오는 비밀번호 입력 시, 한글/영어를 구분한다.

아주 흔하게 자주하는 실수이니 키보드의 한영 전환을 바꿔가며 해보자!

대부분은 여기서 문제가 해결 될 것이다.

 

그러나 그래도 안 된다면?

아래의 글을 더 읽어보자.


# 문제의 원인

키스토어 비밀번호가 틀렸다고? ASCII 타입이 아니라고?

그럼 따로 ASCII로 변환해서 설정해야하는건가?

 

찾아보니 이것은 특정 버전의 안드로이드 스튜디오애서 발생하는 버그라고 한다.

앱 빌드 시, 비밀번호 저장 체크(Remeber Password) 하면 내부적으로 잘못된 포맷으로 비밀번호를 저장하는 것이다.


# 해결 방법

Remember Password 항목을 체크 해제하고, 비밀번호를 직접 타이핑해서 입력하고 앱을 빌드하면 된다.

- 최초로 KeyStore를 생성하고 앱을 빌드할 때부터 체크 해제하고 하는게 가장 깔끔한 것 같다.


가끔 빌드를 시도해도 무반응인 경우가 있는데,

이럴 땐 Export encrypted key for enrolling published apps in Google Play App Signing 항목을 체크 해제 후 시도하니 잘 되었다.

 

 

댓글