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.exe 将 sdk 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为自己正确的版本,
相关文章:

QT5.15.2搭建Android编译环境及使用模拟器调试(全)
一、安装QT5.15.2 地址:下载 我电脑的windows的,所以选windows 由于官方安装过程非常非常慢,一定要跟着步骤来安装,不然慢到怀疑人生 1)打开"命令提示符"(开始 -> Windows 系统 -> 命令…...

npm install报 ERESOLVE unable to resolve dependency tree
三四年前的一个项目,打开,npm install 一下,结果报 ERESOLVE unable to resolve dependency tree。 以前install都一切顺利,现在就不行,那很大的可能是npm的版本不同。 PS D:\workSpace\code\*-admin-ui-master> n…...

CentOS 7上创建Python 3虚拟环境
在CentOS 7上创建Python 3虚拟环境可以使用virtualenv包。以下是创建Python 3虚拟环境的步骤: 确保已经安装了Python 3和pip。可以通过在终端中运行以下命令来检查它们是否已安装: python3 --version pip3 --version如果未安装,请使用以下…...

B端设计必看的9个开源组件库,值得收藏!
如果你想开发一款To B Web端产品,如何选择令人眼花缭乱的开源组件库?行业团队常用的B端开源组件库是什么?今天,我们将为您带来入门级开源组件库的介绍。你可以先有一个大致的了解,希望能对你有所帮助。未来,…...

王坚院士:云计算与 GPT 的关系,就是电和电动机的关系
无论是行业,还是阿里,都身处巨变时。已经年过六十的王坚院士,重回阿里,重回大众视野,今年以来,在多个场合都能够看到他的身影。 而每一次他的分享,都值得我们细细品味。 以下为王坚院士在 202…...

Git代码合并流程规范
...

编译cef114.2 with h264
按照下面网页要求安装VS和SDK https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md#markdown-header-development Win 10 deployment, Win 10 build system w/ VS2022 17.5, Win 10.0.22621 SDK, Ninja rem 配置winsock科学上网 netsh winhttp set prox…...

A股风格因子看板 (2023.11第01期)
该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第01期,指数组合数据截止日2023-10-31,要点如下 近1年A股风格因子收益走…...

Session+Cookie实现登录认证
使用 Session 和 Cookie 实现登录认证的流程通常包括以下步骤: 1. 登录认证流程 用户登录: 用户在登录页面输入用户名和密码。 服务器验证用户的凭证(用户名和密码)是否正确。 创建会话(Session)…...

mac matplotlib显示中文
以下默认字体,在mac ventura上测试能成功显示中文: import matplotlib.pyplot as plt import matplotlib#from matplotlib import font_manager #plt.rcParams[font.sans-serif] [Heiti TC]#plt.rcParams[font.sans-serif] [Songti SC]#plt.rcParams[f…...

python自动化测试模板
1:准备html模版 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>接口自动化…...

MySQL 外连接和内连接的查询优化怎么做?
目录 1. 表连接方式的分类和需要注意的细节 2. 表连接时底层做了什么事? 3. 左外连接优化方案 4. 内连接优化方案 1. 表连接方式的分类和需要注意的细节 多表连接查询,大体上可以分为内连接与外连接。 内连接的意思就是把两个表有关联的部分都取出…...

Web自动化测试 —— cookie复用
一、cookie简介 cookie是一些数据,存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时,在链接关闭后,服务端不会记录用户信息 二、为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入若用例需要经常执行&…...

Java自学第1课:安装JDK+Eclipse
1 引言 在学习前,我想说一句,那就是为什么要学习Java。 每个人的出发点都不同,对于做信息化的工程技术人员来说,java不懂,就没法干项目。 尽管有c和matlab等基础,但java看起来与这些语言都不太一样。 做…...

zabbix6.4监控centos
1、关闭防火墙 setenforce 0 #关闭SELinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #设置永久关闭SELinux systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service …...

炫云客户端信用额度如何修改?
现在炫云新注册用户信用额度是100元,但是有人觉得信用额度太高了,想修改信用额度,不知道炫云的信用额度如何修改,今天就教大家如何修改炫云的信用额度。炫云的信用额度在炫云官网和客户端都可以修改。 我们先来看炫云官网如何修改…...

windows jar包文件默认打开方式设置
1、管理员权限打开“注册表编辑器”; 2、定位到计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts项下,找到.jar项,再选中UserChoice项,其中ProgId值为jarfile 3、定位到计算机\HKEY_CLAS…...

高并发和存储之间的关系是什么?
文章目录 🔊博主介绍🤖博主的简介📥博主的目标 🥤本文内容🍊 一、高并发对存储的压力🍊 二、存储的性能和可扩展性 📢总结 🔊博主介绍 📕我是廖志伟,一名Java…...

Antv/G2 图表坐标轴文字过长时添加省略号
// 格式化文字,超过长度添加省略号chart.axis(city, {label: {formatter: (text) > {// 字符太长添加省略号return text.length > 5 ? ${text.slice(0, 5)}... : text;}}})完整 demo: <!DOCTYPE html> <html lang"en"> &l…...

pycharm更改远程服务器地址
一、问题描述 在运行一些项目时,我们常需要在pycharm中连接远程服务器,但万一远程服务器的ip发生了变化,该如何修改呢?我们在file-settings-python interpreter中找到远程服务器,但是发现ip是灰色的,没有办…...

海康监控摄像机和录像机接入LiveMedia GB28181平台实现远程调取监控视频
海康威视各种型号监控摄像头或硬盘录像机(NVR/HVR)接入LiveMedia GB28181平台配置过程都非常简单明了,但有些细节需要注意,避免走弯路。 1、基本要求 (1) 网络要求 总体来说,只要监控设备和GB28181平台的网络是连通…...

一文全览各种 ES 查询在 Java 中的实现
2 词条查询 所谓词条查询,也就是ES不会对查询条件进行分词处理,只有当词条和查询字符串完全匹配时,才会被查询到。  2.1 等值查询-term 等值查询,即筛选出一个字段等于特定值的所有记录。  SQL&…...

Centralized Feature Pyramid for Object Detection解读
Centralized Feature Pyramid for Object Detection 问题 主流的特征金字塔集中于层间特征交互,而忽略了层内特征规则。尽管一些方法试图在注意力机制或视觉变换器的帮助下学习紧凑的层内特征表示,但它们忽略了对密集预测任务非常重要的被忽略的角点区…...

unity中meta文件GUID异常问题
错误信息: The .meta file Assets/Scripts/Editor/ConvertConfigToBinary/TxtConverter.cs.meta does not have a valid GUID and its corresponding Asset file will be ignored. If this file is not malformed, please add a GUID, or delete the .meta file and…...

【k8s】pod集群调度
调度约束 Kubernetes 是通过 List-Watch **** 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。…...

MathType数学公式编辑器2024官方最新版
Mathtype是一款数学公式编辑器,它可以帮助我们在文档中插入各种复杂的数学公式,使得我们的文档更加专业、规范。在使用Mathtype工具时,我们可以采取以下几种方法: 1. 鼠标直接点击插入公式 打开Mathtype后,在需要插入公…...

Android照搬,可删
1private void initview() {myradioGroup (RadioGroup) this.findViewById(R.id.MainActivity_RadioGroup);//通过id找到UI中的单选按钮组 2res getResources();// 得到Resources对象,从而通过它获取存在系统的资源 icon_home_true res.getDrawable(R.mipmap.ic…...

2022最新版-李宏毅机器学习深度学习课程-P26 自注意力机制
一、应用情境 输入任意长度个向量进行处理。 从输入看 文字处理(自然语言处理) 将word表示为向量 one-hotword-embedding声音信号处理 每个时间窗口(Window, 25ms)视为帧(Frame),视为向量图 每个节点视为…...

【Docker】Linux路由连接两个不同网段namespace,连接namespace与主机
如果两个namespace处于不同的子网中,那么就不能通过bridge进行连接了,而是需要通过路由器进行三层转发。然而Linux并未像提供虚拟网桥一样也提供一个虚拟路由器设备,原因是Linux自身就具备有路由器功能。 路由器的工作原理是这样的ÿ…...

C语言 DAY10 内存分配
1.引入 int nums[10] {0}; //对 int len 10; int nums[len] {0}; //错 是因为系统的内存分配原则导致的 2.概述 在系统运行时,系统为了更好的管理进程中的内存,所以将内存进行了分配,其分配的机制就称为内存分配 1.静态分配原则 1.特点 1、在程序…...