본문 바로가기

Android

[Android Studio] 릴리즈 키 해시(Key Hash) 등록 및 release APK 빌드

반응형

kakao 네비게이션 API를 사용하려면 해시 키를 등록해야 한다.

디버그 키 해시를 등록하는건 keytool을 이용하거나 SDK를 사용해서 바로 구할 수 있었지만

릴리즈 키 해시는 제공 되는 문서만 보고 구할 수 없었고 그 과정에서 많이 해매서 정리하고자 한다. 

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

1. Java KeyStore (JKS) 생성

SSL 암호화를 위해 쓰이는 key들을 모아놓은 파일로 형식은 .jks 또는 .keystore를 사용할 수 있다.

나는 Android Studio를 사용하고 있기 때문에 이를 이용하여 만들어보겠다.

Build > Generate Signed Bundle / APK

키스토어 파일이 없는 경우 Create new 버튼을 클릭하여 생성한다.

있는 경우 jks 파일을 선택하고 넥스트를 눌러 완료한다.

jks 파일을 최초 생성하는 경우 아래와 같이 내용을 입력하고 OK를 누르면 해당 위치에 .jks 파일이 생성된 것을 확인 할 수 있다.

생성된 키스토어를 선택하여 지정한 비밀번호를 입력하면 releasea APK파일을 빌드할 수 있는 화면이 나온다.

app > release 폴더를 보면 release.apk파일이 생성된 것을 확인할 수 있다.

2. 릴리즈 키 해시 등록

키 해시를 등록하는 과정에서 많은 오류가 발생했습니다. 아래와 같은 에러가 발생하면 그에 따른 조치를 해주면 됩니다.

명령어 실행은 C:\Program Files\Android\Android Studio\jre\bin 로 Android Studio 위치입니다.

 

2-1. cmd 명령어 오류 해결

  • openssl은 내부 또는 외부 명령, 실행할 수 있는 프로그램 파일이 아닙니다.

아래 사이트로 이동해서 openssl을 다운받는다. 

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

 

  • C\Program은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

인식을 못하는 문제로 경로 부분에 ""를 추가해준다.

keytool -exportcert -alias GISKey -keystore D:\GISKey.jks | "C:\Program Files\OpenSSL-Win64\bin\openssl" sha1 -binary | "C:\Program Files\OpenSSL-Win64\bin\openssl" base64

 

 

2-2. release key hash 얻기

 

명령어 실행 후 키 저장소 패스워드를 입력하면 하단에 release key를 반환해주는 것을 확인 할 수 있습니다.

alias에 따라 키값이 다르므로 주의. 기억할 것.

 

Kakao Developers Windows

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64

내 실제 경로

keytool -exportcert -alias GISKey -keystore D:\GISKey.jks | "C:\Program Files\OpenSSL-Win64\bin\openssl" sha1 -binary | "C:\Program Files\OpenSSL-Win64\bin\openssl" base64

 

 

3. Kakao 플랫폼 Android 키 해시 등록

위에서 얻은 key hash 값을 카카오 플랫폼에 등록해줍니다.

반응형