처음 나에게  platform.x509.pem과 platform.pk8 두 개의 파일이 전달 되었다.
그리고는 이 두 개의 파일을 이용해 platform signing을 해야 했는데, 어떻게 해야 하는지 전혀 몰랐다.

구글링을 해 보면, "keystore를 생성해서 해라", "jks 파일을 생성해라" 등등의 내용이 있었지만, 당장 내가 원하는 글들은 아니었다. 그렇게 찾다가 발견한 문서에서 내 상황에 적합한 글을 발견해서 테스트 해보니, 정말 제대로 동작을 하는것이 아닌가! 그래서 여기에 정리한다.

1. 우선 signing이 되지 않은 apk 파일이 필요하므로 이클립스에서 export를 해야 한다.
방법은 해당 프로젝트에서 마우스 오른쪽 버튼을 클릭 > Android Tools > Export Unsinged Application Package를 선택하고, 원하는 경로를 지정하면 apk파일이 출력된다.

2. Android 전체 소스를 빌드하면 생성되는(?) android/out/host/linux-x86/framework/signapk.jar 파일을 작업하고자 하는 시스템으로 복사한다. (예를 들면 linux에서 Windows로 복사)

3.  명령창(Windows의 경우)에서 아래와 같이 입력한 후 실행한다. 단, 경로는 해당 파일들의 위치로 적절히 맞춰 주어야 한다.

java -jar signapk.jar platform.x509.pem platform.pk8 unsigned_app.apk signed_app.apk

 
여기서 unsigned_app.apk 파일은 위의 1번에서 export 한 unsigned apk 이고, signed_app.apk 파일은 signed_app이 저장될 이름을 나타낸다. 즉, unsigned_app.apk 파일을 signing 하여 signed_app.apk라는 파일로 저장한다는 의미.

Posted by 세월의돌