준비 사항
- JAVA ( jarsigner )
- Key file ( .keystore or .jks )
- Key file 생성 시 설정했던 alias 와 PassPhrase ( password )
[ APK ]
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore "KEYSTORE_PATH" "APP_FILE_PATH" "ALIAS_NAME"
[ AAB ]
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore "KEYSTORE_PATH" "APP_FILE_PATH" "ALIAS_NAME"
[ KEYSTORE_PATH ]
- keystore의 경로를 입력합니다.
- 보통 .keystore 혹은 .jks의 확장자를 가지고 있는 경우가 많습니다.
* Android Studio에서 keystore 확인 방법
Build 메뉴 => Generate Signed Bundle / APK => Android Aap Bundle 혹은 APK 선택 => Key store path 확인
* Unity에서 keystore 확인 방법
File 메뉴 => Build Settings => Player Settings => Publishing Settings => Path 확인 => 확인된 이름으로 파일 위치 검색
[ APP_FILE_PATH ]
- 서명할 앱 파일의 경로를 입력합니다.
[ ALIAS_NAME ]
- key를 만들때 생성했던 Alias 이름을 입력합니다.
* Android Studio에서 Alias 확인 방법
Build 메뉴 => Generate Signed Bundle / APK 선택 => Android Aap Bundle 혹은 APK 선택 => Key alias 확인
* Unity에서 Alias 확인 방법
File 메뉴 => Build Settings => Player Settings => Publishing Settings => Alias 확인
Enter Passphrase for keystore:
jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect
Enter key password for ALIAS_NAME:
[ APK ]
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore -storepass [키스토어_암호] -keypass [키_암호] "KEYSTORE_PATH" "APP_FILE_PATH" "ALIAS_NAME"
[ AAB ]
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore -storepass [키스토어_암호] -keypass [키_암호] "KEYSTORE_PATH" "APP_FILE_PATH" "ALIAS_NAME"
zipalign -f -v 4 "zipalign이 필요한 apk 파일 Path" "zipalign 후 저장될 apk 파일 Path"
[ Windows 사용자 용 bat 파일]
[ MAC 사용자 용 sh 파일]
KeyStorePath="키스토어 경로"
ALIAS_NAME="alias 이름"
STORE_PASS="키스토어 암호"
KEY_PASS="키 암호"
ZIP_ALIGN="zipalign 파일의 경로"
예 : /Users/username/Downloads/LIAPP_sign_mac.sh /Users/username/AndroidStudioProjects/MyApplication/app/release/app-release.apk
ANDROID APP BUNDLE (AAB)의 장점과 TEST 방안 - 구글에서 제공하고 있는 AAB를 사용하였을때 얻을수 있는 이점과 실제 앱이 정상적으로 동작하는지 확인할 수 있는 테스트 방안에 대해 설명 합니다.
Read More