You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt 6.9.0调试时如何自动签名部署Android APK?

Qt 6.9.0 Android部署签名问题解决方案

问题背景

从Qt 6.2.2(Qt Creator 6.0.2)迁移至Qt 6.9.0(Qt Creator 16.0.0)后,原无需手动签名即可部署APK的流程失效,部署时出现以下错误:

adb: failed to install .../android-build-release-unsigned.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from ...: Attempt to get length of null array]
17:10:36: The process "C:\Qt\6.9.0\mingw_64\bin\androiddeployqt.exe" exited with code 16.

手动在项目属性中配置签名可成功部署,但每次重启项目需重复设置,开发效率低下。以下是三种可行解决方案:


方案1:让ADB允许部署未签名APK

仅适用于Debug构建的APK,Release构建必须签名:

  1. 确保设备已开启开发者模式,启用USB调试和USB安装(部分设备名为“允许通过USB调试安装应用”);
  2. 修改adb安装命令,添加-t参数强制允许调试安装:
adb install -r -t C:/path/to/your/unsigned.apk

注意:若当前构建模式为Release,需切换至Debug模式,否则即使添加参数也无法安装。


方案2:在.pro文件中预设签名配置,实现会话持久化

直接在项目的.pro文件中添加签名变量,无需每次手动配置:

# 使用Android默认调试密钥库
ANDROID_SIGN_STORE_PATH = C:/Users/me/.android/debug.keystore
ANDROID_SIGN_STORE_PASSWORD = android
ANDROID_SIGN_KEY_ALIAS = androiddebugkey
ANDROID_SIGN_KEY_PASSWORD = android
# 强制自动签名(覆盖Qt Creator默认设置)
ANDROID_PACKAGE_SIGNED = true
  • 路径需用正斜杠/或双反斜杠\\避免转义错误;
  • 此方式会将密码明文存储在.pro文件中,仅适合开发环境使用,正式发布需移除。

若偏好使用JSON配置文件,需保证文件结构完整(不能仅包含signing节点),示例JSON内容:

{
    "androidBuildToolsVersion": "34.0.0",
    "androidCompileSdkVersion": "34",
    "signing": {
        "store": "C:/Users/me/.android/debug.keystore",
        "storePassword": "android",
        "keyAlias": "androiddebugkey",
        "keyPassword": "android"
    },
    "verbose": false
}

然后在.pro文件中指定路径:

ANDROID_DEPLOYMENT_SETTINGS_FILE = $$PWD/android_deployment_settings.json

$$PWD表示当前.pro文件所在目录,确保JSON文件路径正确。


方案3:自定义androiddeployqt命令行参数

方式1:通过Qt Creator构建步骤设置

  1. 打开项目属性,进入Build Steps -> Build Android APK;
  2. 在Additional arguments中添加签名参数:
--sign C:/Users/me/.android/debug.keystore androiddebugkey android android

参数格式:--sign <密钥库路径> <密钥别名> <密钥库密码> <密钥密码>

方式2:通过.pro文件配置

在.pro文件中添加变量,自动传递参数给androiddeployqt:

ANDROID_DEPLOYMENT_OPTIONS = "--sign C:/Users/me/.android/debug.keystore androiddebugkey android android"

内容的提问来源于stack exchange,提问作者jpo38

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:55:19