伤心客 发表于 2025-2-17 23:14:29

搭建Qt5.15.2 for Android 编译 QGroundControl (QGC)

目次
概要
一、安装QT5.15.2
二、安装 android-sdk
1. 首先安装 JDK
2. 安装 Android SDK
3. 设置 SDK
4. 安装 OpenSSL
三、搭建QT Android编译环境
四、测试编译环境
五、编译 QGC

概要

    QGroundControl (QGC) 是一款高度直观且功能强大的地面控制站 (GCS),专为无人机设计。在 github 即可下载源码:https://github.com/mavlink/qgroundcontrol
      QGC 是基于 Qt 开发的一款跨平台地面控制站,构建支持 macOS、Linux、Windows、iOS 和 Android 等多个平台,本文只要先容基于 Qt 5.15.2 在 windows 11 上构建 QGC 4.3 的 Android 安装包的教程,需要用到有以下软件:
Qt 5.15.2
Java JDK 11
Android  SDK r24.4.1
openSSL 
一、安装QT5.15.2

        地址: Open Source Development | Open Source License | Qt
         下载好安装包运行安装步伐,根据提示注册账号进行安装。到这里需要勾选我是个人用户。
https://i-blog.csdnimg.cn/direct/1181d2d8ff5f4a7a83c9ffe7c2f91f03.png
        在选择组件的时候,需要勾选上 archive 并点击筛选才可以看到 Qt 5的版本。睁开 Qt 在下拉列表内里勾选上 MinGW、Android、Qt Charts 即可。
https://i-blog.csdnimg.cn/direct/b94e30f107ce4a0f822073b9e29918d4.png

        其他的下一步就好,等候安装完成即可。
二、安装 android-sdk

1. 首先安装 JDK

        下载地址:Java Downloads | Oracle 中国
        打开jdk-17-windows-x64.exe,默认安装到c盘(不绝下一步就好,闭眼操作)
2. 安装 Android SDK

        下载地址:https://pan.baidu.com/s/12qxkmj4QIT5XehJlZpzMWg?pwd=1234
        latest 下载:https://pan.baidu.com/s/12qxkmj4QIT5XehJlZpzMWg?pwd=1234
        安装 SDK 需要下载两个文件。然后建立一个Android_tool文件夹(以D盘为例子),然后在其下再建立两个文件夹OpenSSL、SDK
https://i-blog.csdnimg.cn/direct/99c2ed933b204fceb0e6740a7ddcb37a.png
        将刚下载的的android-sdk_r24.4.1-windows.zip和commandlinetools-win-9123335_latest.zip复制并解压到"D:\Android_tool\SDK"下
https://i-blog.csdnimg.cn/direct/ee61f5ab965b41ecbc0a6d5ae5fbf390.png
3. 解压 OpenSSL

        下载地址:GitHub - openssl/openssl: TLS/SSL and crypto library
         将下载的 android_openssl-master.zip 解压到 "D:\Android_tool\OpenSSL" 目次下
4. 设置 SDK

        进入 D:\Android_tool\SDK\android-sdk_r24.4.1-windows\android-sdk-windows,打开SDK Manager.exe 选择所需要的工具,可以参考我的(例子的用 Android7.0 )
https://i-blog.csdnimg.cn/direct/a0ca48bc52f445f981904089be368e70.png
https://i-blog.csdnimg.cn/direct/46c4eb49fd964364ac3c249802a51d29.png
https://i-blog.csdnimg.cn/direct/c2462c80978d42c58bbb60094118c8a5.png
https://i-blog.csdnimg.cn/direct/f79a30a2afa64605bc4b86d56f826496.png
        然后等候安装完成即可
三、搭建QT Android编译环境

        打开QT5.15.2,找到菜单栏 -> 编辑 -> preferences -> 设备 -> Android
        修改 JDK 位置设置我们安装的 jdk
        修改 Android SDK 的路径设置和 SDK Manager 的SDK 路径一致
        修改 OpenSSL 的路径设置我们解压 OpenSSL 的路径
https://i-blog.csdnimg.cn/direct/77e1bd50efc6457f94d1f1c12ba04b45.png
        设置好路径之后,点击 设置SDK, Qt 会根据 SDK 设置 Andriod 环境(如果有署理,请务必关闭署理)
https://i-blog.csdnimg.cn/direct/5c823d2f7cab48bb9b88b4efb0342e40.png
        设置完成之后还会有一些错误,
