QT5.15.2搭建Android编译环境及使用模拟器调试(全)

一、安装QT5.15.2

地址:下载
我电脑的windows的,所以选windows
在这里插入图片描述
在这里插入图片描述

由于官方安装过程非常非常慢,一定要跟着步骤来安装,不然慢到怀疑人生
1)打开"命令提示符"(开始 -> Windows 系统 -> 命令提示符) 或者 “win+R” ->输入cmd
找到刚才的exe
命令行输入以下命令(exe位置根据自己实际的),然后回车

D:\ChromeCoreDownloads\qt-unified-windows-x64-4.6.1-online  --mirror https://mirrors.ustc.edu.cn/qtproject

在这里插入图片描述
2)登录账号(没有的话就去注册)
QT5.15.2安装选择如下(下一步):
1、
在这里插入图片描述
2、
在这里插入图片描述
3、(安装位置可以选自己喜欢的)
在这里插入图片描述
4、组件选择自己喜欢的(或者跟着我也行),但是Android和sources一定要选上
在这里插入图片描述

5、
在这里插入图片描述
6、其他步骤下一步就好了,等待安装…

二、安装工具

一、下载需要的工具

ps:密码1234
JDK:Java语言的软件开发工具包,即java开发使用的sdk,这次用的是jdk8(下载)
SDK(oftware development kit):软件开发工具包,辅助开发某一类软件的相关文档、API必需资料、范例和工具的集合都可以叫做 “SDK”。(下载)
openssl:可选择配置,但是建议下载(下载)

二、安装

0、创建文件夹

(以D盘为例子),建立一个Android_tool文件夹,然后在其下再建立两个文件夹OpenSSL、SDK
在这里插入图片描述

1、安装JDK

打开jdk-8u371-windows-x64.exe,默认安装到c盘(一直下一步就好,闭眼操作)
在这里插入图片描述
在这里插入图片描述
安装jdk,一直下一步就好了。
在这里插入图片描述
在这里插入图片描述
c盘有这两个文件就表示安装成功

2、安装SDK

①将刚下载的的android-sdk_r24.4.1-windows.zip和commandlinetools-win-9123335_latest.zip复制并解压到"D:\Android_tool\SDK"下
在这里插入图片描述
②进入D:\Android_tool\SDK\android-sdk_r24.4.1-windows\android-sdk-windows,打开SDK Manager.exe
在这里插入图片描述

③选择需要的工具,可以参考我的(例子的用Android10 Android7.0 )
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Extras建议全选,缺少某些组件可能会影响QT运行
ps:可能第二个 Android Auto Desktop Head Unit emulator 安装不成功,但是没关系

④点击install按钮
在这里插入图片描述
⑤全部接受许可证
在这里插入图片描述
在这里插入图片描述

这样子就完成了,然后点击install,等待安装…
在这里插入图片描述
PS:中间可能会更新avd和sdk的话那就重启一下SDK,然后继续下载
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
下载完成!

4、创建模拟器avd

① 打开AVD Manager.exe
在这里插入图片描述
② 创建新的模拟器(以Android7.0 armeabi-v7a 为例)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置完成。

4、解压openssl

① 将刚下载的android_openssl-master.zip复制并解压到"D:\Android_tool\OpenSSL"下
在这里插入图片描述

三、搭建QT Android编译环境

① 打开QT5.15.2,找到菜单栏 -> 编辑 -> preferences
打开刚才安装过的SDK Manager.exesdk path的路径 拷贝到 QT的Android SDK的路径
在这里插入图片描述
在这里插入图片描述
② 点击设置SDK按钮
下载SDK工具包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就安装完毕了。

