안드로이드 어플리케이션을 다 제작했으면 마켓에 올리기 위해 release 버전으로 만들어 줘야 한다.

그냥 하는것은 아니고, 여러 과정을 거쳐야 하는데 아래 과정을 따라오면 된다.


1. keytool을 이용하여 key를 만든다.
cmd창 들어가서
keytool -genkey -alias 키이름.keystore -keyalg RSA -validity 20000 -keystore 경로/키이름.keystore
ex) keytool -genkey -alias roter.keystore -keyalg RSA -validity 20000 -keystore roter.keystore
(마지막에 경로를 안써 주면 현재 cmd가 위치해 있는 폴더에 keystore를 만든다.)

엔터를 치면 암호 입력하라고 나온다. 암호 입력하면 이것저것 물어본다. 참고로 대한민국 국가 코드는 82이다.
입력한 내용 맞냐고 물어보면 y 입력한다.

2. 구글맵을 쓰는 경우 릴리즈용 apikey를 발급 받아야 한다. 개발 시에는 debug.keystore로 발급 받은 apikey를 썼겠지만, 배포시에는 이제 release용으로 발급 받은 keystore의 apikey를 써야하기 때문에..
apikey발급 받는 것은 다른 게시글에도 있지만 또 적어 보자면..
keytool -list -alias 키이름.keystore -keystore 키이름.keystore
ex) keytool -list -alias roter.keystore -keystore roter.keystore
암호 물으면 역시 패스워드 치면 된다.
인증서 지문이 등장하면 http://code.google.com/intl/ko/android/maps-api-signup.html 이곳에 입력해주자~

3. 발급 받은 apikey를 소스에 적용한다. xml파일의 android:apiKey="이부분" 에 적어주면 된다.

4. 이제 프로젝트를 export해보자. 이클립스 좌측의 패키지 익스플로러에서 익스포트할 프로젝트에 우클릭을 한 후 Android Tools의 Export Unsigned Application Package...을 클릭하여 apk파일로 익스포트 한다.

5. 이제 위에서 발급 받은 키와 apk파일을 같은 폴더에 넣고, Jarsigner를 이용하여 apk파일에 싸인하자.
jarsigner -verbose -keystore 키이름.keystore -signedjar 어플이름_signed.apk 어플이름.apk 키이름.keystore
ex) jarsigner -verbose -keystore roter.keystore -signedjar APP_signed.apk APP.apk roter.keystore

이렇게 해주면 APP_signed.apk라고 사인된 파일이 생성된다. 다 만들었으면 실제 폰에 올려보고 잘 되나 테스트 해보자.
adb install 파일이름.apk 로 에뮬레이터에 설치해서 해보는 것도 좋다.



이 글은 http://appleandroidjunhulove.tistory.com/tag/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%20%EB%A7%88%EC%BC%93%20%EB%B0%B0%ED%8F%AC 이곳에서 참조하였음.

-----------------------------------------------------------------------
2012년 7월 26일 수정
현재는 안먹히는듯.. 이 아니고 예전에 어떻게 먹혔었는지 신기하다 -.-;
alias의 password를 넣지를 않는데 어떻게 됐던거지!!???? 신기신기...
요새는 ant를 이용하는 방법이 좋은 것 같다.
이곳에 자세한 정보가 있음.


저작자 표시 비영리 변경 금지
신고
블로그 이미지

roter

JHB / Peripheral Programmer

댓글을 달아 주세요

  • 임상태 2011.05.17 02:13 신고  댓글주소  수정/삭제  댓글쓰기

    배포방법을 보고 있는데요?
    4번째로 언사인으로 export를 하면
    <img src="http://kdail.com/error.png">
    이게 무슨 에러인가여? 릴리스키를 넣으라는 말 같은데..
    왜 이런 메세지가 뜨죠?

    • BlogIcon roter 2011.05.17 17:23 신고  댓글주소  수정/삭제

      안녕하세요~ 저의 블로그에 방문해주셔서 감사합니다^^
      제가 블로그 내용을 수정하지 않은게 있네요, 위에서 Key를 다 만드셨다면 굳이 언사인으로 export하실 필요 없답니다. Signed로 export하시고 키 선택하는 곳에선 keytool로 만드신 키를 선택해주시면 됩니다 :D

  • 임상태 2011.05.19 01:11 신고  댓글주소  수정/삭제  댓글쓰기

    구글맵을 배포하면서 며칠을 헤메네요? 배포를하면서요?
    jarsigner -verbose -keystore mydailchurch.keystore -signedjar MyDailApp_signed.apk MyDailApp.apk mydailchurch.keystore
    이코드를 실행하면
    jarsigner: unable to sign jar: java.util.zip.ZipException: invalid entry compres
    sed size (expected 543 but got 544 bytes)
    로 에러가 뜨면서 파일이 안만들어지는데?
    이유가 먼가요?
    내가 보기엔 저 지문을 실행하지 않아도될듯한데요?
    이클립스에서 keystore를 포함해서 sign 으로 만들었으므로 저 지문을 실행시키지 않고
    현재 만들어진 apk파일만 올려도 될듯 한데...

    수고하세요?

  • 임상태 2011.05.19 18:05 신고  댓글주소  수정/삭제  댓글쓰기

    음..빠른 답변들 감사드립니다.
    종종 들르것습니다. 북마크 해놨거던요?

  • 임상태 2011.05.25 10:51 신고  댓글주소  수정/삭제  댓글쓰기

    감사요.
    그런데요? 폰에 설치를 하니 겔럭시에서는 안보이고..
    넥서스에서는 보이는데 원인이 먼가요?

    • BlogIcon roter 2011.05.26 11:53 신고  댓글주소  수정/삭제

      안녕하세요 임상태님~
      기기별로 화면이 보이고 안보이고 하는 문제는 기기별 해상도에 따른 문제일 수도 있습니다. 증상이 어떻게 되는지 상세히 적어주시면 더 좋은 답변을 드릴 수 있겠습니다만 우선은 아래의 페이지를 첨부하겠습니다 :)
      http://developer.android.com/guide/practices/screens_support.html
      화면 크기에 따라서 개발자가 참조해야 하는 사항들 입니다 ^^
      감사합니다~

  • 흠냐 2011.08.04 20:48 신고  댓글주소  수정/삭제  댓글쓰기

    감사히 퍼갑니다~