Qt应用开发(安卓篇)——Linux下Qt15.5.2配置Android

目录

一、前言

二、Qt安装

三:JDK安装

四:安装SDK,NDK

五、其他事项

六、新建项目


一、前言

        看网上教程,多数是windows环境下的,配置也很简单,想不到自己配置的时候却遇到很多问题,传了一些资源文件和配置文件,如果不想在官网下载的,可以直接下载。

https://download.csdn.net/download/u014491932/88737711

        下面是环境配置的流程,前面三步安装都差不多,主要是后面构建的时候一直失败,令人头大,搞了好多天,全是踩坑经验。

二、Qt安装

        如果Qt未安装,官网下载https://download.qt.io/official_releases/online_installers/

        安卓开发套件必选,其他套件大家视情况选择。        

         如果已经下载过Qt,但是当初安装的时候没有选择安卓开发套件,只需要在安装路径下执行MaintenanceTool,最好是加上root权限执行。

三:JDK安装

        进入官网下载JDKhttps://www.oracle.com/java/technologies/downloads/

        拉到下面,选择1.8的版本,没注册的账号的同学这里需要注册,然后才能下载。

        下载完成之后,直接解压到安装目录下。

        编辑profile文件,末尾添加jdk路径到环境变量。

export JAVA_HOME=/home/xuguijun/jdk1.8.0_391
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

        source脚本让环境变量生效。

        查看jdk版本,出现如下结果即为配置成功。

四:安装SDK,NDK

        SDK和NDK就需要单独去下载了,打开QtCreator-工具-选项-设备-Android,选择JDK路径之后,选择Set Up SDK,这里要保证网络正常,后面就是不断的点击OK/YES和下一步就行了。

        安装完NDK、SDK、OpenSSL之后,选择Apply,点击OK关闭,再次打开环境界面,可以看到安卓的编译器,qmake已经自动都配好了,这时候就环境就基本配好了。

五、其他事项

        1、项目构建路径要简短或者直接取消勾选shadow build,否则会报错“Could not initialize class org.codehaus.groovy.runtime.InvokerHelper”

         2、Qt安装路径下,找到并修改sdk_definitions.json

        3、第一次构建项目不成功,出现“java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7”或者“Could not initialize class org.codehaus.groovy.runtime.InvokerHelper”

        需要在构建的目录下找到gradle.properties文件,修改其内容增加JDK路径,然后重新编译。

 

        生成成功截图:

六、新建项目

        新建项目流程和桌面项目一样,我们选择一个widget项目,开发套件选择配置号的安卓。

        设置一个简短的构建路径。

        修改主页文字。

        直接构建,然后第一次报错,修改gradle.properties文件后成功生成apk文件,第二次构建时间比较长,可能十几秒,第三次构建就只需要1s。

        apk文件7.5M,这个大小还是很客观的。

        apk拷贝到手机,安装,显示有点问题,无伤大雅。

        拷贝到开发板,一样可以运行,非常棒。

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

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

相关文章

在vite5和vue3开发环境中使用jodit4富文本编辑器,并添加自定义插件和使用highlight.js实现代码块高亮(附其他自定义配置项和全部代码)

最近富文本编辑器jodit终于更新发布到了4.0版本,加入了css变量、有更好的typescript支持,截止发文时的版本是:4.0.5,看到有了新版本于是便想着将本地项目中的jodit版本也进行升级,琢磨着再丰富和添加一些功能&#xff…

vue3.2二次封装antd vue 中的Table组件,原有参数属性不变

vue3.2中的<script setup>语法 在项目中多处使用到表格组件,所以进行了一个基础的封装,主要是通过antd vue 中表格的slots配置项,通过配合插槽来进行封装自定义表格; 这次主要的一个功能是编辑之后变成input框 修改了之后变成完成发送请求重新渲染表格&#xff1a; 子…

喜报!博睿数据荣获数据猿“年度创新服务企业奖、年度创新服务产品奖”!

1月17日&#xff0c;由数据猿与上海大数据联盟联合主办的“大数据产业发展论坛”活动在上海隆重举办。其中&#xff0c;备受关注的《2023中国大数据产业年度榜单》正式揭晓。在众多优秀的企业中&#xff0c;博睿数据凭借其前瞻性的产品技术布局、强大的市场影响力以及卓越的智能…

聚道云如何助力企业破解审批困境,开启高效工作?

客户介绍&#xff1a; 某科技股份有限公司是中国领先的创新创业服务平台&#xff0c;致力于为企业家、创业者提供全方位的创业服务&#xff0c;助力他们实现创业梦想。公司拥有一支专业的团队&#xff0c;通过提供一系列的创业培训、资源对接、媒体宣传等服务&#xff0c;帮助…

避免问卷填写重复的方法:确保数据准确性的关键

如果我们收集的问卷显示很多相同的IP地址怎么办&#xff1f; 先不要着急。首先&#xff0c;先把这些来自相同IP地址的问卷整理出来&#xff0c;查看他们的数据是否一致。如果数据一致&#xff0c;并且数量较大的话&#xff0c;那么他们可能会对问卷结果造成一定的影响。我们需要…

IOS-高德地图连续定位-Swift

使用定位功能需要需要接入高德地图定位Api&#xff1a; pod AMapLocation配置Info 在info中新建一个名为Privacy - Location Temporary Usage Description Dictionary的字典&#xff0c;然后在这个字典下新建Privacy - Location When In Use Usage Description、Privacy - Lo…

【学习记录24】vue3自定义指令

一、在单vue文件中直接使用 1、html部分 <template><divstyle"height: 100%;"v-loading"loading"><ul><li v-for"item in data">{{item}} - {{item * 2}}</li></ul></div> </template> 2、js…

【NCRE 二级Java语言程序设计04】二级Java考试应用软件使用

目录 前言一、软件介绍和下载1.软件介绍和下载2.下载软件3.下载使用说明和示例教程 二、本地练习环境搭建1.解压启动2.自建Java应用程序3.Hello入门程序 三、NetBeans一般配置1.代码模板2.字体和颜色3.快捷键映射 总结 前言 &#x1f4dc;本专栏主要是分享自己备考全国计算机二…

[go语言]数据类型

目录 知识结构 整型、浮点型 1.整型 2.浮点型 复数、布尔类型 1.复数 2.布尔类型 字符与字符串 1.字符串的格式化 2.字符串的截取 3.格式化好的字符串赋值给量 4.字符串的转换 5.strings包 知识结构 整型、浮点型 1.整型 在Go语言中&#xff0c;整型数据是一种基…

AI工具的使用和分析

人工智能&#xff08;AI&#xff09;工具已经成为了现代社会不可或缺的一部分&#xff0c;它们的应用范围涵盖了各行各业&#xff0c;为人类带来了极大的便利和效率提升。随着技术的不断发展&#xff0c;AI工具的使用和分析也变得越来越重要。本文将探讨AI工具的使用和分析&…

查看神经网络中间层特征矩阵及卷积核参数

可视化feature maps以及kernel weights&#xff0c;使用alexnet模型进行演示。 1. 查看中间层特征矩阵 alexnet模型&#xff0c;修改了向前传播 import torch from torch import nn from torch.nn import functional as F# 对花图像数据进行分类 class AlexNet(nn.Module):d…

day2:TCP、UDP网络通信模型

思维导图 机械臂实现 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//创建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//链接struct so…