https://i-blog.csdnimg.cn/direct/7e47740fe0294255a66b0e8a6d084544.png
        将第2步下载的 letest 解压并且 andriod sdk 目次下 cmdline-tools->latest 下全部文件(没有就新建cmdline-tools->latest目次)
https://i-blog.csdnimg.cn/direct/963eaac4f0c24890930d13569d02fc96.png
https://i-blog.csdnimg.cn/direct/285f1a6e2601427aa8569eee8f7edc0e.png
        关闭 qtcreator 再次打开,会自动弹出修改安卓环境的对话框,点击确定
https://i-blog.csdnimg.cn/direct/9f3a79757a39430287e515f8e7bfe55d.png
        一起全部点击是
https://i-blog.csdnimg.cn/direct/2f0695c73c374ae4872b1a325afd369a.png
        等候完成之后,这里全部项目全部为 √ 表现安卓环境已经预备就绪。点击确定即可完成设置
https://i-blog.csdnimg.cn/direct/664999dc23644e93acbbd1e944ed37fc.png
四、测试编译环境

        在 qtcreator 中点击创建项目,构建套件选择安卓。
https://i-blog.csdnimg.cn/direct/7f6a30e1e9c54eccbf0c18c3eb84aa0c.png
        点击右下角的锤子开始构建项目
https://i-blog.csdnimg.cn/direct/b4d92d365b6a4497bd87455f43aa5346.png
        可以生成 apk 即表现安卓编译环境正常。
https://i-blog.csdnimg.cn/direct/381a0e82662c4db9a6aa00654292b0bc.png
五、编译 QGC

1. 下载 QGC 源码

        下载地址 :GitHub - mavlink/qgroundcontrol at Stable_V4.3
        下载后解压源码,在 qtcreator 中点击打开项目,选择源码目次中的 qgroundcontrol.pro
https://i-blog.csdnimg.cn/direct/3a7dc4fcbe534ce692eefaad11fb8293.png
2. 构建 QGC

        选 Android 进行 configure project
    https://i-blog.csdnimg.cn/direct/501a227a34044bc997afee557d053fd0.png
         打开 AndrodManifest.xml 文件,修改项目为自己的项目名字格式为  xx.xx.xx(例如org.mavlink.qgroundcontrol"),保存并关闭。
https://i-blog.csdnimg.cn/direct/fd342156d0a5467697c63f41b4740dce.png
        安卓应用需要为 apk 签名才可以正常运行,还需要为项目进行签名。打开 cmd 执行以下命令
"C:\Program Files\Java\jdk-17\bin\keytool.exe" -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000         生成 mu-release-key.keystore 表现签名库生成乐成
https://i-blog.csdnimg.cn/direct/2a7c0947f4764b7d9a7ababf7e346b24.png
        在 qtcreator 中点击项目->构建->构建安卓APK->密码存储库
https://i-blog.csdnimg.cn/direct/7828674625d740bebc8745a969ba21d7.png
         设置完成之后就可以开始点击右下角的锤子开始第一次构建项目。
https://i-blog.csdnimg.cn/direct/b669d817b3b0486b999082ce11ecd352.png
        第一次构建会出现以下错误
https://i-blog.csdnimg.cn/direct/9d9de3be48014c11bfcd1115273d1385.png
        打开 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 目次
https://i-blog.csdnimg.cn/direct/9655982de370472ebc0bc09be30f771d.png
        再次进行编译,当遇到某些文件找不到的时候,因为 github 下载的时候没有将依靠的仓库下载完整。在 github 上下载对应的源码拷贝到对应的目次即可
https://i-blog.csdnimg.cn/direct/8a506195ff88402d9ee4f18433c6548f.png
https://i-blog.csdnimg.cn/direct/cc7f1e0b29ed468091446ecbd7825a16.pnghttps://i-blog.csdnimg.cn/direct/6086e31753ce498d91b080d8c3f50316.png
        查看源码目次和根据错误信息,发现是 nlohmann_json 这个项目确实,在 github 上下载之后,并解压到对应目次即可。
  https://i-blog.csdnimg.cn/direct/fd009afddfd04cd488b6bd2481915e0a.png
        再次进行编译,生成 apk 即构建乐成
       https://i-blog.csdnimg.cn/direct/5ddfbf352ebe43c8830e128a156bd2d6.png



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 搭建Qt5.15.2 for Android 编译 QGroundControl (QGC)