안녕하세요.
안드로이드 버전의 카카오 로그인 과정에서 디버그 모드일 경우에는 정상 동작 하는데, 릴리즈 모드일 경우에는 ClientError(TokenNotFound)가 발생합니다.
디버그/릴리즈 동일한 키 해시 사용중입니다.
API 호출 통계를 확인해보니, 릴리즈 모드에서는 API 호출이 되지 않고 있던데,
릴리즈 시 키 해시가 바뀌는 건지, 아니면 다른 문제가 있는 건지 잘 모르겠네요…
아니면 내 애플리케이션 메뉴에서 Biz 앱 등록하고, 비즈니스 채널 연결 해야 하는 건가요?
릴리즈 모드일 경우, API 호출이 뭔가 막혀있는거 같은데 이 부분 해결책 알려주시면 감사하겠습니다.
안녕하세요.
확인을 위해 앱 ID 부탁드립니다.
앱ID
https://developers.kakao.com/ 의 내 애플리케이션>앱 설정>요약 정보 : 기본정보에 있는 앱 ID
숫자로된 ID 입니다
ex) 123456
해당 앱으로는 +로시작하는 키 해시의 로그만 존재 합니다.
혹시, 릴리즈 빌드 시, 난독화처리되어 있으시다면 아래 가이드를 확인 부탁드립니다.
Kakao Developers - 프로가드 설정하기
안내해주신 가이드대로 프로가드 설정되어 있습니다.
혹시나 해서 구글 플레이 콘솔의 앱 서명키의 sha-1 값도 키 등록해놨는데, +로 시작하는 키의 로그만 존재한다고 하시니 영문을 모르겠네요…
아직 구글에 배포되어 있지 않은 상태인데 혹시 앱이 reject 되어 있는 상태이면 구글 앱 서명키가 동작하지 않는 경우가 발생하게 되나요?
릴리즈 모드에서 ClientError(TokenNotFound) 오류 메시지의 대부분 원인은 대부분의 프로가드 설정 또는 클라이언트의 해시 키 셋팅 때문에 발생하는데요.
릴리즈 모드에서 아래 문서를 참고하시어 키 해시 값을 확인 부탁드립니다.
Kakao Developers - Kakao SDK를 이용하여 디버그, 릴리즈 키 해시 확인하기
확인해봤는데, +로 시작하는 키와 동일합니다…
그 외의 다른 원인은 없을까요?
빌드에 원인이 있을 것 같은데요 release 로 빌드 된 apk 파일 제공해 주실수 있을까요?(개인 메시지로 부탁드립니다.)
해당 앱을 디컴파일하면, KakaoSDK가 난독화 되어 있습니다.
proguard 설정 확인 부탁드립니다.
proguard-rules.pro에
-keep class com.kakao.sdk.**.model.* { ; }
-keep class * extends com.google.gson.TypeAdapter
설정되어 있습니다.
아래는 릴리즈 빌드타입입니다.
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’
}
}
혹 잘못된 부분이 있을까요?
아래처럼 해보시겠어요?
minifyEnabled true
//useProguard true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
위 방법으로 했을 때는 똑같은 에러가 발생했습니다.
minifyEnabled false
shrinkResources false
useProguard true
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
이렇게 수정하니 문제 해결할 수 있었습니다.
빌드과정의 문제였던 것 같네요…
해결에 도움 주셔서 감사합니다!
1개의 좋아요