2017년 3월 14일 화요일

[android studio] 앱을 업데이트 해봅시다. android studio 업데이트 apk 만들기.


안드로이드 스튜디오에서 업데이트 APK 추출.


출시 후에도 버그 수정. 고도화 작업. 코드 리팩토링 등을 하게 됩니다. 그리고 테스트를 진행해 보고 이상이 없을 새로운 버전으로 app 플레이 스토어에 올리게 되죠. 이번에 거래를 하고 있는 회사에서 업데이트 요청이 있었는데, 업데이트 apk 추출하는 경험이 없던터라 구글형님께 도움을 구하게 되었죠. 관련 글들을 찾아 있었지만, 그래도 이해가 가지 않는 부분들이 있어. 직접 기록해 두고자 포스팅 하게 되었습니다.


업데이트 apk 뽑는 방법은 처음 apk 만들때와 방법은 같습니다. 단지, 처음 출시할 apk 만드는 과정에서는 key store 생성하는 과정이 포함되어 있었다면 업데이트 apk 생성해 놨던 key store 이용해
 만든다는   다를 뿐이죠.





아주 단순합니다. 안드로이드 스튜디오에서 프로젝트를 열게 되면 build.gradle (Module: app) 이라는 곳에 versionCode versionName 있습니다. 구글 검색을 했을 매니페스트에 정보가 있다는 글들이 있는데 아무래도 android studio 아닌 eclipse 기준인듯 합니다.

versionName : app 플레이스토어에 업데이트가 되었을 사용자들이 보게 버전 정보 입니다. 1.1 넣을 경우 사용자 들은 1.1 버전이라는 것을 보게 되는 것이죠.

versionCode : 개발자가 내부적으로 관리할 코드번호 입니다. 업데이트를 위해 코드 수정을 모두 마친 versionCode 올려줘야 합니다. 스크린 샷의 프로젝트의 업데이트 진행을 위해서는 1 이상의 정수가 들어가야 하는거죠. 2 적어줬습니다. 플레이 스토어는 versionCode 감지하는 합니다. 전에 올렸던 apk  versionCode  1 인데같거나  이상의 정수가 아닐경우 업데이트가 되지 않습니다.



바로 요런 창을 띄웁니다.
프로덕션으로 APK 업로드. 업로드 실패.
창의 내용을 읽어 보면.
디버그가 가능한 APK 업로드 했습니다. 보안상의 이유로 Google Play 게시하기 전에 디버그를 사용 중지해야 합니다. - 부분은 릴리즈 타입의 apk 아닐   뜻합니다.
이미 버전 코드가 1 APK 있으므로 다른 버전 코드를 사용해야 합니다. - 바로 부분이 versionCode 올려 달라  뜻이죠.

릴리즈 버전의 apk 뽑았고, versionCode 또한 올렸으나 이러한 오류 창이 뜬다면, key store 파일 (확장자 jks 파일) 손상 되었을 있습니다. 따로 백업해 파일이 있다면 파일을 이용해서 다시 apk 생성하거나, 만약 백업해 둔게 없다면, 사실상 업데이트는 불가능하다고 있습니다.
그만큼 처음 apk 만들면서 생성해 key store 파일은 상당히 중요하기 때문에 백업을 해두시기 바랍니다.



자 이제 본격적으로 apk 를 만들어 보겠습니다. 처음 출시하기 위해 apk 를 생성할 때와 마찬가지로 Build - Generate Signed APK... 메뉴를 찾아 들어갑니다.
위 스크린 샷은 Mac 이지만 메뉴 이름은 동일할 것입니다.

생성할 때와 크게 다르지 않습니다. 곳에서는 마땅히 설정할 것이 없기 때문에 가볍게 Next 눌러줍시다.


여기서 부터 처음 apk 만드느냐, 업데이트 apk 만드느냐가 나뉘게 됩니다. 처음 생성할 때는 Create new... 선택해서 key store 생성하는 과정을 진행하게 되지만, 업데이트 apk 추출하기 위해서는 Choose existing... 으로 생성해 놓은 key store (확장자 .jks) 이용하게 됩니다.


처음 출시를 위해 생성했던 key store 파일을 찾아서 선택 줍니다. 여러 app 관리하시는 분이라면 업데이트 apk 관련이 있는 key store 파일을 선택해 줘야 하겠죠. 같은 경우에는 프로젝트 별로 코드와 jks 폴더화 해서 관리하고 있습니다. 저장한 경로를 알고 있어야 하는 이유는 때문인거죠.


key store 파일을 가져왔다면 생성할 입력했던 비밀번호를 입력하면 됩니다. 비밀번호와 별칭을 생성할 지정했던 것들로 입력해 주셨다면 Next 눌러줍시다.
Enter Master Password 라는 창이 있습니다. 창은 key store 비밀번호와 관련 없는 팝업 입니다. android studio 사용자 비밀번호를 입력하라는 것입니다. 한마디로 권한을 묻는 창입니다. 기억이 나지 않는다면 리셋 비밀번호를 해줘도 상관 없습니다.

이제 나머지는 생성할 때와 같습니다. APK Destination Folder APK 저장할 경로를 뜻합니다. 어디에 업데이트 apk 저장할 설정하는 것이죠. ... 선택해서 저장하고 싶은 경로를 선택해 주면 됩니다. Build Type release debug 선택할 있습니다. 플레이 스토어에 올리기 위해서는 release 선택하면 됩니다. 모든 설정이 끝났다면 Finish 눌러줍시다.

설정해 놓은 경로로 들어가 보면 app-release.apk 가 만들어져 있는 것을 확인할 수 있습니다. apk 를 만드는 과정에서는 apk 이름을 설정하는 부분이 따로 없습니다. 제 경우에는 생성한 apk 파일을 찾아 파일명을 바꿔줬습니다.
기존에 app-release.apk 가 있다면 그 파일을 덮어 쓰는 경우가 있기 때문에 이 역시 염두해 두고 관리하는 것을 추천합니다.

댓글 없음:

댓글 쓰기