当前位置: 首页 > news >正文

Qt 5.15.2 + Android 开发环境配置指南

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-28
Qt Creator20.0.0Android 设置位于Preferences → SDKs → Android

1.1 为什么 cmdline-tools 必须 ≤ 10.0(版本冲突原理)

这是整个配置中最隐蔽、最耗时的一步,务必理解:

① 用于 sdkmanager
(SDK 管理 / license 检查)

② 用于 Gradle 构建
(实际打包 APK)

cmdline-tools ≥ 11.0
要求 JDK 17+

Qt 5.15.2 的 AGP 3.x
要求 JDK 11

JDK location
(Qt Creator 只有一个 JDK 设置)

sdkmanager
来自 cmdline-tools

Gradle + 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-amd64

JDK 17
(系统默认,不改动)

/home/ling/Android/Sdk

cmdline-tools/latest
(10.0)
↳ sdkmanager

platform-tools 37
↳ adb, fastboot

platforms/android-28
↳ android.jar

build-tools/28.0.3

ndk/21.4.7075529
(r21e)

toolchains/llvm/.../bin/
↳ 4 个 ABI 的 clang/clang++

Qt Creator 20

设置项路径
JDK location/usr/lib/jvm/java-11-openjdk-amd64
Android SDK location/home/ling/Android/Sdk
Android NDK/home/ling/Android/Sdk/ndk/21.4.7075529
sdkmanager/home/ling/Android/Sdk/cmdline-tools/latest/bin/sdkmanager

3. 总体配置流程

http://www.jsqmd.com/news/1079828/

相关文章:

  • KMP与AC自动机:让字符串匹配“跳着走”
  • 跨语言项目开发:Cursor 联动 Claude Code 搞定 Java+Python 混合工程难题
  • 图片去水印工具推荐:个人收藏学习向免费在线与电脑手机方案,安全无广告
  • 实测横评:图片去水印工具有哪些?免费在线网站和电脑手机端真实体验全记录
  • 奇门WMS-A与金蝶云星空的数据集成价值分析
  • “太卷了!”2026技术校招笔试现场崩溃实录,看完你就不焦虑了
  • AI生产力杠杆使用说明书:嵌入工作流的实战方法论
  • 小程序毕设选题推荐:基于微信小程序的游记发布与旅游足迹展示系统设计与实现 SpringBoot 框架下旅游动态分享与游迹管理系统设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • vulnhub靶场From SQL injection to Shell
  • 工业高危环境防爆监控选型技术指南|广东化工 / 矿用场景设备合规与落地方案分析
  • IACheck AI报告文档审核|自动识别合规要素漏洞,杜绝管材压扁试验报告签字签章缺失问题
  • 【计算机毕业设计案例】基于 SpringBoot + 小程序的儿童预防接种综合管理系统设计与实现(程序+文档+讲解+定制)
  • 【毕业设计】基于 SpringBoot 的消防知识在线答题与竞赛系统设计与实现 轻量化消防安全知识闯关竞赛小程序设计与实现(源码+文档+远程调试,全bao定制等)
  • 全光校园网络等保合规建设方案
  • sqlserver设置最大占用内存
  • 链路追踪:SkyWalking, Zipkin 入门
  • 华为交换机风扇异常处理
  • Playwright与pytest-playwright:从自动化库到测试框架的深度解析
  • 告别大学生笔记内耗!实测AI语音转写工具,解锁高效学习方式
  • 计算机小程序毕设实战-基于 SpringBoot 的移动端消防知识答题竞赛平台设计与实现 面向校园普及的消防安全知识竞赛小程序设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 别再加个“聊天框”自欺欺人了!2026企业AI大脑生死战:大模型撕掉伪智能面具的终极对决
  • 抢演唱会门票稳了|鸿蒙6.1+抢票引擎,华为nova16系列让我抢票率飙升
  • 免费图片去水印工具实操步骤:从网页到本地再到小程序,完整去水印流程
  • 企业AI品牌测评中的样本量与统计可靠性分析
  • 合同统计分析:让数据参与经营判断
  • 鸿蒙 EventBus 与 Message 通信机制详解
  • 【回眸】Agent-Studio 智能体开发与应用实战指南
  • 不用再抱着摄像头调试了!国标GB28181设备端EasyGBD Windows桌面版,国标开发效率直接拉满
  • 视频去水印软件推荐:亲测横评,免费好用的电脑手机与在线方案一次说清
  • Ricon组态 - 让数据可视化如此简单