当前位置: 首页 > news >正文

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为自己正确的版本,
在这里插入图片描述

相关文章:

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

一、安装QT5.15.2 地址&#xff1a;下载 我电脑的windows的&#xff0c;所以选windows 由于官方安装过程非常非常慢&#xff0c;一定要跟着步骤来安装&#xff0c;不然慢到怀疑人生 1&#xff09;打开"命令提示符"&#xff08;开始 -> Windows 系统 -> 命令…...

npm install报 ERESOLVE unable to resolve dependency tree

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

CentOS 7上创建Python 3虚拟环境

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

B端设计必看的9个开源组件库,值得收藏!

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

王坚院士:云计算与 GPT 的关系,就是电和电动机的关系

无论是行业&#xff0c;还是阿里&#xff0c;都身处巨变时。已经年过六十的王坚院士&#xff0c;重回阿里&#xff0c;重回大众视野&#xff0c;今年以来&#xff0c;在多个场合都能够看到他的身影。 而每一次他的分享&#xff0c;都值得我们细细品味。 以下为王坚院士在 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股风格因子&#xff0c;该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子&#xff0c;用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第01期&#xff0c;指数组合数据截止日2023-10-31&#xff0c;要点如下 近1年A股风格因子收益走…...

Session+Cookie实现登录认证

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

mac matplotlib显示中文

以下默认字体&#xff0c;在mac ventura上测试能成功显示中文&#xff1a; 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. 表连接时底层做了什么事&#xff1f; 3. 左外连接优化方案 4. 内连接优化方案 1. 表连接方式的分类和需要注意的细节 多表连接查询&#xff0c;大体上可以分为内连接与外连接。 内连接的意思就是把两个表有关联的部分都取出…...

Web自动化测试 —— cookie复用

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

Java自学第1课:安装JDK+Eclipse

1 引言 在学习前&#xff0c;我想说一句&#xff0c;那就是为什么要学习Java。 每个人的出发点都不同&#xff0c;对于做信息化的工程技术人员来说&#xff0c;java不懂&#xff0c;就没法干项目。 尽管有c和matlab等基础&#xff0c;但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元&#xff0c;但是有人觉得信用额度太高了&#xff0c;想修改信用额度&#xff0c;不知道炫云的信用额度如何修改&#xff0c;今天就教大家如何修改炫云的信用额度。炫云的信用额度在炫云官网和客户端都可以修改。 我们先来看炫云官网如何修改…...

windows jar包文件默认打开方式设置

1、管理员权限打开“注册表编辑器”&#xff1b; 2、定位到计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts项下&#xff0c;找到.jar项&#xff0c;再选中UserChoice项&#xff0c;其中ProgId值为jarfile 3、定位到计算机\HKEY_CLAS…...

高并发和存储之间的关系是什么?

文章目录 &#x1f50a;博主介绍&#x1f916;博主的简介&#x1f4e5;博主的目标 &#x1f964;本文内容&#x1f34a; 一、高并发对存储的压力&#x1f34a; 二、存储的性能和可扩展性 &#x1f4e2;总结 &#x1f50a;博主介绍 &#x1f4d5;我是廖志伟&#xff0c;一名Java…...

Antv/G2 图表坐标轴文字过长时添加省略号

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

pycharm更改远程服务器地址

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

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

负载均衡器》》LVS、Nginx、HAproxy 区别

虚拟主机 先4&#xff0c;后7...

嵌入式面试常问问题

以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...

GB/T 43887-2024 核级柔性石墨板材检测

核级柔性石墨板材是指以可膨胀石墨为原料、未经改性和增强、用于核工业的核级柔性石墨板材。 GB/T 43887-2024核级柔性石墨板材检测检测指标&#xff1a; 测试项目 测试标准 外观 GB/T 43887 尺寸偏差 GB/T 43887 化学成分 GB/T 43887 密度偏差 GB/T 43887 拉伸强度…...