(Android) 스토어 게시 이후, 카카오 로그인이 정상적으로 동작하지 않을 때

Jaesung Lee
jaesung dev
Published in
5 min readJul 27, 2023
Photo by Rodrigo Flores on Unsplash

최근 동아리에서 프로젝트를 진행하면서 Google Play 신규 앱 게시 시 카카오 로그인이 동작되지 않았던 이슈가 있어서 기록합니다.

일반적인 gradle 스크립트

일반적으로 debug 모드에서 개발을 진행하고, release 모드로 스토어에 게시하게 됩니다. 개발자들은 보통 앱 모듈의 build.gradle에서 이러한 Build Type들을 구분하게 되는데, 진행 중인 프로젝트에서는 아래처럼 구분하여 작성하고 있습니다.

build.gradle (module:app)

debug 모드와 달리 release 모드에서는 로그 비활성화 및 코드 축소, 난독화, 최적화를 진행하였습니다.

proguard 설정

kakao developers 문서에서는 스토어에 앱을 게시할 때 코드 축소, 난독화 및 최적화를 할 경우, Kakao SDK를 제외하고 진행하기 위해 proguard-rules에 아래 코드를 추가하도록 가이드하고 있습니다.

https://developers.kakao.com/docs/latest/ko/getting-started/sdk-android#set-up-pro-guard

진행중인 프로젝트에서도 release 모드에서 코드 축소, 난독화 및 최적화를 하고 있기 때문에 아래 코드를 추가해줬습니다.

만약, 코드 축소, 난독화 및 최적화를 하지 않는다면 위 코드를 추가해주지 않아도 됩니다.

키 해시 등록

kakao developers에서 제공하는 모든 SDK를 사용할 때는 반드시 kakao 플랫폼에 키 해시값을 등록해야 합니다. 일반적으로 키 해시값은 디버그 키 해시, 릴리즈 키 해시로 구분됩니다.

1. 디버그 키 해시

디버그 키 해시는 스튜디오에서 앱을 디버깅할 때, 개발환경에 맞게 생성되는 디버그 인증서의 해시 값입니다. 따라서, 여러명의 개발자가 협업을 하는 상황에서는 키 해시가 모두 다르기 때문에 이 값들을 모두 kakao 플랫폼에 등록할 필요가 있습니다.

e.g. 3명의 개발자가 협업을 하는 경우 각각의 debug 키 해시를 등록해야 함

디버그 키 해시를 확인하는 방법은 keytool 명령어, Kakao SDK를 통해 직접 확인하는 방법이 있지만 저의 경우 간단하게 signingReport task를 통해 확인하였습니다. 간단하게 스튜디오 터미널에서 아래 명령어를 입력하고 발급되는 SHA-1 키를 등록해주면 됩니다.

./gradlew signingReport

2. 릴리즈 키 해시

kakao developers 문서에서는 디버그 키 해시 뿐만 아니라 릴리즈 키 해시도 등록하도록 가이드하고 있습니다. 마찬가지로, 개발 환경에 따라 이 키 해시값들이 다 다를 수 있기 때문입니다.

릴리즈 키 해시도 마찬가지로 가이드 되고 있는 방법들(keytool 명령어, Kakao SDK)을 사용하여 확인할 수 있습니다.

진행중인 프로젝트에서는 앱 게시 이후 검토 과정에서 이 작업을 진행하였고, Google Play 앱 서명을 통해 릴리즈 키 해시를 발급하였습니다. Google Play Console에서 [설정] — [앱 서명] 메뉴에 들어가게 되면 앱 서명 키 인증서의 SHA-1 인증서 지문을 통해 릴리즈 키 해시를 발급받을 수 있게 됩니다.

e.g. Google Play 앱 서명을 통해 발급받은 release 키 해시

터미널에 아래 명령어를 입력하여 릴리즈 키 해시를 발급받은 이후, kakao 플랫폼에 등록합니다.

echo (앱 서명 키 인증서 SHA-1 인증서 지문) | xxd -r -p | openssl base64

3. 앱 난독화 시 추가 키 등록

저의 경우 이 부분을 놓쳤습니다. 확인해보니, minifyEnabled 속성을 통해 난독화를 진행하면 추가적인 키 해시를 등록해야 한다고 합니다.

Google Play Console에서 [설정] — [앱 서명] 메뉴에 있는 업로드 키 인증서의 SHA-1 인증서 지문으로 키 해시 값을 생성해 등록해야 합니다.

동일하게 릴리즈 키 해시값을 생성할 때 사용했던 명령어를 통해 발급받을 수 있습니다.

echo (업로드 키 인증서 SHA-1 인증서 지문) | xxd -r -p | openssl base64

최종적으로 5개의 키 해시 값들을 등록하여 앱 게시 이후에도 정상적으로 카카오 로그인을 진행할 수 있었습니다. 이 키 해시 값들은 개발 상황에 맞게 유동적으로 추가될 수 있습니다.

e.g. Google Play 앱 서명을 통해 발급받은 업로드 키 인증서 키 해시

--

--