Qt 5.15.2 + Android 开发环境配置指南本文档记录在 Linux(Ubuntu 22.04)上为Qt 5.15.2搭建 Android 开发环境的完整过程,包含版本兼容性原理、逐步操作、以及实际配置中遇到的全部坑与解决方案。配套版本:Qt 5.15.2 + Qt Creator 20.0.0 + OpenJDK 11 + Android NDK r21e目录1. 版本兼容性(核心原理)2. 环境信息速查3. 总体配置流程4. 分步操作5. 关键陷阱与解决方案6. 验证清单7. 故障排查决策树1. 版本兼容性(核心原理)Qt 编译 Android APK 时,会用 NDK 的 clang 构建 C++、用 Gradle(AGP)打包,用 sdkmanager 管理 SDK 组件。这些工具对 JDK 版本有相互冲突的要求,版本选错会陷入死结。下表是经过验证的兼容组合:组件推荐版本版本号兼容性说明Qt5.15.2—目标 Qt 版本JDKOpenJDK 1111.0.31Qt 5.15.2 的 AGP 3.x 构建链强制要求 JDK 11;JDK 17 会破坏 Gradle 构建NDKr21e21.4.7075529Qt 5.15.2 官方匹配版本;r24/r25 移除旧 API 导致不兼容cmdline-tools≤ 10.010.011.0 及以上强制要求 JDK 17+,与 JDK 11 构建冲突SDK Platformandroid-28API 28与 Qt 5.15.2 年代匹配,稳定Build-tools28.0.3—配合 android-28Qt Creator20.0.0—Android 设置位于Preferences → SDKs → Android1.1 为什么 cmdline-tools 必须 ≤ 10.0(版本冲突原理)这是整个配置中最隐蔽、最耗时的一步,务必理解:① 用于 sdkmanager(SDK 管理 / license 检查)② 用于 Gradle 构建(实际打包 APK)cmdline-tools ≥ 11.0要求 JDK 17+Qt 5.15.2 的 AGP 3.x要求 JDK 11JDK location(Qt Creator 只有一个 JDK 设置)sdkmanager来自 cmdline-toolsGradle + AGP 3.x若用 JDK 11 → ❌ 报错requires JDK 17 or later若用 JDK 17 → ❌ 构建失败AGP 3.x 不支持 JDK 17⚠️ 单一 JDK 无法同时满足cmdline-tools 20.0 和 Qt 构建✅ 唯一解: 降级 cmdline-tools 到 10.0(10.0 及以下支持 JDK 11)→ JDK 11 同时满足 sdkmanager 与构建结论:在 Qt Creator 中只能配置一个 JDK。要让这个 JDK(11)同时让 sdkmanager 和 Gradle 构建都满意,cmdline-tools 必须用 10.0 或更早版本。2. 环境信息速查本机最终配置的所有路径(后续配置或排错时直接引用):Android SDK 根: /home/ling/Android/Sdk系统JDK 11/usr/lib/jvm/java-11-openjdk-amd64JDK 17(系统默认,不改动)/home/ling/Android/Sdkcmdline-tools/latest(10.0)↳ sdkmanagerplatform-tools 37↳ adb, fastbootplatforms/android-28↳ android.jarbuild-tools/28.0.3ndk/21.4.7075529(r21e)toolchains/llvm/.../bin/↳ 4 个 ABI 的 clang/clang++Qt Creator 20设置项路径JDK location/usr/lib/jvm/java-11-openjdk-amd64Android SDK location/home/ling/Android/SdkAndroid NDK/home/ling/Android/Sdk/ndk/21.4.7075529sdkmanager/home/ling/Android/Sdk/cmdline-tools/latest/bin/sdkmanager3. 总体配置流程