Qt for Android - 从源代码构建

本页面描述了配置和构建 Qt for Android 的过程。要下载和安装预构建的 Qt for Android,请按照 Qt 入门 页面的说明进行操作。

先决条件

要从源代码构建 Qt for Android,请确保在继续之前满足 Qt for Android 入门 中的所有要求。

Windows

在 Windows 上构建 Qt for Android 还需要以下软件

  • MinGW 11.2 工具链

注意:Qt for Android 不支持使用 Microsoft Visual C++ (MSVC) 从源代码进行构建。

安装先决条件,并将它们的二进制路径追加到系统 PATH

set MINGW_ROOT=<MINGW_ROOT_PATH>\bin
set PATH=%MINGW_ROOT%;%PATH%

要验证安装,请运行

where mingw32-make.exe

命令应在路径 <MINGW_ROOT> 下首先列出 mingw32-make.exe。

获取源代码

您可以从 Qt 下载 页面下载 Qt 源代码,或遵循 获取源代码 的 wiki 指南。

配置

使用 Qt 6,您可以使用 CMake 从源代码构建 Qt for Android。Qt 6 for Android 需要 host Qt 构建,这意味着要构建 Qt for Android,您需要为作为 host 的桌面平台(即 Linux、macOS 或 Windows)构建 Qt。

要配置和执行用于与 Qt for Android 构建一起使用的最小化 host 构建,请使用以下命令

mkdir ~/dev/build-host
cd ~/dev/build-host
./configure -developer-build -nomake tests -nomake examples
cmake --build . --target host_tools

这将为您的 host 配置开发版本并仅构建 Android 构建所需的必要依赖项。有关为您的 host 执行完整和更多可定制构建的更多信息,请参阅 {构建 Qt 源代码}。

要配置 Qt for Android,请创建一个影子构建目录以保持源目录干净

mkdir -p ~/dev/build-qt-android
cd ~/dev/build-qt-android

Qt for Android 支持以下设备架构(ABIs):arm64-v8ax86_64x86armeabi-v7a

然后运行配置脚本

./configure -prefix <install_path> -qt-host-path <qt_host_install_path> \
    -android-abis <abi> -android-sdk ~/Android/Sdk -android-ndk ~/Android/Sdk/ndk/26.1.10909125

Android SDK 通常由 Qt Creator 或 Android Studio 在以下位置安装

  • Linux:~/Android/Sdk/
  • macOS:~/Library/Android/sdk/
  • Windows:C:\Users<USER>\AppData\Local\Android\Sdk\

注意:如果可用 ninja 可执行文件,则配置始终使用 Ninja 生成器和构建工具。Ninja 是跨平台的、功能丰富的、性能强大的,并且在所有平台上都推荐使用。使用其他生成器可能也行得通,但不是官方支持的。

高级配置参数

Qt for Android 包含 Java 代码,这些代码使用 javac 编译器编译成 *.jar 文件。要设置源和目标的 javac 版本,请分别使用 -android-javac-source-android-javac-target

-android-javac-source 8 -android-javac-target 8

要将其作为开发者构建构建 Qt 而不是作为前缀构建,请使用以下命令替换 -prefix 参数

-developer-build

注意:当使用此配置参数时,不需要安装您的 Qt 构建,Qt for Android 可以直接从构建目录中直接使用。

Qt 配置选项 包含更多有关配置选项的信息。

构建

要构建 Qt,运行以下命令

cmake --build . --parallel

安装

对于前缀构建,要安装 Qt,请运行以下命令

cmake --install .

在 Unix 上,如果您没有提供 -prefix <install_path> 配置选项,安装将被放置在 /usr/local/Qt-<version> 下,在这种情况下,您需要使用 sudo 与安装命令一起使用。

© 2024 The Qt Company Ltd。此处包含的文档贡献是各自所有者的版权。此处提供的文档根据自由软件基金会发布并由其发布的 GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 及相关标志是芬兰的 The Qt Company Ltd. 及/或全球其他国家的商标。所有其他商标均为其各自所有者的财产。