尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
QGroundControl 5.0 安卓开发环境搭建实战:从零编译到成功运行
最近准备把地面站项目升级到 QGroundControl 5.0于是重新搭建了一套 Android 开发环境。原本以为和 QGC 4.x 差不多结果一上来就连续踩坑Qt版本不匹配Android Kit不显示NDK版本错误Gradle构建失败折腾了几个小时后终于成功编译并运行在安卓手机上。本文记录完整过程希望帮大家少走弯路。一、QGC 5.0 与 QGC 4.x 的区别很多人直接按照以前的 QGC 4.3、4.4 教程配置环境结果发现根本编译不过。原因是官方已经完成了技术栈升级。QGC 4.xQt 5.15.2 qmake JDK 11 NDK r21QGC 5.0Qt 6.8.3 CMake JDK 17 NDK 26.1官方文档明确说明Qt 6.8.3 only不要使用其它 Qt 版本。否则即使编译通过也可能出现稳定性问题。二、安装 Visual Studio 2022虽然最终编译使用的是 Qt Creator CMake。但是MSVC 编译器必须安装下载Visual Studio 2022 Community安装时勾选Desktop development with C其余内容保持默认即可。很多新手遗漏这一步导致 Qt Creator 无法生成有效 Kit。这里安装vs主要是编译Windows版本因为安卓开发代码很慢我们一般用Window编译调试然后移植安卓比较节约时间。三、安装 Android Studio下载安装最新版 Android Studio。安装完成后打开SDK Manager建议安装Android SDK Platform 34Android SDK Build ToolsAndroid Platform ToolsAndroid Command Line Tools安装完成后记录SDK路径后面 Qt Creator 会用到。四、安装 Qt 6.8.3这里是整个环境最关键的一步。千万不要安装Qt 6.5 Qt 6.6 Qt 6.7 Qt 6.9QGC 5.0 官方指定版本Qt 6.8.3安装 Qt Online Installer。选择Custom Installation如果看不到Qt 6.8.3需要勾选Archive然后刷新版本列表。五、Qt 组件选择推荐勾选DesktopQt 6.8.3── MSVC2022 64-bitAndroidQt 6.8.3── Androidqt安装成功后,直接测试编译Window版本的QGC:windows版本的环境比较简单直接打开cmakeList然后编译就可以一路都很顺畅成功编译:测试下视频流六、安装 JDK17QGC 5.0 官方 Android 构建要求JDK17很多老教程还在使用JDK11这是 QGC 4.x 的方案。如果继续使用旧JDKGradle经常报错。建议直接安装OpenJDK 17或者Android Studio 自带 JDK七、配置 Android NDK官方推荐NDK 26.1.8937393在 Android StudioSDK Manager→ SDK Tools→ NDK(Side by side)安装对应版本。安装完成后记录NDK路径例如D:\Android\Sdk\ndk\26.1.8937393八、下载 QGroundControl 源码官方仓库git clone --recursive -j8https://github.com/mavlink/qgroundcontrol.git这里一定要注意不要下载 ZIP很多人喜欢Download ZIP然后发现编译失败原因是Submodule 丢失QGC 官方明确要求必须使用 Git Clone九、更新子模块首次拉取完成后执行git submodule update --init --recursive后续每次更新代码git pullgit submodule update --recursive这是很多编译错误的根源。十、配置 Qt Creator打开Qt Creator进入Edit→ Preferences→ Devices→ Android配置JDK SDK NDK配置正确后应该出现Android Kits例如Qt 6.8.3 Android ARM64-v8a如果这里为空通常是 SDK、NDK 或 JDK 路径配置错误。十一、打开 QGC 工程QGC 5.0 不再使用qgroundcontrol.pro而是CMakeLists.txt直接Open Project选择CMakeLists.txt即可。这里会报错gstreamer错误需要改下源码cmake重新运行cmake后十二、选择 Android Kit配置项目时选择Qt 6.8.3 Android ARM64-v8a建议先构建Release不要选 Debug。原因很简单Debug APK 特别大启动很慢十三、开始编译点击Build或者执行cmake--build build--config Release首次编译时间比较长。因为需要生成QML缓存编译Qt模块链接Android库生成APK十四、连接手机运行手机开启开发者模式USB调试连接电脑后Qt Creator→ RunQt 会自动执行adb install安装 APK。十五、常见踩坑1. Android Kit 不显示原因通常是SDK未配置 NDK未配置 JDK未配置或者Qt安装时没勾选Android组件2. Gradle 构建失败优先检查JDK版本QGC 5.0JDK17最稳。3. Qt Creator 找不到 Qt 6.8.3安装 Qt 时必须勾选 Archive否则历史版本不会显示。4. QML 插件缺失典型错误Qt Quick.Controls plugin not found通常是QML依赖未正确部署删除构建目录后重新生成大多数情况可以解决。5. Android 视频显示异常QGC 的视频系统主要基于GStreamer相关代码位于src/VideoManagersrc/VideoReceiver如果计划接入FFmpeg MediaCodec自定义UDP视频流这里将是后续二次开发重点。十六、总结QGroundControl 5.0 的安卓开发环境虽然比 4.x 更复杂但整体架构也更加现代化。核心版本组合建议直接固定QGC 5.0Qt 6.8.3Visual Studio 2022JDK 17Android SDK 34NDK 26.1只要版本完全对应基本都能顺利完成编译。环境搭建只是开始。真正有意思的部分其实都在后面• MAVLink 通信机制与协议扩展• SITL 多机仿真与集群测试• 多路视频显示• FFmpeg / MediaCodec 低延迟解码优化• 地图系统与航线规划开发• 3D 飞行视图与OpenGL渲染• 集群编队与协同飞行控制后续我将持续分享 QGroundControl 二次开发实战从环境搭建到功能开发从源码阅读到项目落地记录探索无人机地面站开发的核心技术。感兴趣的朋友请关注我关注后回复“5.0源码”即可获取对应的源码。
RELATED

