QT for andriod

news2024/12/25 9:15:59

QT for andriod 开发 apk软件,因为一些特殊的原因,在这里简单的记录一哈自己开发apk的流程和心得。

首先说明我采用的环境有哪些?

1、QT的版本,个人建议5.15.2的版本及以上,我是用的5.15.2。

2、andriod studio 可以帮助我们快速配置ndk等相关文件。

3、安装jdk相关文件,这是使用java的基础,而java是写apk软件的核心。

4、用于PC端的手机模拟器,我采用的模拟器是网易下面的MuMu模拟器(大家也可以采用其他的模拟器,使用方法应该都是大体上一致的)

那么我们接下来将一一介绍安装和说明,以及编译的时候有哪些注意事项。

首先安装jdk文件,我这里安装的是jdk11的样子,具体的安装包下载地址,我就放到链接里面了,有需要的可以自取(取件码:mate)。

安装jdk,是否安装成功可以在cmd命令行里面使用下面这个指令,查看自己的jdk是否安装成功

jdk -version

要注意安装的时候,要配置一哈环境变量

其中java_home是你安装jdk的文件目录的路径。

第二步,就来到了安装ndk的步骤,大家可以自己采用全程自己手动安装相关依赖,也可以直接用andriod studio的方式(取件码:nmnm),谷歌的这个软件,可以帮助我们去配置软件环境,因此我在这里图方便就安装这个软件来配置ndk文件了。

DK(Java Development Kit)是用于Java开发和运行的环境。它包括了Java的开发工具和JRE(Java Runtime Environment)。在程序员的电脑上,安装JDK是必要的,因为它提供了编译和运行Java程序所需的工具和库。

NDK(Native Development Kit)是用于在Android平台上开发本地应用程序的一套工具。它允许开发者使用C和C++等本地语言编写Android应用程序,同时还提供了访问Android系统底层功能和库的接口。NDK的存在使得开发者可以更好地优化性能,提高应用程序的响应速度。在Unity中使用NDK可以加速游戏或应用程序的部分功能。

我配置的相关环境如下:

其中android SDK Platform-Tools一定要勾选,不然没办法使用adb功能连接模拟器

第三步,就来到了安装MuMu模拟器,这里我放一个链接,大家自行去下载,免费的软件。

MuMu模拟器官网_安卓12模拟器_网易手游模拟器 (163.com)

下载完以后,按照相关步骤配置你想要的模拟机型。

这里我选华为手机,花粉一个实锤了,哈哈(*^▽^*)!!!

然后我们就可以打开QT了,选择工具-》外部-》配置-》设备-》android-》点开详情

注意全绿,才可以正常使用,哪里红了就处理它,这个为安卓工具链自动创建套件,要勾选上,因为这样,qt才会为你自动下载openssl相关的工具。

包含以下模块:

  • Qt Core:这是QT库的主要部分,包括一切的核心功能,比如信号和槽机制,事件处理,容器类,正则表达式等。
  • Qt GUI:提供了图形渲染和用户界面的构建等功能,包括Qt Widgets和Qt QML两种方式。其中Qt QML是用于构建动态和流畅的用户界面的。
  • Qt Network:提供了各种网络通信功能,比如HTTP,FTP,SMTP等协议支持,以及套接字编程接口等。
  • Qt SQL:提供了对数据库访问的支持。
  • Qt Test:提供了单元测试框架和一些测试工具。
  • Qt WebAssembly:将Qt应用编译为WebAssembly格式,可以在Web浏览器中运行。
  • Qt Widgets:提供了基于C++的图形用户界面库,用于构建传统的桌面应用程序。

需要注意的是,对于具体某个模块是否支持Android平台,最好查看官方文档或者在相应的开源社区进行咨询。因为每个模块的开源社区都会有各自的移植和优化工作,所以只有官方或者社区才能提供最准确的信息。

官方的链接在下面:

Qt for Android Automotive

last but not least,就在用QT编译apk程序的时候,要注意只能使用QT支持的模块,才能用C++的代码去实现你想要实现的功能,不然会报错。另外apk的安装还需要包签名,不然有可能安装错误。

这个签名是可以自己创建设立的哈。

除了用我上面提到的mumu模拟器,还可以使用android里面的create device创建一个虚拟的device,这里我个人建议最好创建一个API大于9.0的。。。经验的教训,不如就会像我下面这样报错:

例子:

最后成功的效果图就是这样的啦,我这里是一个简易的network android的apk程序

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

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

相关文章

日期--data与String的相互转换

首先我们要明确 yyyy-MM-dd HH:mm:ss 其中y:年份 MM:月份 dd:天 HH:小时 mm:分 ss:秒 date转String // 获取当前时间LocalDateTime dateLocalDateTime.now(); // 设置日期格式DateTimeFormatter formatterDateTimeFormatter.ofPattern("yyyy-MM-dd…

步进电机选型-根据应用场景

步进电机选型-根据应用场景 在线计算传动机构与步进电机选型问题,这个网站挺好用的 https://www.orientalmotor.com.cn/guide/motorsizingtool/[电机选型]

【C++】C++11新特性 function

包装器function 一、包装器的引入二、包装器的介绍三、bind函数的介绍 一、包装器的引入 在C中我们的可调用对象是很多的,例如函数指针,仿函数,lambda表达式,这多的可调用对象极大的丰富了C的功能,但是也给我们带来了…

Python continue 语句

Python continue 语句跳出本次循环,而break跳出整个循环。 continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。 continue语句用在while和for循环中。 Python 语言 continue 语句语法格式如下: continue 流程图…

