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

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

相关推荐
2501_915921433 分钟前
iOS混淆与IPA加固实战手记,如何构建苹果应用防反编译体系
android·macos·ios·小程序·uni-app·cocoa·iphone
---学无止境---9 分钟前
Linux中在字符串中查找指定字符的第一次出现位置的汇编实现
linux
tianyuanwo35 分钟前
虚拟机监控全攻略:从基础到云原生实战
linux·云原生·虚机监控
苏州知芯传感40 分钟前
MEMS加速度计深度解析:从智能手机到结构健康监测
智能手机·mems·加速度计·消费电子
别或许44 分钟前
在centos系统下,安装MYSQL
linux·mysql·centos
丁丁丁梦涛1 小时前
CentOS修改MySQL数据目录后重启失败的问题及解决方案
linux·mysql·centos
黑马金牌编程1 小时前
Jenkins的Linux与window部署方式
linux·运维·windows·jenkins·持续集成·cicd
Jeled1 小时前
Android 集成指南:Google 登录、Facebook 登录 与 Firebase 深入接入(实战)
android·kotlin·android studio·memcached·facebook
web安全工具库1 小时前
告别刀耕火种:用 Makefile 自动化 C 语言项目编译
linux·运维·c语言·开发语言·数据库·算法·自动化
DechinPhy1 小时前
Ubuntu挂载新硬盘
linux·运维·服务器·ubuntu