搭建Qt5.15.2 for Android环境编译QGC4.4(详)

2,644 阅读4分钟

QGroundControl (QGC) 是一款高度直观且功能强大的地面控制站 (GCS),专为无人机设计。无论您是初次飞行还是经验丰富的专业人士,QGC 都能为飞行控制和任务规划提供无缝的用户体验,使其成为任何支持 MAVLink 的无人机的首选解决方案。

目前支持构建window、android、macos、linux等多个平台,本文主要介绍基于Qt 5.15.2在window10上构建QGC4.4的android安装包的教程。

需要使用的软件以及版本信息如下:

软件名称版本
Qt5.15.2
JDK1.8
Android_SDKr31
android_openssllatest
qgc4.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-bitAndroid,点击下一步。

1.2.4. 更新组件

点击“更新”,等待更新完成后点击“完成”。

1.2.5. 更新完成

2. 安装JAVA运行环境

2.1. 下载JDK

点击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-windowscmdline-tools压缩包解压到android_sdk目录下。

3.3. 配置SDK

  1. 进入到D:\Android_tool\android_sdk\android-sdk-windows目录下,运行SDK Manager.exe

  1. 选择需要安装的包,以Android8为例

  1. 选择完需要安装的包后,点击Install packages

  1. 选择Android SDK License后点击Accept License。

  1. 点击Install

  1. 等待安装完成

  1. 关闭

4. 搭建Qt android编译环境

打开Qt Creator,选择工具-->外部-->配置,进入Qt Creator 首选项。

选择“设备”,点击Android

4.1. 配置JDK

将java jdk的安装目录复制到JDK位置中。

4.2. 设置安卓openssl

  1. 在D盘的Android_tool下,新建android_openssl文件夹。

  1. 在OpenSSL二进制位置填入android_openssl路径

点击"下载OpenSSL"

4.3. 设置安卓SDK

  1. 在“Android SDK的路径”中填入android-sdk-windows的全路径。

  1. 点击设置SDK

  1. 在android-sdk-windows目录下新建cmdline-tools-->latest目录,并将原来cmdline-tools文件下的内容拷贝到latest中。

  1. 关闭Qt Creator,并重新打开,进入刚才的设置目录,等待“修改安装SDK”弹窗跳出,点击确认。

  1. 要接受安卓SDK许可证吗?全部点击“是”

  1. 等待下载完成

  1. 等待完成之后,安卓设置下面所有项为 √, 表示安卓环境已经准备就绪,点击确定即可完成配置。

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

  1. 编辑构建配置切换到Release下面

  1. 打开 AndrodManifest.xml 文件,修改项目为自己的项目名字格式为 xx.xx.xx(例如org.mavlink.qgroundcontrol"),保存并关闭。

  1. 添加 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 目录

  • 再次构建

构建成功