Ubuntu22.04中基于Qt开发Android App

文章目录

  • 前言
  • 在Ubuntu22.04中配置开发环境
  • 案例测试
  • 参考

前言

使用Qt开发手机应用程序是一种高效且灵活的选择。Qt作为一个跨平台的开发框架,为开发者提供了统一的开发体验和丰富的功能库。首先,Qt的跨平台性让开发者可以使用相同的代码库在不同的操作系统上进行开发,包括Windows、macOS和各种移动设备平台,这极大地简化了多平台开发的复杂性。其次,Qt提供了强大的图形用户界面(GUI)工具,使得设计和构建各种吸引人的用户界面变得轻而易举。此外,Qt的功能库涵盖了从网络通信到数据库操作再到图形渲染等各个方面,为开发者提供了全面的支持,无论是开发简单的应用程序还是复杂的移动应用都能得心应手。另外,Qt具有良好的社区支持,开发者可以在社区中获取到丰富的资源、教程和解决方案,极大地提高了开发效率和质量。

除了以上优点之外,使用Qt开发手机应用程序也存在一些挑战和不足之处。首先,由于Qt是一个跨平台框架,可能会导致应用程序在某些特定平台上的性能表现不佳,特别是在处理图形和动画等方面。其次,Qt的学习曲线相对较陡,尤其是对于初学者来说,需要花费一定的时间和精力去掌握Qt的各种功能和开发技巧。此外,由于Qt提供了丰富的功能库,构建的应用程序可能会比较庞大,需要额外的存储空间和资源,这可能会影响应用程序的下载和安装速度。最后,Qt作为一个第三方框架,可能会存在与特定操作系统或设备的依赖性问题,需要开发者额外处理和配置。因此,在选择使用Qt开发手机应用程序时,开发者需要权衡其优点和不足,根据具体项目需求和团队技术栈做出合适的决策。

在Ubuntu22.04中配置开发环境

1、根据Java Development Kit (JDK)安装JDK

sudo apt-get install openjdk-17-jdk
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

2、安装Android开发相关

sudo apt install android-sdk
sudo apt install android-tools-adb
sudo apt install android-tools-fastboot
sudo apt-get install libstdc++6 libncurses5

3、Qt Creator的安装

下载

wget https://d13lb3tujbc8s0.cloudfront.net/onlineinstallers/qt-unified-linux-x64-4.7.0-online.run

运行安装程序

chmod +x qt-unified-linux-x64-4.7.0-online.run
./qt-unified-linux-x64-4.7.0-online.run

接下来会弹出Qt Creator安装界面,需要输入对应的账号

在这里插入图片描述

在这里插入图片描述

省略了几步,这些都是默认

接下来记住路径

在这里插入图片描述

勾选Android组件

在这里插入图片描述

安装必要的库

sudo apt-get update
sudo apt-get install libxcb-cursor0
sudo apt-get install gcc #安装gcc编译器
sudo apt-get install g++ #安装g++编译器
sudo apt-get install make #安装make构建套件
sudo apt-get install libgl1-mesa-dev #安装OpenGL核心库sudo apt-get install git

4、启动Qt Creator

在这里插入图片描述

5、配置Android开发套件

在这里插入图片描述

以下操作需先搭建梯子

在这里插入图片描述

安装模拟器(不是必要的)

在这里插入图片描述

配置openssl(需要先安装git)

在这里插入图片描述

最后重启Qt Creator

案例测试

1、通过USB线连接手机到电脑,然后打开手机的USB调试功能。

2、运行一个手机app案例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后效果如下

在这里插入图片描述

有点bug,和案例稍有差别,但是可以成功运行了!

参考

Qt 6.7 Getting Started with Qt for Android

Ubuntu22.04安装Qt之后启动Qt Creator失败报错“from 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Q”

Windows下基于Qt开发Android应用

【Qt】最详细教程,如何从零配置Qt Android安卓环境

ubuntu20.04搭建Qt的Android开发环境(qt版本6.0以上适用,以下未知)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Error: TF_DENORMALIZED_QUATERNION: Ignoring transform forchild_frame_id

问题 运行程序出现: Error: TF_DENORMALIZED_QUATERNION: Ignoring transform for child_frame_id “odom” from authority “unknown_publisher” because of an invalid quaternion in the transform (0.0 0.0 0.0 0.707) 主要是四元数没有归一化 Eigen::Quatern…

【PostgreSQL】技术传承:使用Docker快速部署PostgreSQL数据库

前言 PostgreSQL的重要贡献者Simon Riggs因一起坠机事故不幸离世。Simon Riggs是英国著名的软件与服务领导者,也是PostgreSQL的主要开发者和贡献者。事故发生在英国当地时间3月26日13:41分,当时他驾驶的私人通用航空Cirrus SR22飞机在英国达克斯福德机场…

java——文件上传

一、文件上传——简介 文件上传的简介:文件上传是指将本地计算机中的文件传输到网络上的服务器或另一台计算机上的过程。在 Web 开发中,文件上传通常指的是将用户通过 Web 页面提交的文件(如图像、文档、音频、视频等)传输到服务器…

设计模式总结-原型设计模式

原型设计模式 模式动机模式定义模式结构模式分析深拷贝和浅拷贝原型模式实例与解析实例一:邮件复制(浅克隆)实例二:邮件复制(深克隆) 模式动机 在面向对象系统中,使用原型模式来复制一个对象自…

MySQL 50 道查询题汇总,足以巩固大部分查询(附带数据准备SQL、题型分析、演示、50道题的完整SQL)

