본문 바로가기

android

APK 파일 재서명하기, APK Resigning

반응형

아래 사이트를 참고하여 재작성 하였습니다.


https://stackoverflow.com/questions/10913207/resign-apk-with-different-keystore


필요에 따라 apk 재서명이 필요해서 찾다가 차후에 사용하고자 작성했습니다.


윈도우10 환경이며, java 설치 후 반디집을 사용하였습니다.


1. 기존 서명 삭제

설명 : APK 파일의 META-INF/* 를 삭제한다.


재서명대상파일명.apk 수정하여 적용한다.

예) "C:\Program Files\Bandizip\Bandizip64.exe" d skyLine.apk META-INF/*


cmd 에서는 아래와 같이 실행

"C:\Program Files\Bandizip\Bandizip64.exe" d 재서명대상파일명.apk META-INF/*


PowerShell 에서는 아래와 같이 실행

& "C:\Program Files\Bandizip\Bandizip64.exe" d 재서명대상파일명.apk META-INF/*


2. 신규 서명

설명 : jdk 1.7 이상과 이하로 따로 수행한다.


예) jarsigner -verbose -keystore keystore파일 -signedjar skyLine_out_sign.apk skyLine.apk keystore_alias -tsa http://timestamp.digicert.com -digestalg SHA1 -sigalg MD5withRSA


keystore파일은 일반적으로 C:\Users\Administrator\.android\debug.keystore 로 대체가능하다.

keystore_alias은 일반적으로 androiddebugkey 로 대체가능하다.


보통 아래와 같이 신규서명대상파일명.apk 재서명대상파일명.apk 만 수정하면 된다.


2.1 jdk >= 1.7 이상


jarsigner -verbose -keystore C:\Users\Administrator\.android\debug.keystore -signedjar 신규서명대상파일명.apk 재서명대상파일명.apk androiddebugkey -tsa http://timestamp.digicert.com -digestalg SHA1 -sigalg MD5withRSA


2.2 jdk 1.7 이하

jarsigner -verbose -keystore C:\Users\Administrator\.android\debug.keystore -signedjar 신규서명대상파일명.apk 재서명대상파일명.apk androiddebugkey


Enter Passphrase for keystore: 


암호문에는 android 를 입력한다.


==============

간단 정리

==============

1.  

"C:\Program Files\Bandizip\Bandizip64.exe" d skyLine.apk META-INF/*


2.

jarsigner -verbose -keystore C:\Users\Administrator\.android\debug.keystore -signedjar skyLine_out_sign.apk skyLine.apk androiddebugkey -tsa http://timestamp.digicert.com -digestalg SHA1 -sigalg MD5withRSA


3.

android 입력


4. 끝~~~~~~~~~~~~~~

반응형