apksigner
참고로 저는 중국어를 못해서 번역 돌렸습니다.
( 번역돌려도 무슨말인지... 한참을 생각했습니다. )
이 과정에서 '서명되지 않은 apk 파일을 어떻게 서명할까'라는 의문이 들었고,
-bash: apksigner: command not found
위와 같은 문구가 뜨면서 말이죠.
apksigner는 어디서 쓸 수 있는걸까...
이런 생각중에 google developer reference에 있는 주의사항이 생각났습니다.
apksigner 도구를 사용하려면 수정 버전 24.0.3 이상의 Android SDK 빌드 도구를 설치해야 합니다. SDK Manager를 사용하여 이 패키지를 업데이트할 수 있습니다.
'아 경로를 변경해서 해봐야지' 라는 생각과 함께...
안드로이드가 설치된 경로 -> sdk -> build-tools -> 사용하고있는 버전 ( 저는 26.0.2 ) -> apksigner
이 경로에 와보니 apksigner이 보입니다.
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
그럼 이제 터미널로 돌아와서, 위의 양식대로 작성하시면 됩니다.
예시 : ~/Android/sdk/build-tools/26.0.2/apksigner sign --ks [서명키경로] --out [signed.apk경로] [unsigned.apk경로]
[서명키경로] : Baidu 앱 업로드의 경우 Baidu에서 제공하는 ~unsigned.apk를 다운로드 받고, 업로드할 앱의 서명을 입혀줘야합니다. 즉, [서명키경로]에는 업로드할 앱의 키파일(.jks) 경로를 입력합니다.
예시 : /Users/admin/AndroidProject/myProject/testApp/key/test_keystore.jks
[signed.apk경로] : unsigned.apk가 서명된 후, 서명된 apk가 만들어질 경로와 해당 apk파일의 이름을 입렵합니다.
예시 : /Users/admin/Desktop/my_signed.apk 입력하시면 데스크탑 폴더에 my_signed.apk가 생성됩니다.
[unsigned.apk경로] : 서명해야할 apk 경로, 즉 서명되지않은 apk 경로를 입력합니다.
예시 : /Users/admin/Desktop/my_unsigned.apk
옳바르게 입력하셨다면 Kestore password for signer #1: 보이실겁니다.
Key password를 입력하시면 signed.apk경로에 서명된 apk 파일이 생성됩니다!
읽어주셔서 감사합니다.
참고
https://developer.android.com/studio/command-line/apksigner
https://developer.android.com/studio/publish/app-signing