PaddleOCR训练部署文档

Cuda安装 wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run sh cuda_11.6.0_510.39.01_linux.run#可能会报错,查看/var/log/nvidia-installer.log ,kill -9 [ID]可以解决vim ~/.bash…

计算机网络 第一章:概述

目录 一.因特网概述 1.1网络、互联网(互连网)和因特网 1.2internet与Internet的区别 1.3因特网服务提供者ISP(Internet Service Provider) 1.4因特网组成 二.三种交换方式 2.1电路交换 2.2分组交换(重点) 2.3报文交换 三.计算机网络的定义和分类 四.计算机网络的性能…

前端居中截取不同形状的图片

开发的时候拿到这样一个需求: 意思就是要居中截取图片,这个功能跟微信朋友圈的九宫格显示功能差不多的效果。 方案一 用样式居中,这种方案适合紧急情况下的临时方案 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8&…

华为云云耀云服务器L实例评测|基于华为云云耀云服务器L实例搭建MySQL集群并开展性能评测

文章目录 华为云云耀云服务器L实例的使用搭建MySQL集群环境搭建安装MySQL数据库 集群搭建安装Galera Cluster配置MySQL启动集群 性能测试安装sysbench创建测试数据库运行性能测试 使用Superset从MySQL数据源中获取数据进行分析准备工作配置MySQL数据源从MySQL数据源中获取数据 …

基于Java+SpringBoot+Vue前后端分离的房屋租赁管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 房屋租赁管理系统是一…

029:vue项目,勾选后今天不再弹窗提示

第029个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

【校招VIP】前端算法考察之字符串

考点介绍 说到字符串算法我们最先想到的就是模式匹配问题&#xff0c;所谓模式匹配就是字符串匹配问题&#xff0c;就是在一个长的主串中寻找子串的过程&#xff0c;如果我们直接暴力匹配那就是最基本的BF算法&#xff1b;KMP算法与BF算法最大的区别区别就是主串不进行回溯。 …

PaddleOCR学习笔记1-初步尝试

尝试使用PaddleOCR方法&#xff0c;如何使用自定义的模型方法&#xff0c;参数怎么配置&#xff0c;图片识别尝试简单提高识别率方法。 目前仅仅只是初步学习下如何使用PaddleOCR的方法。 一&#xff0c;测试识别图片&#xff1a; 1.png : 正确文本内容为“哲学可以帮助辩别现…

向左偏移的云应用容器监控方法

向左偏移是一种在软件开发生命周期的早期强调测试、监控和自动化的软件开发和操作方法。向左偏移方法的目标是通过尽早发现问题并迅速解决&#xff0c;从而预防问题的发生。 当您尽早发现可扩展性问题或错误时&#xff0c;解决它将更加迅速和经济高效。将低效的代码移动到云容…

使用Jsmooth打包JavaFx程序为EXE文件

配置IDEA 第一步&#xff1a; 第二步&#xff1a; MANIFEST.MF的文件路径&#xff0c;必须在resources文件夹中&#xff0c;如果没有&#xff0c;就创建一个。 第三步&#xff1a;配置项目所需jar包的相对路径 最后&#xff1a; 点击确定后&#xff0c;编译Jar 配置Jsmooth …

Docker从认识到实践再到底层原理(四-1)|Docker镜像仓库|超详细详解

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

k8s node环境部署(三)

1、添加node1、node2环境 前面配置master环境的截图最后一段 复制下来 分别在node主机执行 kubeadm join 192.168.37.132:6443 --token p5omh3.cqjqt8ymrwkdn2fc \ --discovery-token-ca-cert-hash sha256:608a1cbadd060cfdeac2fae84c19609061b750ab51bf9a19887ff7ea…

恒运资本:消费电子概念再爆发,冠石科技三连板,捷荣技术9日大涨127%

消费电子概念8日盘中再度走高&#xff0c;截至发稿&#xff0c;利和兴涨近15%&#xff0c;日久光电、冠石科技、捷荣技能、华映科技、东睦股份等涨停&#xff0c;大富科技涨超7%。 值得注意的是&#xff0c;冠石科技已接连3日涨停&#xff0c;公司昨日晚间发布危险提示称&…

数字钥匙关键技术:UWB(超宽带)实现原理一文讲透

在之前的文章《一文讲透超宽带&#xff08;UWB&#xff09;前世今生》中&#xff0c;我们从起源、定义、标准、发展、应用等角度概述了UWB技术。根据UWB的特性&#xff0c;其基础功能分为&#xff1a;数据传输、雷达成像、测距定位。接下来我们将概述其数据传输和雷达成像功能&…

YOLOV7改进-对小目标有效的BiFormer注意力机制

如果要在sppcspc后面加一个注意力模块BiFormer 1、 普通加 1、models-common.py搜这个模块 2、直接加 3、全部复制下来&#xff0c;models新建文件 4、common导入进来 5、填上一层的输出通道数 2、模块里加 难点&#xff1a;在配置文件找到对应的这一块 yolov7x中 1、…

GE IS220PDIAH1A 336A4940CSP1 控制主板模块

GE IS220PDIAH1A 336A4940CSP1 是一款控制主板模块&#xff0c;通常用于工业自动化和控制系统中。以下是可能与这种控制主板模块相关的一些产品功能&#xff1a; 信号处理&#xff1a; GE IS220PDIAH1A 336A4940CSP1控制主板模块通常负责信号处理&#xff0c;可以接收、放大、滤…