发布到 Google Play
Qt for Android提供了开发、构建和打包 Android 应用程序所需的一切。本指南将向您展示如何配置、构建应用程序并将其发布到 Google Play 控制台。
配置应用程序
使用 CMake API 或直接编辑清单配置 Android 应用程序设置。Android 应用程序需要在AndroidManifest.xml 和 Gradle 构建文件中进行各种设置。Qt 6 提供了方便的 CMake API,可从你的项目中管理这些设置。
设置基本的应用程序属性
定义应用程序的软件包名称、版本和 Android SDK 要求:
set_target_properties(${appname} PROPERTIES
QT_ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android"
QT_ANDROID_PACKAGE_NAME "io.qt.calqlatr"
QT_ANDROID_APP_NAME "Calqlatr"
QT_ANDROID_TARGET_SDK_VERSION 35
QT_ANDROID_MIN_SDK_VERSION 28
QT_ANDROID_VERSION_NAME "1.0"
QT_ANDROID_VERSION_CODE 10
)注: 检查当前 Google Play 目标 SDK 版本要求,并相应设置QT_ANDROID_TARGET_SDK_VERSION 。您的目标版本可以高于最低要求。
配置应用程序图标
设置应用程序图标,并在正确的目录中创建图标文件:
set_target_properties(${appname} PROPERTIES
QT_ANDROID_APP_ICON "@drawable/ic_launcher"
)将图标文件放入
<QT_ANDROID_PACKAGE_SOURCE_DIR>/res/drawable-<dpi>
您可以使用以下方法创建图标文件:
- Qt Creator 安卓图标生成器
- 安卓工作室图像资产工作室
- 在线安卓图标生成器
优化插件包装
通过指定包含哪些插件来缩小应用程序的大小。androiddeployqt工具可能会在运行时包含应用程序不需要的插件:
qt_import_plugins(${appname}
INCLUDE_BY_TYPE imageformats Qt::QSvgPlugin Qt::QJpegPlugin
EXCLUDE_BY_TYPE iconengines networkinformation tls platforminputcontexts qmltooling
)注意: qt_import_plugins() 函数只包含目标程序链接依赖关系中的插件。
相关文档
构建应用程序
构建您的应用程序以便发布,并为提交 Google Play 控制台做好准备。
配置发布构建
Google Play 要求发布版本。调试信息可作为单独文件包含,为了更好地报告崩溃情况,我们鼓励这样做:
- 在Qt Creator
- 从侧边栏选择Projects
- 选择Release 联编配置
qt-cmake -DCMAKE_BUILD_TYPE=Release
确保清单或 Gradle 配置中的 debuggable 设置为false 。
启用多ABI支持
为多种设备架构构建应用程序,以最大限度地提高兼容性:
- 转到Projects >Build
- 在 CMake 配置设置中,将
QT_ANDROID_BUILD_ALL_ABIS设置为ON
qt-cmake -DQT_ANDROID_BUILD_ALL_ABIS:BOOL=ON ...
创建签名密钥
Google Play 控制台要求发布已签名的应用程序。Google 建议使用带有两个密钥的 Google Play 托管签名:
- 签名密钥:在 Google Play 控制台创建应用程序时由 Google 生成和管理
- 上传密钥:本地管理,用于签署上传的应用程序捆绑包
- 打开Projects >Build
- 选择Build Android APK
- 单击Create 下的Application Signature
- 填写密钥存储详细信息
- 启用Sign package
有关详细说明,请参阅 "签署 Android 软件包"。
生成密钥库:
keytool -genkey -keyalg RSA -keystore upload-key.keystore \
-alias play_apps \
-storepass <password> -keypass <key-password> \
-dname "CN=<n>, OU=<unit>, O=<organisation>, L=<city>, ST=<state>, C=<country>"启用签名:
qt-cmake -DQT_ANDROID_SIGN_APK:BOOL=ON -DQT_ANDROID_SIGN_AAB:BOOL=ON ...
设置环境变量:
export QT_ANDROID_KEYSTORE_PATH=upload-key.keystore export QT_ANDROID_KEYSTORE_ALIAS=play_apps export QT_ANDROID_KEYSTORE_STORE_PASS=<password> export QT_ANDROID_KEYSTORE_KEY_PASS=<key-password>
生成应用程序捆绑包 (AAB)
Google Play 控制台现在主要接受 Android 应用程序包 (AAB),而不是 APK。AAB 包允许 Google Play 为每台设备优化应用交付。
- 转到Projects >Build
- 选择Build Android APK
- 在Advanced Actions 下,启用Build Android App Bundle
- 可选择启用Open package location after build
- 构建您的项目
生成 AAB:
cd build cmake --build . --target aab
针对特定目标:
cmake --build . --target appname_make_aab
您的 AAB 文件将保存到/<build-path>/android-build-appname/build/outputs/bundle/release/
相关文档
发布到 Google Play 控制台
创建并签署应用程序后,将其发布到 Google Play 控制台进行分发。
准备上传
上传前
- 在不同设备和安卓版本上全面测试您的应用程序
- 准备宣传材料(截图、说明、功能图表)
- 查看 Google Play 的内容政策和指南
在 Google Play 控制台创建应用程序
- 登录Google Play 控制台
- 创建新应用或选择现有应用
- 填写应用程序详细信息和内容评级问卷
- 设置定价和分发设置
如果没有账户,请参阅 GooglePlay Console 设置指南创建账户。
上传应用程序捆绑包
- 导航至Release >Production
- 创建新版本
- 上传已签署的 AAB 文件
- 添加发布说明
- 审核并推出版本
资源
特别注意事项
传统项目的单一 ABI 构建
对于不支持多协议编译的 Qt 版本(如 qmake 项目),请使用不同的版本代码分别编译每个架构:
ANDROID_VERSION_CODE = <unique_version>
考虑使用类似<Platform><ABI><AppVersion> 这样的版本控制方案:
- 平台:1 适用于 Arm,2 适用于 Intel
- 架构:32 表示 32 位,64 表示 64 位
举例说明:arm64-v8a 的 1.0 版使用版本代码16410 。
有关详情,请参阅 Google应用程序版本控制文档。
另请参阅 在 Android 上部署应用程序。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.