방랑로그

[java] android signing - 서명하기 본문

IT개발/Android

[java] android signing - 서명하기

야키다 2017. 12. 15. 19:22

[java] android signing - 서명하기 


김경수 2012-02-29 19:00:23 주소복사

조회 145  스크랩 0


[java] android signing - 서명하기

0. 목차

1. 콘솔에서 서명하기

2. 이클립스에서 서명하기




1. 콘솔에서 서명하기

- 먼저 환경변수에 글로벌 시스템 변수로 java 홈디렉토리를 추가해주고 변수 Path 항목 가장뒤에 java bin 디렉토리 경로도 추가해줍니다. (환경변수 설정법은 여기서 생략하겠습니다.)

- java의 keytool로 서명(키)파일을 생성하고 jarsigner로 서명합니다.

- 개발단계에서 자동서명 되는 디버그키를 제거한 실행파일에 서명합니다. (아래 스샷 참고)



- 먼저 c:\work_sign 으로 서명관련 디렉토리를 생성하였습니다.

- c:\work_unsign_apk 로 디버그키를 제외한 apk 및 서명된 apk를 저장할 디렉토리를 생성하였습니다.

- 콘솔을 엽니다. 윈도우키 + r > cmd

- 다음을 입력합니다.

]# keytool -genkey -v -keystore androidV1.keystore -alias androidV1 -keyalg RSA -validity 1000

]# keytool -genkey -v -keystore [키파일명] -alias [별칭명] -keyalg [암호화] - validity [만료일수(유효일수)]



- 생성된 서명(키)파일로 서명하겠습니다

]# jarsigner -verbose -keystore androidV1.keystore c:\work_unsign_app\androidV1.apk androidV1

- 하단 명령행은 정상적으로 서명되었는지 확인하는 명령입니다.


- 이상이 없다면 다음을 실행하여 최적화를 진행합니다.

- zipalig은 android sdk tools 안에 있습니다. 글로벌 시스템 변수 Path에 지정해 놓으면 편리합니다.

- 명령행에서 디렉토리 또는 파일명이 기억나지 않을때는 tab키를 한번 또는 두번 이상 입력하면 편리합니다.

]# zipalign -v 4 c:\work_unsign_app\androidV1.apk c:\work_unsign_app\androidV1_deploy.apk



- 이제 서명되어 새로 생성된 *.apk 배포파일로 안드로이드 마켓 또는 티스토어에 배포하시면 됩니다.

- 여러 번거러움을 피해 갤2에 USB로 연결하여 설치해보겠습니다.

- 아래는 갤2 디렉토리 목록입니다.



- 설치시 프로그램 관리자를, 그리고 설치 권한을 설정 해주세요.

- 아래는 결과 화면입니다.








2. 이클립스에서 서명하기





- 서명(키)파일을 이미 생성한 경우는 스샷 2.1을 참고해주세요.

- 새로 서명(키)파일을 생성해야하는 경우 스샷 2.2를 참고해주세요.

<스샷 2.1>



<스샷2.2>

- 특이사항은 앞서 콘솔에서 서명파일을 만들때 입력했던 만료 설정이 days에서 years로

- 만료설정은 25년 이상을 추천한다는 경고 메세지를 확인하실 수 있습니다.

- 서명파일 새로생성이나 재사용 후 다음 진행으로 넘어가겠습니다.





- 서명 완료한 *.apk 의 저장경로를 지정합니다.

- 동일한 파일명이 있는 경우 덮어쓰기 한다는 메세지를 확인 할수 있습니다.



- 여기까지 완료하셨다면 앞서 살펴보았던 콘솔과 마찬가지로 안드로이드 마켓, 티스토어에 올려 배포하거나

USB나 웹상에 올린후 download 등 을 통하여 스마트폰으로 파일을 받은 후 설치 및 테스트가 가능합니다^^.




Comments