개요
안드로이드 앱을 구글 플레이 스토어에 배포하기 위해서는 다양한 키, 인증서 개념을 이해해야 합니다. 항상 앱을 올릴 때마다 까먹습니다.
구성
앱 서명 키 , 업로드 키, 앱 서명 키 인증서, 업로드 키 인증서가 있습니다.
🔑 앱 서명 키
- 실제 사용자 기기에 설치되는 APK 파일에 서명한 키 입니다.
- Play Console에서 앱 서명키를 자동 생성한 경우 앱 서명 키와 앱 서명 인증서는 구글에서 온전히 관리합니다. (개발자가 상관할 필요 없음)
📜 앱 서명 키 인증서
- Google Play Console > 설정 > 앱 서명에서 확인할 수 있습니다.
- 앱 서명 키에 대한 인증서 입니다.
- Play Console에서 앱 서명키를 자동 생성한 경우 앱 서명 키와 앱 서명 인증서는 구글에서 온전히 관리합니다. (개발자가 상관할 필요 없음)
- 공개 키 인증서 입니다.
🔑 업로드 키
- 업로드 키는 .jks 확장자를 가진 키 저장소(keystore) 내에 생성, 저장될 수 있습니다.
- 개발자과 관리해야 하는 키입니다. 이 키는 앱 빌드 시 서명에 사용합니다.
터미널에서 아래 명령어를 통해 새 업로드 키를 담은 새 키 저장소를 생성할 수 있습니다. 안드로이드 스튜디오에서도 생성할 수 있습니다.
안내
아래 명령어는 하나의 키 저장소 내에 하나의 업로드 키를 생성하는 명령입니다.
하나의 키 저장소 안에 여러 개의 키가 들어갈 수 있습니다.
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
📜 업로드 키 인증서
- Google Play Console > 설정 > 앱 서명에서 확인할 수 있습니다.
- 개발자가 앱 서명 시 제공한 업로드 키의 인증서 입니다. 업로드 키 분실 시 업로드 키 재설정 요청하여 새 업로드 키 인증서를 생성해야 합니다.
- 번들 (.abb) 업로드 시 번들 서명에 사용한 업로드 키의 인증서가 자동 생성됩니다.
- 비공개 키 인증서 입니다.
업로드 키가 사용되는 빌드 과정
아래 도식을 참고하세요. 안드로이드 네이티브 프로젝트가 아닌 크로스 플랫폼의 경우 중간에 추가 작업이 있을 수 있습니다.
안내
아래 빌드 및 배포 과정은 Play Console 에서 자동 생성된 앱 서명 키를 사용한다고 가정합니다.
참고 자료