Linux 编译 Android 版 QGroundControl 软件并运行到手机上

Linux 编译 Android 版 QGroundControl 软件并运行到手机上

环境说明

电脑系统 Ubuntu 22.04

qgroundcontrol master 分支

Qt 6.8.3

操作步骤

一、参考上一篇文章在电脑端把环境搭建好

Linux 编译电脑端 QGroundControl 软件

二、配置 Qt Creator 的 Android 环境

1.运行 Qt Creator 软件,点击上方菜单栏中的「工具」菜单 -> 「外部」-> 「配置」

  1. 在新弹出的菜单对话框中,左侧选择「SDKs」选项,右侧会展示 Android 环境的相关配置,总的来说,就是配置 JDK、SDK、OpenSSL (假如你的电脑中已经安装了 AndroidStudio,AndroidStudio 自身就已经包含了 JDK、SDK 这些环境,但我的建议是还是新建一个单独的目录,来存放 Qt 需要的环境配置文件)

  2. 配置 JDK:

  • 前往 Oracle官网下载 JDK 文件
  • 解压 JDK 压缩文件,可以解压到任何文件目录,相关命令 tar -zxvf jdk-24_linux-x64_bin.tar.gz
  • 打开 bashrc 文件,添加环境变量,相关命令 vim ~/.bashrc
  • 在 vim 编辑器中,在文件的最后写入 export JAVA_HOME=/home/ctj/jdk1.8 export PATH=$JAVA_HOME/bin:$PATH (vim 编辑器的简单操作指令:i 是对文件进行编辑,Esc 是退出编辑 :wq 是写入保存退出)
  • 执行 source ~/.bashrc 命令,让文件的修改立刻生效
  • 输入 java -version 验证 Java 是否安装成功
    参考文章Ubuntu配置Java环境的方法
  1. JDK 在电脑中配置好后,在 Qt 的 Android 环境配置界面中,「JDK 位置项」选择刚刚解压的目录就可以,比如 /home/ubuntu/Java/jdk-24.0.2
  2. Qt 的「Android SDK的路径」项选择一个新建的空目录,点击「设置SDK」按钮,让 Qt 自己去下载所需要的 SDK 内容,如果中途有日志提示下载失败,就等下载完成后再点击一次「设置SDK」按钮。
  3. Qt 的 「OpenSSL 二进制位置」这里也一样,选择一个新建的空目录,点击「下载 OpenSSL」按钮,让 Qt 自己下载。(如果提示"所选的用于下载 openssl 的路径(/home/ubuntu/android)已存在并且非空。请选择其它空路径",就在选择的 openssl 路径后面输入一个新的文件名,让 Qt 去创建该文件夹)
  4. 这样 3 个所需的依赖就都完成了,点击 Qt 上方菜单栏中的「文件」-> 「打开文件或项目」-> 项目的 CMakeLists.txt 文件,导入 QGroundControl 项目
  5. 左下方的部署按钮,选择构建套件(安卓),点击编译或者运行,应该就可以成功安装到手机上了

参考文章:搭建Qt5.15.2 for Android环境编译QGC4.4(详)

文章使用的版本虽然有些低,但是很多步骤还是通的,值得借鉴参考

相关推荐
fengyehongWorld13 小时前
Linux rg命令
linux
JohnnyDeng9413 小时前
【Android】Room 数据库高级用法与性能调优:从查询瓶颈到毫秒级响应
android·性能优化·kotlin·room
pride.li13 小时前
海思视觉Hi3516CV610--开机自动设置ip
linux·网络·网络协议·tcp/ip
zeqinjie13 小时前
Flutter 折叠屏 iPad / 宽屏适配实践
android·前端·flutter
ab_dg_dp13 小时前
Android 17+ 提取 AIDL 生成 Java 文件的实用脚本
android·java·python
我叫张小白。13 小时前
CentOS 7 安装 Docker并配置镜像加速(完整指南)
linux·docker·centos
Arrom14 小时前
DLNA 渲染端排障实战:从 20s 卡顿到 stale subscriber 的两周追凶之旅
android·java
Titan202415 小时前
Linux动静态库
linux·服务器·c++
_李小白15 小时前
【android opencv学习笔记】Day 32:直线检测之霍夫变换
android·opencv·学习
赵民勇15 小时前
Linux file命令详解
linux·运维