증상
APK에 앱실링 적용 후, 스마트폰에 APK를 직접 전송 한 다음 설치하려 할 때 오른쪽과 같은 메세지가 발생할 수 있습니다. |
설명
잘 설치되던 앱이 앱실링이 적용된 다음 설치되지 않는 경우, 스마트폰에서 APK를 직접 실행할 때는 정확한 원인을 확인할 수 없습니다. 정확한 원인을 확인하려면 먼저 스마트폰과 PC를 연결한 다음, ADB 명령어를 이용해 직접 설치하면 어떤 사유로 설치가 실패하는지 확인할 수 있습니다.
아래 예시는 윈도우의 CMD 툴에서 checklib_sealed.apk 앱을 PC에 연결된 스마트폰에 설치할때 실행하는 명령어입니다.
adb install checklib_sealed.apk
명령어를 실행했을 때 설치가 실패하면, 아래와 같이 실패한 원인을 파악할 수 있는 로그가 표시됩니다.
> adb install checklib_sealed.apk
Performing Streamed Install
adb: failed to install checklib_sealed.apk:
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl575075137.tmp/base.apk: Attempt to get length of null array]
위 로그의 INSTALL_PARSE_FAILED_NO_CERTIFICATES 에러는 APK 파일이 제대로 서명되어있지 않은 상태를 의미합니다. 이는 앱실링 적용 후 반드시 필요한 앱 서명 과정이 생략된것을 의미합니다. 실링된 앱을 서명하기 위해서는 Zipalign 및 키 스토어 재서명 문서의 가이드대로 진행하실 수 있습니다.
이와 같이 adb install 명령어를 시도한 다음 출력되는 결과를 공유해주시면 개발팀에서 기술지원을 더욱 원활히 제공해 드릴 수 있습니다.