尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

QGroundControl 5.0 安卓开发环境搭建实战:从零编译到成功运行

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源码”即可获取对应的源码。
返回列表