目录 MySQL 50 道查询题,足以巩固大部分查询数据准备:创建表sql添加表数据sql 50道查询题目汇总01 - 05 题:1、查询 “01” 语文成绩比 “02” 数学成绩高的学生的信息及课程分数2、查询 "01语文课程"比"02数学课程"成绩…

Linux云计算之网络基础9——园区网络架构项目

要求构建大型园区网络架构,方案如下: 园区A 园区c 公司B 要求: 1、A公司园区网络 一台汇聚层三层交换机,两台接入层二层交换机。 出口有一台路由器。 2、A园区有五台服务器。 分别为两台 WEB 服务器,…

java数据结构与算法刷题-----LeetCode405. 数字转换为十六进制数

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 分组位运算 分组位运算 这道题正常来说可以用转换7进制的思想来&…

PTA C 1050 螺旋矩阵(思路与优化)

本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:mn 等于 N;m≥n;且…

【蓝桥杯-读数据】

蓝桥杯-读数据 P8598 [蓝桥杯 2013 省 AB] 错误票据 P8598 [蓝桥杯 2013 省 AB] 错误票据 这道题本身很简单&#xff0c;最大的难点在于读入数据。 #include<bits/stdc.h> using namespace std; #define int long long const int N 2e5 10; int a[N]; signed main()…

探寻马来西亚服务器托管的优势与魅力

随着全球跨境业务的不断增加&#xff0c;境外服务器成为越来越受欢迎的选择。在这其中&#xff0c;马来西亚服务器备受关注&#xff0c;其机房通常位于马来西亚首都吉隆坡。对于客户群体主要分布在东南亚、澳大利亚和新西兰等地区的用户来说&#xff0c;马来西亚服务器是一个理…

SV学习笔记(七)

类型转换 写在前面 类型转换可以分为 静态转换和动态转换 。静态转换即需要在转换的表达式前 加上单引号 即可&#xff0c;该方式并不会对转换值做检查。如果发生转换失败&#xff0c;我们也无从得知。动态转换即需要使用 系统函数$cast(tgt&#xff0c; src) 做转换。静态转…

CountDownLatch 详解

CountDownLatch 用法详解 CountDownLatch 详解1 原理2 常见用法3 方法介绍4 示例及使用 CountDownLatch 详解 CountDownLatch&#xff08;倒计时门闩&#xff09;是Java并发包中的一个工具类&#xff0c;用于协调多个线程之间的同步。它允许一个或多个线程等待其他线程完成操作…

【软件工程】测试规格

1. 引言 1.1简介 本次的测试用例是基于核心代码基本开发完毕&#xff0c;在第一代系统基本正常运行后编写的&#xff0c;主要目的是为了后续开发与维护的便利性。 该文档主要受众为该系统后续开发人员&#xff0c;并且在阅读此文档前最后先阅读本系统的需求文档、概要设计文…

谷歌推出多模态视频模型,自动生成丰富动作视频

谷歌的研究人员推出了一款多模态扩散模型——VLOGGER。 用户只需要向VLOGGER输入图像、语音&#xff0c;就能生成带语音、丰富动作的人物视频。VLOGGER基于扩散模型开发而成&#xff0c;并提出了一种全新的架构&#xff0c;将文本生成图像模型与空间、时间控制相结合&#xff…

使用Python转换图片中的颜色

说明&#xff1a;最近在看梵高的画册&#xff0c;我手上的这本画册&#xff08;《文森特梵高》杨建飞 主编&#xff09;书中说&#xff0c;梵高用的颜料里有不耐久的合成颜料&#xff0c;原本的紫色褪成了我们现在所看到的灰蓝色。于是我想&#xff0c;能不能用程序将画中的颜色…

单链表的排序

目录 题目来源&#xff1a; 题目描述&#xff1a; 初始代码&#xff1a; 思路&#xff1a; 具体做法&#xff1a; 我的代码&#xff1a; 优化代码&#xff1a; 对比&#xff1a; 复习&#xff1a;List 基本介绍 常用方法 遍历方式 题目来源&#xff1a; 单链表的排…

MySQL常见锁探究

MySQL常见锁探究 1. 各种锁类型1.1 全局锁1.2 表级锁1.2.1 表锁1.2.2 元数据锁&#xff08;MDL&#xff09;1.2.3 意向锁1.2.4 AUTO-INC 锁 1.3 行级锁1.3.1 Record Lock1.3.2 Gap Lock1.3.3 Next-Key Lock 2. MySQL是如何加锁的&#xff1f;2.1 什么 SQL 语句会加行级锁&#…

Win10 下 Vision Mamba(Vim-main)的环境配置(libcuda.so文件无法找到,windows系统运行失败)

目录 1、下载NVIDIA 驱动程序、cuda11.8、cudnn8.6.0 2、在Anaconda中创建环境并激活 3、下载gpu版本的torch 4、配置环境所需要的包 5、安装causal_conv1d和mamba-1p1p1 安装causal_conv1d 安装mamba-1p1p1 6、运行main.py失败 请直接拉到最后查看运行失败的原因&am…

Pandas:sort_index、sort_values方法的使用

sort_index和sort_values既是Series类型数据自带的方法&#xff0c;也是DataFrame数据自带的方法。本篇博客以DataFrame为例进行讲述。 1 概览 sort_index和sort_values可以将DataFrame中的数据按照索引及值的大小进行排序。这两个方法所包含的参数及其作用都基本一致。如下表…

重读Java设计模式: 桥接模式详解

引言 在软件开发中&#xff0c;经常会遇到需要在抽象与实现之间建立连接的情况。当系统需要支持多个维度的变化时&#xff0c;使用传统的继承方式往往会导致类爆炸和耦合度增加的问题。为了解决这一问题&#xff0c;我们可以使用桥接模式。桥接模式是一种结构型设计模式&#…