이번 편의 목표: 업로드 키로 서명한 Android App Bundle을 만들고, 배포 키는 Play가 보관하게 둡니다.
2021년 8월부터 새 앱은 Play 앱 서명이 필수입니다. 개발자는 업로드 키로 AAB에 서명하고, Google이 사용자 기기에 설치되는 APK를 앱 서명 키로 다시 서명합니다. 업로드 키를 잃어버리면 Play Console에서 업로드 키 재설정을 요청할 수 있습니다. 재설정 전에는 새 버전을 올릴 수 없으므로 키스토어 파일과 암호는 저장소 밖에 백업합니다. Git에는 넣지 않습니다.
Android Studio에서 Build 메뉴의 Generate Signed App Bundle or APK를 선택합니다. 형식은 Android App Bundle입니다. 키스토어가 없으면 Create new를 눌러 library-upload.jks 같은 파일을 만듭니다. 별칭은 library로 둡니다. 키스토어 암호, 키 암호, 이름과 조직은 본인 정보로 적습니다. 유효 기간은 25년 이상으로 둡니다. 짧은 유효 기간은 갱신 때 업로드가 막힐 수 있습니다.
릴리스 빌드 변형을 선택하고 번들을 만듭니다. 결과 파일은 app-release.aab입니다. APK를 직접 프로덕션에 올리는 경로는 새 앱에서 쓰지 않습니다. Play가 AAB로 기기별 APK를 나눕니다.
서명이 붙었는지 번들 도구로 확인할 수 있습니다. Android Studio의 번들 위치에서 다음을 실행합니다.
jarsigner -verify -verbose -certs app-release.aab
검증 결과에 jar verified가 보이면 업로드 키 서명이 있는 것입니다. 인증서 지문은 나중에 API를 연결할 때 필요합니다. 지도나 로그인이 없는 예제는 지문을 외부 콘솔에 등록하지 않습니다. 나중에 OAuth를 넣으면 Play Console의 Play 앱 서명 화면에 있는 앱 서명 키의 SHA-1과 SHA-256을 등록합니다. 업로드 키 지문만 등록하면 사용자 기기에서는 인증이 실패합니다.
키 업그레이드는 안드로이드 17 이상에서 해마다 요청할 수 있는 별도 절차입니다. 첫 등록에서는 요청하지 않습니다.
공식 업로드 안내는 여기에 있습니다.
직접 해 보기
aab 파일을 만든 뒤 키스토어 파일을 다른 디스크에 복사하세요. 복사본이 없으면 다음 편으로 가지 않습니다.
해설
프로젝트 폴더만 백업하고 jks를 빠뜨리면 버전 코드를 올려도 같은 앱의 업데이트를 서명하지 못합니다. 파일, 별칭, 두 암호를 함께 보관합니다.
COMMENTS
댓글 0
이 글에 대한 의견이나 질문을 남겨 주세요.
댓글은 구글이나 카카오로 시작한 뒤에 남길 수 있습니다.
등록된 댓글이 없습니다.