发布到 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 控制台以进行分发。
准备上传
上传前:
- 在不同的设备和 Android 版本上全面测试您的应用程序
- 准备宣传材料(截图、说明、功能图)
- 查看 Google Play 的内容政策和指南
在 Google Play 控制台创建应用程序
- 登录Google Play 控制台
- 创建新应用或选择现有应用
- 填写应用程序详细信息和内容评级问卷
- 设置定价和分发设置
如果您没有账户,请参阅 GooglePlay Console 设置指南创建账户。
上传应用程序捆绑包
- 导航至Release >Production
- 创建新版本
- 上传已签名的 AAB 文件
- 添加发布说明
- 审核并发布版本
资源
特别注意事项
传统项目的单 ABI 构建
对于不支持多 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.