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

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

目次
概要
一、安装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
         下载好安装包运行安装步伐,根据提示注册账号进行安装。到这里需要勾选我是个人用户。

        在选择组件的时候,需要勾选上 archive 并点击筛选才可以看到 Qt 5的版本。睁开 Qt 在下拉列表内里勾选上 MinGW、Android、Qt Charts 即可。


        其他的下一步就好,等候安装完成即可。
二、安装 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

        将刚下载的的android-sdk_r24.4.1-windows.zip和commandlinetools-win-9123335_latest.zip复制并解压到"D:\Android_tool\SDK"下

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 )




        然后等候安装完成即可
三、搭建QT Android编译环境

        打开QT5.15.2,找到菜单栏 -> 编辑 -> preferences -> 设备 -> Android
        修改 JDK 位置设置我们安装的 jdk
        修改 Android SDK 的路径设置和 SDK Manager 的SDK 路径一致
        修改 OpenSSL 的路径设置我们解压 OpenSSL 的路径

        设置好路径之后,点击 设置SDK, Qt 会根据 SDK 设置 Andriod 环境(如果有署理,请务必关闭署理)

        设置完成之后还会有一些错误,

        将第2步下载的 letest 解压并且 andriod sdk 目次下 cmdline-tools->latest 下全部文件(没有就新建cmdline-tools->latest目次)


        关闭 qtcreator 再次打开,会自动弹出修改安卓环境的对话框,点击确定

        一起全部点击是

        等候完成之后,这里全部项目全部为 √ 表现安卓环境已经预备就绪。点击确定即可完成设置

四、测试编译环境

        在 qtcreator 中点击创建项目,构建套件选择安卓。

        点击右下角的锤子开始构建项目

        可以生成 apk 即表现安卓编译环境正常。

五、编译 QGC

1. 下载 QGC 源码

        下载地址 :GitHub - mavlink/qgroundcontrol at Stable_V4.3
        下载后解压源码,在 qtcreator 中点击打开项目,选择源码目次中的 qgroundcontrol.pro

2. 构建 QGC

        选 Android 进行 configure project
    

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

        安卓应用需要为 apk 签名才可以正常运行,还需要为项目进行签名。打开 cmd 执行以下命令
  1. "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 表现签名库生成乐成

        在 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 目次

        再次进行编译,当遇到某些文件找不到的时候,因为 github 下载的时候没有将依靠的仓库下载完整。在 github 上下载对应的源码拷贝到对应的目次即可


        查看源码目次和根据错误信息,发现是 nlohmann_json 这个项目确实,在 github 上下载之后,并解压到对应目次即可。
  

        再次进行编译,生成 apk 即构建乐成
       




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表