相关推荐

终极Iwara视频下载解决方案:如何用开源工具突破平台限制

终极Iwara视频下载解决方案:如何用开源工具突破平台限制

终极Iwara视频下载解决方案:如何用开源工具突破平台限制 【免费下载链接】IwaraDownloadTool Iwara 下载工具 | Iwara Downloader 项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool IwaraDownloadTool是一款革命性的开源浏览器脚本工具&#…

📅 2026/9/21 8:44:55
微软MAI-Thinking-1训练解析:RL爬山与GRPO算法如何突破推理瓶颈

微软MAI-Thinking-1训练解析:RL爬山与GRPO算法如何突破推理瓶颈

1. 项目概述:从“推理”到“思考”的范式跃迁最近,微软研究院放出的MAI-Thinking-1模型在圈内引起了不小的讨论。这个标题“微软 MAI-Thinking-1 怎么训出来:mid 之后的 RL 爬山,不是多轮 FT”本身就充满了信息量和争议点。它直指…

📅 2026/9/21 8:22:34
Python 字符串转对象的多种解法——从 JSON 到 Document 对象

Python 字符串转对象的多种解法——从 JSON 到 Document 对象

在 Python 开发中,我们经常遇到字符串看起来像某种数据结构(list、dict、对象),但实际类型却是 str 的情况。如何安全、高效地将这些字符串还原为真正的 Python 对象?本文通过两道实战题目,带你掌握 5 种核…

📅 2026/9/21 3:48:53
MORE NEWS

更多资讯

📰

告别数据迁移焦虑:把Todoist、TickTick、OmniFocus数据导入免费开源的Mindwtr完整教程

告别数据迁移焦虑:把Todoist、TickTick、OmniFocus数据导入免费开源的Mindwtr完整教程 【免费下载链接】Mindwtr Get tasks and ideas out of your head. A free GTD to-do app for desktop and mobile. Works offline, no account needed 项目地址: https://gitc…

📰

WEEX TOKEN2049 Singapore 开幕:展会现场的 AI 功能演示与开发者交流

10 月 7 日,TOKEN2049 Singapore 在新加坡滨海湾金沙正式开幕。据主办方信息,本届预计超过 25,000 名参会者、7,000 多家企业及 500 多家展商,覆盖 160 多个国家和地区。交流主题集中在行业技术与 AI。WEEX 连续第三年以铂金赞助商身份参展&a…

📰

AI Coding 基础实践02 - Trae AI在Pycharm中的使用01:把模型endpoint改到TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

【免费】分享一套优质的基于SpringBoot的大学生在线租房管理系统,源码+文档+视频详解(讲解)

博主介绍: 国内互联网知名博主 5年软件开发师🎯 研究方向: ✔ 项目指导 | PPT | 代码实现 | 源码定制 | 代码讲解 Java(SpringBoot / SSM) Python Vue Mysql数据库 微信小程序 Android 大数据 机器学习/深度学习 React Go PHP Node…

📰

CoreOS容器云企业实战(15)--MySQL数据库容器化落地TaoToken统一Key接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

GitHub趋势榜精选:从评估到部署的开源项目实践指南

每到周日晚上,我基本会留一个小时出来,把这一周的 GitHub 趋势榜从头到尾刷一遍。这个习惯坚持了很久,它不费什么力气,却让我的技术视野保持在一个比较敏感的状态:哪个方向开始被大量人关注、哪些工具在迅速填补空白、…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