본문 바로가기
개발의 정석/앱

[#android] 어플리케이션, 앱 apk 키 생성 및 서명하기

by 발자개발 2020. 4. 5.

 

어플리케이션, 앱 apk 키 생성 및 서명하기

구글 스토어에 앱을 출시하기 위해선 키 생성 및 서명이 필수다. 첫 버전에 서명한 키로 이후 업데이트한 앱을 서명을 해줘야 업로드가 가능하므로 키 데이터는 꼭 백업을 해두자. 이제 안드로이드 어플리케이션 키 생성 및 서명 방법에 대해서 알아보자. 

 

 

1. 어플리케이션 키 생성

안드로이드 스튜디오(Android Studio)에서 프로젝트 파일을 열고, Build - Generate Signed Bundle / APK... 를 누른다.

build - Generate Signed Bundle / APK

 

그러면 아래창이 나오는데 Create new... 를 눌러 키 스토어를 생성해주자.

keystore

 

키 스토어를 저장할 경로, 비밀번호, 별칭, 유효기간, 인증 정보... 등을 기입해서 OK를 누르면 지정한 위치에 키 스토어가 생성된다.

keystore2

 

 

 

2-1. 그대로 안드로이드 스튜디오에서 signed app을 만드는 방법

그리고 Enctyped key export path 또한 원하는 경로에 지정한뒤 Next를 누른다.

keystore3

 

 

Build Variants에 있는 항목들(debug, release)을 모두 지정하고 Finish를 누르면 해당 경로에 apk 또는 aab 파일이 생성된다. 이 파일을 그대로 구글 플레이 스토어에 업로드하면 된다.

 

참고로 aab파일은 Android App Bundle의 약자로 기존 apk 파일 형식보다 더 진보된 방식의 앱 파일이며, 설치 용량이 현저히 줄어든다. 자세한 내용은 다른 포스팅에서 다루려한다.

keystore4

 

 

 

 

2-2. 수동 앱 서명하기 (ionic나 cordova로 빌드한 apk파일에 서명하기)

우선 빌드된 unsigned된 apk파일을 아까 있던 키 스토어 디렉토리에 복사한다. 그럼 키 스토어 디렉토리에 아래와 같은 파일 두개가 있을 것이다. (혹은 private_key.pepk 넣어뒀으면 세 개인데 여기선 필요없다.) 여기서는 upload.jks가 아까 키스토어에서 저장한 파일, app-release-unsigned.apk 가 서명하지 않은 apk 파일이다.

korband@~/Documents/keystore/general > ll
total 10728
-rw-r--r--  1 korband  staff   4.7M  4  4 15:26 app-release-unsigned.apk
-rw-r--r--  1 korband  staff   2.2K  4  5 01:01 upload.jks

 

커맨드창에 아래 명령을 3개를 치면 sign된 app-release.apk 파일이 생성된다.

apksigner sign --ks upload.jks app-release-unsigned.apk
zipalign -v 4 app-release-unsigned.apk app-release.apk
apksigner sign --ks upload.jks app-release.apk

 

 

 

댓글