QGroundControl (QGC) 是一款高度直观且功能强大的地面控制站 (GCS),专为无人机设计。无论您是初次飞行还是经验丰富的专业人士,QGC 都能为飞行控制和任务规划提供无缝的用户体验,使其成为任何支持 MAVLink 的无人机的首选解决方案。
目前支持构建window、android、macos、linux等多个平台,本文主要介绍基于Qt 5.15.2在window10上构建QGC4.4的android安装包的教程。
需要使用的软件以及版本信息如下:
| 软件名称 | 版本 |
|---|---|
| Qt | 5.15.2 |
| JDK | 1.8 |
| Android_SDK | r31 |
| android_openssl | latest |
| qgc | 4.4 |
网盘地址:pan.baidu.com/s/1OS9WyZj4…
1. 添加QT5.15.2组件
1.1. 使用命令换源启动MaintenanceTool
找到QT安装目录,打开cmd,输入下方命令
"MaintenanceTool.exe" --mirror https://mirrors.ustc.edu.cn/qtproject
1.2. 添加组件
1.2.1. 登录账户
输入登录Qt账户和密码,点击“下一步”。
1.2.2. 选择“添加或移除组件”
选择“添加或移除组件”,点击“下一步”。
1.2.3. 选择组件
- 选择“Archive”后点击“筛选”,
找到Qt-->Qt 5.15.2,添加MinGw 8.1.0 64-bit和Android,点击下一步。
1.2.4. 更新组件
点击“更新”,等待更新完成后点击“完成”。
1.2.5. 更新完成
2. 安装JAVA运行环境
2.1. 下载JDK
- 从官网下载jdk1.8-x64,下载地址www.oracle.com/cn/java/tec…
点击Java archive,查看历史版本
选择“Java SE 8 (8u211 and later)”
选择“jdk-8u431-windows-x64.exe”下载
2.2. 安装JDK
- 打开"jdk-8u431-windows-x64.exe"安装包,点击下一步。
- 点击“下一步”
- 点击“下一步”
- 点击“关闭”
2.3. 配置环境变量
- 点击确认关闭环境变量
2.4. 测试安装
打开cmd,分别输入java,javac,java -version测试,看是否有对应的输出。
3. 安装android-sdk
3.1. 下载SDK Manager工具
网盘地址:pan.baidu.com/s/1OS9WyZj4…
3.2. 分配存储目录
以D盘为例,在D盘下新建Android_tool-->android_sdk目录,将下载的android-sdk-windows,cmdline-tools压缩包解压到android_sdk目录下。
3.3. 配置SDK
- 进入到
D:\Android_tool\android_sdk\android-sdk-windows目录下,运行SDK Manager.exe。
- 选择需要安装的包,以Android8为例
- 选择完需要安装的包后,点击Install packages
- 选择Android SDK License后点击Accept License。
- 点击Install
- 等待安装完成
- 关闭
4. 搭建Qt android编译环境
打开Qt Creator,选择工具-->外部-->配置,进入Qt Creator 首选项。
选择“设备”,点击Android。
4.1. 配置JDK
将java jdk的安装目录复制到JDK位置中。
4.2. 设置安卓openssl
- 在D盘的Android_tool下,新建android_openssl文件夹。
- 在OpenSSL二进制位置填入android_openssl路径
点击"下载OpenSSL"
4.3. 设置安卓SDK
- 在“Android SDK的路径”中填入
android-sdk-windows的全路径。
- 点击设置SDK
- 在android-sdk-windows目录下新建cmdline-tools-->latest目录,并将原来cmdline-tools文件下的内容拷贝到latest中。
- 关闭Qt Creator,并重新打开,进入刚才的设置目录,等待“修改安装SDK”弹窗跳出,点击确认。
- 要接受安卓SDK许可证吗?全部点击“是”
- 等待下载完成
- 等待完成之后,安卓设置下面所有项为 √, 表示安卓环境已经准备就绪,点击确定即可完成配置。
5. 编译QGC
5.1. 下载qgc_4.4版本源码
git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git --branch Stable_V4.4
5.2. 打开源码
在 Qt creator中点击打开项目,选择源码目录中的 qgroundcontrol.pro。
5.3. 构建QGC
- 编辑构建配置切换到Release下面
- 打开 AndrodManifest.xml 文件,修改项目为自己的项目名字格式为 xx.xx.xx(例如org.mavlink.qgroundcontrol"),保存并关闭。
- 添加 apk 签名
- 打开cmd,执行下面命令
"C:\Program Files\Java\jdk-1.8\bin\keytool.exe" -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 4096 -validity 10000
- 按照提示输入对应内容
- 将生成的签名文件拷贝到D盘的Android_tool目录下
- 在 qtcreator 中点击项目->构建->构建安卓APK->密码存储库
- 输入刚设置的秘钥
- 配置完成后点击左下方的锤子进行构建项目
解决报错
打开 QGC 源码目录下 build-> Qt_5_15_2_Clang_Multi_Abi-Release 目录,新建文件夹ANDROID_PACKAGE_SOURCE_DIR 文件夹, 然后拷贝源码目录 android 文件下所有文件到刚才新建的 build-> Qt_5_15_2_Clang_Multi_Abi-Release->ANDROID_PACKAGE_SOURCE_DIR 目录
- 再次构建
构建成功