반응형

*개발 도구: Eclipse ADT Plugin (Android Developer Tools)

*자바(Java) 버전: 1.8.X


개인적으로 아직까지는 이클립스(Eclipse)에 플러그인 형태로 이미 안드로이드 개발 환경이 덧붙여진 툴을 선호하는 탓에, ADT에서 안드로이드 앱 개발을 하고 있다.

Play Store에 개발자 등록을 하고 나서 그냥 [프로젝트 이름]/bin/ 디렉토리에 있는 APK 파일을 바로 업로드하면, 아래와 같은 메세지를 보이면서 진행이 되지 않는다.


업로드 실패

zip 정렬되지 않은 APK를 업로드했습니다. APK에 zip 정렬 도구를 실행한 다음 다시 업로드해야 합니다.


저런 식으로 표현을 하니까 사실 무슨 의미인지 잘 와닿지 않지만, 대략 전자 서명을 받은 (digitally signed) 앱만 배포 가능하다는 조건인 것 같다. Android Studio에서 Digital Sign 과정을 거치고 zip 정렬이 된 APK 파일을 만드는 방법은 아래 구글 공식 페이지에 적혀 있다.


http://developer.android.com/tools/publishing/app-signing.html#debug-mode


그 외에 zipalign 이라는 콘솔 프로그램을 활용하는 방법도 같이 설명되어 있지만, 아쉽게도 내가 쓰고 있는 ADT 환경에서의 방법은 설명되어 있지 않고 (아마 ADT가 구형이라서 더 지원하지 않는 것일 지도...), zipalign 이라는 프로그램 역시 ADT 내부에 있는 sdk 디렉토리를 찾아봐도 없다.


ADT 환경에서 좀더 쉽게 zip 정렬하는 방법을 찾아본 결과, 아래와 같이 할 수 있다.



(1) 배포하려는 안드로이드 프로젝트 아이콘의 오른쪽 단추를 눌러서 뜨는 메뉴에서 "Export..."를 누르고, Android > Export Android Application 선택.




(2) 배포하고자 하는 안드로이드 프로젝트 이름을 선택하고,




(3) Keystore를 선택해서 암호를 입력한다.

Keystore가 없을 경우, "Create new keystore" 항목을 선택하고 새로운 암호와 함께 만들면 된다.

Location은 안드로이드 앱 배포를 위한 keystore 파일을 보관하기 좋은 위치 아무 곳이나 상관이 없고, (필자는 ADT 플러그인 폴더 내부에 keysotre 라는 위치를 새로 만들었다.) 파일 이름 또한 아무렇게나 해도 상관이 없으며, 확장자를 jks로 한다.




(4) Key alias selection 이라는 항목도 없을 경우 새로 만들어서(create new key) 적당한 암호를 설정해 주면 된다.




(5) Destination APK file 에는 zip 정렬이 되어서 생성될 APK 파일을 저장할 위치를 원하는 아무 곳으로 지정하면 된다.

이 화면에서는 인증서의 유효기간과 MD5, SHA1 같은 값들을 보여준다.

Finish 버튼을 누르면 창이 사라지고, 잠시 후에 지정한 위치에 가보면 zip 정렬된 apk 파일이 생성되어 있다.






*그외 자주 실수하는 부분:

Play Store에 변경된 새로운 apk 파일을 올리려면, 무조건 AndroidManifest.xml 파일에서 Version code 숫자를 바꿔야 한다. 참고로 Version name은 변경하지 않아도 상관 없다.





반응형
블로그 이미지

Bryan_

,