Qt Android CMake 项目使用教程
1. 项目介绍
qt-android-cmake 是一个简单的 CMake 工具,用于在没有 QtCreator 的情况下构建和部署基于 Qt 的 Android 应用程序。该项目的主要目的是避免在使用 CMake 进行 Android 开发时,需要编写重复的 .pro 文件来实现与 CMake 文件相同的功能。
该项目基于以下组件:
- Android CMake 工具链(NDK 中提供)
androiddeployqt工具(Qt Android SDK 中提供)- QML / Android 示例(QML-Android-Demo)
2. 项目快速启动
2.1 环境准备
在开始之前,请确保以下环境变量已正确设置:
ANDROID_NDK: Android NDK 的根目录JAVA_HOME: Java JDK 的根目录ANDROID_SDK: Android SDK 的根目录(可选)
2.2 集成到 CMake 配置
首先,将你的可执行目标转换为库,因为 Android 的入口点必须是 Java 活动,而你的 C++ 代码将作为库加载并由该活动调用。
if(ANDROID)
add_library(my_app SHARED)
else()
add_executable(my_app)
endif()
然后,调用 add_qt_android_apk 宏来创建一个新的目标,该目标将创建 Android APK。
if(ANDROID)
include(qt-android-cmake/AddQtAndroidApk.cmake)
add_qt_android_apk(my_app_apk my_app)
endif()
2.3 运行 CMake
在 Windows 上运行 CMake:
cmake -G"MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%/build/cmake/android.toolchain.cmake" -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%/prebuilt/windows-x86_64/bin/make.exe"
在 Linux 上运行 CMake:
cmake -DCMAKE_TOOLCHAIN_FILE=path/to/the/android.toolchain.cmake
3. 应用案例和最佳实践
3.1 自定义 APK 配置
你可以通过 add_qt_android_apk 宏的选项来定制生成的 APK。例如,设置应用名称、版本代码、包名等。
add_qt_android_apk(my_app_apk my_app
NAME "My App"
VERSION_CODE 6
PACKAGE_NAME "org.mycompany.myapp"
PACKAGE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/my-android-sources"
KEYSTORE "${CMAKE_CURRENT_LIST_DIR}/mykey.keystore" myalias
KEYSTORE_PASSWORD "xxxxxx"
DEPENDS a_linked_target "path/to/a_linked_library.so"
APK_BUILD_TYPE "release"
INSTALL
)
3.2 调试与发布
通过设置 APK_BUILD_TYPE 为 "debug" 或 "release",你可以控制 APK 的构建类型。默认情况下,APK_BUILD_TYPE 为 "auto",它会根据 CMAKE_BUILD_TYPE 自动选择构建类型。
4. 典型生态项目
4.1 QML-Android-Demo
QML-Android-Demo 是一个使用 QML 和 C++ 开发的 Android 示例项目,展示了如何将 QML 与 Android 平台集成。该项目可以作为 qt-android-cmake 的一个典型应用案例。
4.2 Qt for Android
Qt for Android 是 Qt 官方提供的 Android 开发工具包,包含了 androiddeployqt 工具。qt-android-cmake 项目正是基于这些工具开发的,因此与 Qt for Android 生态紧密相关。
通过本教程,你应该能够快速上手使用 qt-android-cmake 项目,并了解如何在 Android 平台上构建和部署基于 Qt 的应用程序。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



