본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/안드로이드 스튜디오

jks 파일, 인증된 APK파일 만들기에서 사용되는 인증서

by 미노드 2016. 12. 6.


앱을 구글 플레이스토어에 올리려면 apk파일을 서명된 패키지로 만들어야 한다.


Generate Signed APK 로 적혀있는 버튼을 눌러 작업하면 된다.


APK 파일에 서명을 하려면 Keytool이라는 java 유틸리티를 이용하여 인증서를 만들고 사용해야 하는데, 제일 처음이라면 인증서인 Keystore 형식의 파일을 만들어야 한다.(Create new 클릭) 기존에 만들어 둔게 있다면 만든 파일을 이용하여 서명하면 되고(Choose existing)



Create new 를 누르면 위같은 그림이 나오는데 여기에 모든 정보를 다적고 OK 누르면 끝


Key store path  : Keystore 파일이 만들어질 경로, ... 클릭하여 파일이름 적고, 경로 선택해야함

Password : Keystore 파일의 비밀번호를 입력, 6자 이상 입력, Confirm에 한번 더 써주자


Alias : 서명을 구분하는 별명이다 알아보기 쉬운걸로 입력하자

Password : 서명의 비밀번호, Keystore 파일 내부에 저장됨, 이쪽에 입력된 정보들이 키에 저장된다. 6자 이상 입력

Validity (years) : 서명의 유효기간, 위 그림에는 25년간 유효하도록 적여있다.

First and Last Name : 그냥 사용자 이름 입력, 별명을 써도 됨

Organizational Unit : 부서명?? 원하는대로 쓰자

Organization : 기관명! 원하는대로 쓰자

City or Locality : 사는 도시, 구 원하는대로 쓰자

State or Province  : 거주 위치?? 원하는대로 쓰자

Country Code(XX)  : 나라 코드, 한국이므로 KR 이라고 입력하자


위처럼 Key 코드는 인증을 위한 파일이지만 안드로이드 앱 배포를 위해 필요한 인증이므로 키 저장소에 저장될 키의 정보는 따로 확인 절차를 거치지 않고 바로 생성이 완료된다.

예시로 만든다면 다음처럼 입력하면된다.



OK를 누르면 바로 생성이 완료되고 이전 화면으로 돌아간다

아래화면처럼



정보는 방금 생성한대로 다 입력이 되어있다.

편의를 위해 Remember해두자 기억해야지



Next를 누르면 마지막 화면이 나오는데

APK Destination Folder 가 APK 파일이 생성되는 경로다.

원하는 경로를 설정 한 후에, Build Type은 release로 설정 하고 나서

Finish를 누르면 해당 경로에 APK파일이 만들어진다.


여기서 주의할 점이 있는데


APK파일을 만들고 나서 만들어둔 Keystore 파일을 삭제하거나 파일의 비밀번호를 잊어버린다면 아주 치명적일 것이다.

실제로 앱을 마켓에 배포하면서 알아차린건데, 앱을 업데이트 하려면 APK파일을 새로 만들어 마켓에 업로드 해야한다.


하필 내가 Keystore 파일의 비밀번오를 까먹어서 그냥 새로운 Keystore 파일을 통해 APK파일을 만들어 업로드시켰는데... 업로드가 안된다는 것이다... 이전에 올라온 APK파일에서 인증받은 값이 다르다면서 업로드가 안되는 것이다...

찾아보니 비밀번호를 찾는것은 안되는 것 같다.

새로 변경은 가능하나, 기존 비밀번호를 알고있어야 되기 때문이다....

그래서 회사에서 졸라 털릴뻔했는데... 1시간동안 기억을 거슬러 찾아가다보니 겨우 비밀번호를 떠올려서 사고는 면했다 ㅎㅎ


그러므로 Keystore 파일과 비밀번호 Alias 값, key 비밀번호 를 따로 보관해두고 잊어버릴 경우 찾아서 쓸 수 있도록 미리 대비해두자.

공부를 독학으로 하다보니 생긴 시행착오이며, 그래도 내머리가 비밀번호를 겨우겨우 기억해줘서 너무 고마웠다.