Qt Creator에서 Qt 로 작성한 Android 애플리케이션을 배포하려 할 때 서명되지 않은 경우 다음과 같은 에러가 발생한다.
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1139205985.tmp/base.apk: Attempt to get length of null array] Installing Android package to device.
이 경우 Qt Creator 프로젝트 설정에서 Build Steps > Build Android APK 의 Application Signature 을 구성 해줘야 한다.
키 저장소 파일(.jks) 경로, 키 저장소 비밀번호와 같은 필수 정보로 "Application Signature"을 구성한다.
키 저장소 파일이 아직 없는 경우 java keytool을 사용하여 만들 수 있다.
다음은 keytool 명령을 입력하여 keystore 파일 keystore.jks에 인증서를 생성하는 명령의 예다.
E:\android\jdk-11.0.2\bin\keytool.exe -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit -keystore keystore.jks
그 다음 keytool 명령을 입력하여 생성된 인증서를 server.cer(아니면 client.cer) 파일로 내보낸다.
E:\android\jdk-11.0.2\bin\keytool.exe -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks
이 예제에서 keyAlias 와 같이 고유한 이름을 사용한다. keystore 또는 개인 키 비밀번호의 기본값을 변경하려는 경우 위 명령의 changeit 을 새 비밀번호로 대체한다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 | 운영자 | 2019.01.05 | 86927 |
3 |
Qt로 작성된 iOS 앱에서 시리얼 통신
![]() | makersweb | 2022.04.30 | 955 |
2 |
Qt Safe Renderer 개요
![]() | makersweb | 2022.09.08 | 601 |
» |
Android 애플리케이션 서명 구성
![]() | makersweb | 2023.12.17 | 675 |