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(详)

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

相关推荐
chlk12313 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
阿巴斯甜13 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
舒一笑14 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
Kapaseker14 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
改一下配置文件14 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
xq952715 小时前
Andorid Google 登录接入文档
android
黄林晴16 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读