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

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

相关推荐
月殇_木言2 小时前
Linux 线程
linux
wangjialelele2 小时前
Linux中的线程
java·linux·jvm·c++
2301_800050994 小时前
DNS 服务器
linux·运维·笔记
安东尼肉店4 小时前
Android compose屏幕适配终极解决方案
android
Lin_Aries_04214 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
SELSL4 小时前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战
2501_916007474 小时前
HTTPS 抓包乱码怎么办?原因剖析、排查步骤与实战工具对策(HTTPS 抓包乱码、gzipbrotli、TLS 解密、iOS 抓包)
android·ios·小程序·https·uni-app·iphone·webview
小牛马爱写博客5 小时前
DNS 服务器与 DHCP 服务器详解及配置指南
linux·运维·服务器·dns·dhcp
维尔切5 小时前
HAProxy 负载均衡器
linux·运维·数据库·负载均衡
什么半岛铁盒5 小时前
C++项目:仿muduo库高并发服务器-------Channel模块实现
linux·服务器·数据库·c++·mysql·ubuntu