QT for andriod

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.hqwc.cn/news/107133.html

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

相关文章

记录一次Docker与Redis冲突

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 报错以及Bug ✨特色专栏: …

sql 时间函数

1,前提 今天看同事写的sql里面出现了时间类的函数,平时自己也经常用到,每次都要百度,还不如自己整理记录在一起,方便后续使用。 2,sql时间函数 2.1 获取当前时间: selectNOW() as 当前日期时…

Autojs 小游戏实践-神农百草园

概述 最近一直再写刷视频软件脚本,比如手机视频软件太多,每天都需要手动提现羊毛,太累,使用Autojs来帮助我提现,签到,扯远了,因为做刷视频脚本感觉有点无聊,所以试着做小游戏找图脚…

【GO语言基础】变量常量

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录常量和枚举变量声明全局变量声明大小写敏感 总结 常量和枚举 使用const关键字声明常量,并为每个常量提供显式的值。Go语言没有…

IDEA启动时选择项目

IDEA默认情况下,启动时会选择上一次打开的项目继续。如果我们希望每次启动时都需要手动选择项目,可以按照下列顺序修改: 【File】-【Settings】-【Apperance&Behavior】-【System Settings】-【Startup/Shutdown】 取消选中Reopen last…

LayoutLM【论文翻译】

文章目录 基础信息0 ABSTRACT1 INTRODUCTION2 LAYOUTLM2.1 The BERT Model2.2 The LayoutLM Model2.3 Model Architecture2.4 Pre-training LayoutLM2.5 Fine-tuning LayoutLM 3 EXPERIMENTS3.1 Pre-training Dataset3.2 Fine-tuning Dataset3.3 Document Pre-processing3.4 Mo…

200个常用的Python编程相关英语词汇以及它们的中文释义

大家好,我是涛哥。 好多小伙伴反馈说在学习python的过程中,遇到的英文比较多,为自己的学习和开发产生了很大的阻力,所以为大家梳理了一份 Python编程相关常用的英语词汇以及它们的中文释义,当你刚开始学习Python编程的…

profinet是什么?

profinet是什么? 参考:一文读懂Profibus、Profinet、Ethernet的区别 PROFINETPROFIbusetherNET,把Profibus的主从结构移植到以太网上,所以profinet会有Controller和Device,他们的关系可以简单的对应于profibus的Maste…

【C++模拟实现】手撕红黑树(含图解)

【C模拟实现】手撕红黑树(含图解) 目录 【C模拟实现】手撕红黑树(含图解)红黑树的介绍(百度百科)简介特征(十分重要,红黑树的基础) 红黑树的实现代码(insert部…

C++之weak_ptr与shared_ptr智能指针实例(一百九十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

美陆军推动人工智能算法的持续更新

源自:蓝德智库 声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。 “人工智能技术与咨询”…

C++(day5)

思维导图 小练习 实现一个图形类(Shape),包含受保护成员属性:周长、面积,公共成员函数:特殊成员函数书写 定义一个圆形类(Circle),继承自图形类,包含私有属性…