#Signing Your App Manually
: 공개된 Unsigned APK 파일을 가지고와서 개발 프로젝트에 삽입해서 사용할때 이용한다.
: jarsigner.exe (*JDK 1.8)
예제)
e:\>jarsigner -verbose -keystore e:\_keystore\ttt_keystore e:\AndExplorer.apk tingcup
Enter Passphrase for keystore:
jarsigner: Certificate chain not found for: tingcup. tingcup must reference a v
alid KeyStore key entry containing a private key and corresponding public key ce
rtificate chain.
* 해결책 : 생성된 keystore의 키이름(aliasing)이 잘못되어 있음 -->> tingcup > tincup
* aliasing(KEY 이름) 확인 :
e:\>keytool -keystore e:\_keystore\ttt_keystore -list -v
키 저장소 비밀번호 입력:
키 저장소 유형: JKS
키 저장소 제공자: SUN
키 저장소에 1개의 항목이 포함되어 있습니다.
별칭 이름: tincup
생성 날짜: 2014. 1. 27
항목 유형: PrivateKeyEntry
인증서 체인 길이: 1
인증서[1]:
소유자: CN=LEE
발행자: CN=LEE
.............
....
>>>> APK Signing Command 수정
jarsigner -verbose -keystore e:\_keystore\ttt_keystore e:\AndExplorer.apk tincup
#################################################################################################
참고 :
* keystore란? (출처 : 커니의 안드로이드 이야기)
어플리케이션 서명을 위해 사용하는 수단으로, 자신의 '서명'이라 할 수 있다. 서명은 'key'로 하게 되며, keystore는 서명을 할 수 있는 key들을 담을 수 있는 파일을 뜻한다. IDE를 통한 개발시 기본으로 디버그용 키를 사용하여 어플리케이션 패키지를 서명하게 되며, Google play store 등 외부로 어플리케이션을 배포할 때는 자신의 키를 사용하여 배포해야 한다. (배포 후 키를 잃어버리면 업데이트가 불가능하다!)
* 왜 서명이 필요한가?
악의적인 목적으로 리패키징 된 apk를 구분하기 위해서다. 어플리케이션을 배포할 때 apk로 패키징하게 되는데 이 때, 누가 패키징 했는지 정보를 기록하는게 서명 작업이다.
* signing에 대한 참고 자료
댓글 없음:
댓글 쓰기