③ QT配置OpenSSL
将刚才解压的Openssl文件路径放到QT设置上
在这里插入图片描述
在这里插入图片描述
④ 解决 安卓设置存在错误
在这里插入图片描述
这个原因很多csdn都有说过(可参考文https://blog.csdn.net/yy_xzz/article/details/132135255)
出现的问题如下:
×Android SDK Command-line Tools run.
×Android Platform-Tools installed.
问题显示,cmdline tools工具已经安装,但是没有运行,android platform sdk没有安装,需重新下载旧版本的cmdtools 替换最新版本,问题得到解决。

所以将刚解压的“commandlinetools-win-9123335_latest”里面的cmdline-tools文件夹下所有文件都替换到sdk下的cmdline-tools\latest

在这里插入图片描述
重新打开QT,进入刚才的首选项界面
在这里插入图片描述
在这里插入图片描述
等待安装完毕!
在这里插入图片描述
这样的界面就算是配置成功了

四、调试第一个Android例子

1、尝试第一次编译

①菜单栏 ->文件 ->new project…
在这里插入图片描述
项目名称、路径任意,剩下的就默认设置
在这里插入图片描述
②尝试编译
在这里插入图片描述
在这里插入图片描述
如果有遇到问题可以往下继续看.

2、Android QT编译出错可能问题与解决方法(我曾经遇到的问题)

①未设景有效部署设备。
在这里插入图片描述
解决方法:
在AVD Manager.exe里面创建一个模拟器,可以翻到上门有AVD创建教程(如果跟着这次教程走不会出现这个问题)

②部署设备"XXXX"不支持套件架构
套件支持arm64-v8a”,但设备使用“armeabi-v7a,armeabi”。
在这里插入图片描述
解决方法:
找到kit,找构建的步骤里面设置勾上armabi-v7a
在这里插入图片描述

③问题一:模拟器缺失
已给安装的安卓 SDK 安装缺失的模拟器工具()
在这里插入图片描述
解决方法:将emulator的工具下载安装
在这里插入图片描述
在这里插入图片描述

④ 编译时出现
# include <type traits>type traits' file not found
[arm64-v8a mainobj] Error 1
在这里插入图片描述
解决方法:
1、有可能像网上说的NDK问题,换一个版本就好
2、有可能是构建出问题,需要取消arm64-v8a
在这里插入图片描述

⑤编译的过程中非常慢
Downloading https://services.gradle.org/distributions/gradle-5.6.4-bin.zip 下载非常慢
在这里插入图片描述
解决方法:参考
进入构建目录下找到“build.gradle”文件,修改为

buildscript {repositories {#google()#jcenter()maven{url'https://maven.aliyun.com/repository/google'}maven{url'https://maven.aliyun.com/repository/public'}}dependencies {classpath 'com.android.tools.build:gradle:3.6.0'}
}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
⑥编译的过程出现
FAILURE:Build failed with an exception .
* Where:
Build file 'D: \XXX\ build-AndroidT1-Qt_5_15_2_Clang_Multi_Abi_59c420-Debug android-build build.gradle` line: 20
在这里插入图片描述
解决方法:参考
是因为gradle版本太高了,将 gradle 降低版本即可,编译就好了。如果不知道改为哪个版本,就新建一个项目,看看是什么版本的,直接改为相应的版本即可。
进入构建目录下找到“build.gradle”文件,修改classpath为自己正确的版本,
在这里插入图片描述

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

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

相关文章

微信小程序UI自动化测试实践:Minium+PageObject

小程序架构上分为渲染层和逻辑层&#xff0c;尽管各平台的运行环境十分相似&#xff0c;但是还是有些许的区别&#xff08;如下图&#xff09;&#xff0c;比如说JavaScript 语法和 API 支持不一致&#xff0c;WXSS 渲染表现也有不同&#xff0c;所以不论是手工测试&#xff0c…

AI:50-基于深度学习的柑橘类水果分类

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

【C语法学习】16 - fclose()函数

文章目录 1 函数原型2 参数3 返回值4 示例 1 函数原型 fclose()&#xff1a;关闭已打开的文件&#xff0c;并刷新缓冲区&#xff0c;函数原型如下&#xff1a; int fclose(FILE *stream);2 参数 fclose()函数只有一个参数stream&#xff1a; 参数stream是一个指向FILE类型结…

【精】UML及软件管理工具汇总

目录 1 老七工具&#xff08;规划质量&#xff09; 1.1 因果图&#xff08;鱼骨图、石川图&#xff09; 1.2 控制图 1.3 流程图:也称过程图 1.4 核查表:又称计数表 1.5 直方图 1.6 帕累托图 1.7 散点图&#xf…

【51单片机】LED与独立按键(学习笔记)

一、点亮一个LED 1、LED介绍 LED&#xff1a;发光二极管 补&#xff1a;电阻读数 102 > 10 00 1k 473 > 47 000 2、Keil的使用 1、新建工程&#xff1a;Project > New Project Ctrl Shift N &#xff1a;新建文件夹 2、选型号&#xff1a;Atmel-AT89C52 3、xxx…

349.两个数组的交集+350.两个数组的交集II(set/multiset)

目录 一、349.两个数组的交集 二、350.两个数组的交集II 一、349.两个数组的交集 349. 两个数组的交集 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {//…

3D模型格式转换工具HOOPS Exchange对工业级3D产品HOOPS的支持与应用

一、概述 HOOPS Exchange是一套高性能模型转换软件库&#xff0c;可以给软件提供强大的模型的导入和导出功能&#xff0c;我们可以将其单独作为转换工具使用&#xff0c;也可以将其集成到自己的软件中。 同样&#xff0c;HOOPS 的其它产品&#xff0c;也离不开HOOPS Exchange…

[LeetCode]-876.链表的中间结点-206.反转链表-21.合并两个有序链表-203.移除链表元素

目录 876.链表的中间结点 题目 思路 代码 206.反转链表 题目 思路 代码 21.合并两个有序链表 题目 思路 代码 203.移除链表元素 题目 思路 代码 876.链表的中间结点 876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/mi…

Sentinel热点参数限流动

什么是热点 限流是统计访问某个资源的所有请求&#xff0c;判断是否超过QPS阈值。而热点参数限流是分别统计参数值相同的请求&#xff0c;判断是否超过QPS阈值。 何为热点&#xff1f;热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据&am…

Vue3问题:如何实现组件拖拽实时预览功能?

前端功能问题系列文章&#xff0c;点击上方合集↑ 序言 大家好&#xff0c;我是大澈&#xff01; 本文约3000字&#xff0c;整篇阅读大约需要5分钟。 本文主要内容分三部分&#xff0c;第一部分是需求分析&#xff0c;第二部分是实现步骤&#xff0c;第三部分是问题详解。 …

怎样做好金融投资翻译

我们知道&#xff0c; 金融投资翻译所需的译文往往是会议文献、年终报表、信贷审批等重要企业金融资料&#xff0c;其准确性事关整个企业在今后一段时期内的发展战略与经营成效。尤其像年报&#xff0c;对于上市公司来说更是至关重要的。那么&#xff0c;怎样做好金融投资翻译&…

Spring Boot 面试题——自动装配

目录 Spring Boot 中的自动装配是指什么&#xff1f;解决了什么问题&#xff1f;Spring Boot 自动装配的流程有哪些&#xff1f;Spring Boot 中实现自动装配的原理是什么&#xff1f;Spring 中的 ConfigurationClassPostProcessor 类有什么作用&#xff1f;Spring Boot 自动装配…