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

Qt Creator 配置 Android 编译环境

Qt Creator 配置 Android 编译环境

  • 环境
  • 配置流程
    • 下载JDK
    • 修改Qt Creator默认android配置文件
      • 修改sdk_definitions.json配置
        • 修改的内容
      • Qt Creator配置
      • 异常处理
        • 删除提示占用
        • 编译报错

环境

  • Qt Creator 版本 qtcreator-16.0.1
  • Win10
    嗯, Qt这个开发环境有点难折腾,搞了我三天…

配置流程

下载JDK

5.15.2 需要下载的jdk为JDK11

修改Qt Creator默认android配置文件

这里为什么要修改,是因为每个版本的Qt Creator中的sdk_definitions.json配置都不一致,但是我们Qt版本为5.15.2,且Qt Android 编译环境要求一致性比较高.

修改sdk_definitions.json配置

路径

C:\Qt\qtcreator-16.0.1\share\qtcreator\android

原始内容

{"common": {"sdk_tools_url": {"linux": "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip","linux_sha256": "2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258","windows": "https://dl.google.com/android/repository/commandlinetools-win-11076708_latest.zip","windows_sha256": "4d6931209eebb1bfb7c7e8b240a6a3cb3ab24479ea294f3539429574b1eec862","mac": "https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip","mac_sha256": "7bc5c72ba0275c80a8f19684fb92793b83a6b5c94d4d179fc5988930282d7e64"},"sdk_essential_packages": {"default": ["platform-tools", "cmdline-tools;latest", "emulator"],"linux": [],"mac": [],"windows": ["extras;google;usb_driver"]}},"specific_qt_versions": [{"versions": ["6.4"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;23.1.7779620", "platforms;android-31"]},{"versions": ["6.3", "6.2", "5.15.[9-20]"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;22.1.7171670", "platforms;android-31"]},{"versions": ["5.15.[0-8]", "5.14.[0-2]", "5.13.2", "6.0", "6.1"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;21.3.6528147", "platforms;android-31"]},{"versions": ["5.12.[0-5]", "5.13.[0-1]"],"sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600", "platforms;android-28"]}]
}

修改后的内容

{"common": {"sdk_tools_url": {"linux": "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip","linux_sha256": "2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258","windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip","windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d","mac": "https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip","mac_sha256": "7bc5c72ba0275c80a8f19684fb92793b83a6b5c94d4d179fc5988930282d7e64"},"sdk_essential_packages": {"default": ["platform-tools", "cmdline-tools;8.0", "emulator"],"linux": [],"mac": [],"windows": ["extras;google;usb_driver"]}},"specific_qt_versions": [{"versions": ["6.4"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;23.1.7779620", "platforms;android-31"]},{"versions": ["6.3", "6.2", "5.15.[9-20]"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;22.1.7171670", "platforms;android-31"]},{"versions": ["5.15.[0-8]", "5.14.[0-2]", "5.13.2", "6.0", "6.1"],"sdk_essential_packages": ["build-tools;31.0.0", "ndk;21.3.6528147", "platforms;android-31"]},{"versions": ["5.12.[0-5]", "5.13.[0-1]"],"sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600", "platforms;android-28"]}]
}
修改的内容
"windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip",
"windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d",
"default": ["platform-tools", "cmdline-tools;8.0", "emulator"]

以上修改是修改cmdline-tools版本,5.15.2需要配合8.0版本

Qt Creator配置

设置好jdk路径和SDK路径,注意SDK需要的是空文件夹,纯英文原始状态
点击设置SDK
在这里插入图片描述
在这里插入图片描述
然后全部点击,理论上讲就会自动下载对应的依赖.但是…
在这里插入图片描述
遇到上图所示,代表下载错误(此处我是搭梯子也好,还是重试也好,能成功完成下载的,都是纯属运气)
多试几次吧…,因为下载的依赖中都有个package.xml,我也不知道这个东西在哪里下载,或者配置.
在这里插入图片描述
这里检查下cmdline-tools版本 8.0
在这里插入图片描述

package.xml,这个文件必须存在且路径需要是:cmdline-tools\latest,否则即使下载成功,也会报错
在这里插入图片描述
成功以后是这样的
在这里插入图片描述
在这里插入图片描述

异常处理

删除提示占用

如果删除失败提示占用结束这个进程即可
在这里插入图片描述

编译报错

如果编译报错请检查一下参数,并改为图示版本
在这里插入图片描述
将gradle版本改为3.5.1
在这里插入图片描述

将build-tools版本改为31.0.0
在这里插入图片描述
这两个参数过高会导致编译报错

相关文章:

Qt Creator 配置 Android 编译环境

Qt Creator 配置 Android 编译环境 环境配置流程下载JDK修改Qt Creator默认android配置文件修改sdk_definitions.json配置修改的内容 Qt Creator配置异常处理删除提示占用编译报错 环境 Qt Creator 版本 qtcreator-16.0.1Win10 嗯, Qt这个开发环境有点难折腾,搞了我三天… 配…...

主流编程语言中ORM工具全解析

在不同编程语言中,ORM(Object-Relational Mapping,对象关系映射)工具的设计目标都是简化数据库操作。 以下是主流语言中最常用的 ORM 工具,按语言分类介绍其特点、适用场景和典型案例。 一、Python 生态 Python 社区…...

详解RabbitMQ工作模式之发布确认模式

​​​​​​​ 目录 发布确认模式 概述 消息丢失问题 发布确认的三种模式 实现步骤 应用场景 代码案例 引入依赖 常量类 单条确认 运行代码 批量确认 运行代码 异步确认 运行代码 对比批量确认和异步确认模式 发布确认模式 概述 发布确认模式用于确保消息已…...

Power BI 实操案例,将度量值转化为切片器(动态切换分析指标)

Power BI 实操案例,将度量值转化为切片器(动态切换分析指标) 想要在Power BI中让度量值也能像维度一样灵活筛选?没问题,这里就为你揭秘如何将度量值转化为切片器(动态切换分析指标)的实用方法&…...

利用散点图探索宇航员特征与太空任务之间的关系

利用散点图探索宇航员特征与太空任务之间的关系 import matplotlib.pyplot as plt import numpy as np import pandas as pdfrom flexitext import flexitext from matplotlib.patches import FancyArrowPatchplt.rcParams.update({"font.family": "Corbel&quo…...

人工智能的哲学与社会影响

人工智能(AI)的快速发展对人类社会的方方面面产生了深远的影响。在这部分中,我们将探讨AI对人与机器关系的影响、AI对就业和经济的潜在影响,以及人类与AI共存的可能性和道德议题。同时,我们还将针对大众对AI的一些常见…...

MySQL 中 UPDATE 结合 SELECT 和 UPDATE CASE WHEN 的示例

概述 以下是 MySQL 中 UPDATE 结合 SELECT 和 UPDATE CASE WHEN 的示例: 一、UPDATE 结合 SELECT(跨表更新) 场景:根据 orders 表中的订单总金额,更新 users 表中用户的 total_spent 字段。 -- 创建测试表 CREATE T…...

FPGA前瞻篇-计数器设计与实现实例

这是本篇文章的设计目标如下所示: 这个 Counter 模块是一个LED 闪烁计数器,设计目标是: 当输入时钟 clk 为 50 MHz 时,每 0.5 秒翻转一次 LED 灯状态。 随后我们开始补充理论知识。 计数是一种最简单基本的运算,计数器…...

运行Spark程序-在Idea中(二)

(四)使用Maven创建新项目 核心的操作步骤如下: 1.启动idea,选择新建项目。 2.将Scala添加到全局库中。 3.设置maven依赖项。修改pom.xml文件,添加如下: 4.下载依赖。添加完成之后,刷新Maven,它…...

Mosaic数据增强技术

Mosaic 数据增强技术是一种在计算机视觉领域广泛应用的数据增强方法。下面是Mosaic 数据增强技术原理的详细介绍 一、原理 Mosaic 数据增强是将多张图像(通常是 4 张)按照一定的规则拼接在一起,形成一张新的图像。在拼接过程中,会…...

Kafka、RabbitMQ 和 RocketMQ区别及上手难度

Kafka、RabbitMQ 和 RocketMQ 是三种流行的消息中间件,它们在设计理念、使用场景和上手难度上有显著差异。以下是它们的核心区别和上手难度分析: 1. 核心区别 特性KafkaRabbitMQRocketMQ设计目标高吞吐、分布式日志流处理通用的消息队列,强调…...

.NET 8 + Angular WebSocket 高并发性能优化

.NET 8 Angular WebSocket 高并发性能优化。 .NET 8 WebSocket 高并发性能优化 WebSocket 是一种全双工通信协议,允许客户端和服务端之间保持持久连接。在高并发场景下,优化 WebSocket 的性能至关重要。以下是针对 .NET 8 中 WebSocket 高并发性能优化…...

SimScape物理建模实例1--单质量-弹簧-阻尼系统

实例1模型下载: 【免费】simscape单质量弹簧阻尼模型资源-CSDN文库 如下图所示单质量弹簧阻尼系统,弹簧具有初始压缩量,假设为1m, 质量块除了受到自身重力作用以外,受到弹簧拉力,以及阻尼器阻尼力,根据牛顿…...

5.5.1 WPF中的动画2-基于路径的动画

何为动画?一般只会动。但所谓会动,还不仅包括位置移动,还包括角度旋转,颜色变化,透明度增减。动画本质上是一个时间段内某个属性值(位置、颜色等)的变化。因为属性有很多数据类型,它们变化也需要多种动画类比如: BooleanAnimationBase\ ByteAnimationBase\DoubleAnima…...

JVM对象分配与程序崩溃排查

一、new 对象在 JVM 中的过程 在 JVM 中通过 new 关键字创建对象时,会经历以下步骤: 内存分配 对象的内存分配在 堆(Heap) 中,优先在 新生代(Young Generation) 的 Eden 区 分配。分配方式取决…...

基于RT-Thread驱动EEPROM_AD24C02

基于RT-Thread驱动EEPROM_AD24C02 前言一、硬件设计二、软件设计三、测试1、eeprom_test()测试2、基础操作字节实验3、多字节读写 前言 存储容量2048位,内部组织256x8(2K),即256个字节的存储单元&#xff…...

VUE中通过DOM导出PDF

最终效果 前端导出PDF的核心在于样式的绘制上,这里其实直接使用CSS进行绘制和布局就行,只不过需要计算好每页DIV盒子的大小,防止一页放不下造成样式错乱。 项目依赖 项目是Vue3 TS npm i html2canvas1.4.1 npm i jspdf3.0.1工具类(htmlToPdf…...

sql语句面经手撕(定制整理版)

一张表 店铺id 商品id 销售数量 问:查询总销售数量最多的店铺 SELECT shop_id,SUM(quantity) AS total_quantity FROM sales GROUP BY shop_id ORDER BY total_quantity DESC LIMIT 1; 学生总分名最高的 SELECT student_id,SUM(score) AS total_score FROM score…...

pdf 不是扫描件,但却无法搜索关键词【问题尝试解决未果记录】

一、不是扫描件但不能搜索的原因 1. 情况一:文字被转成了“图形文字” 有些PDF文件虽然看起来像是文字,其实是图片或者矢量图格式,不能直接搜索。 2. 情况二:PDF被加密 有些PDF设置了“内容复制/提取”权限受限,即使…...

android14优化ntp时间同步

简介 网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,提供高精准度的时间校正。 当机器的ntp时间同步出现问题时,可以从ntp配置方面进行优化&…...

【Ansible】之inventory主机清单

前言 本篇博客主要解释Ansible主机清单的相关配置知识 一、inventory 主机清单 Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。 如果是名称类似的主机,可以使用列表的方式表示各个主机…...

QT5.14安装以及新建基础项目

进入qt中文网站:Qt | 软件开发全周期的各阶段工具 额,考虑新手可能还是找不到,我就分享一下我下载的的吧 通过网盘分享的文件:qt-opensource-windows-x86-5.14.2.exe 链接:https://pan.baidu.com/s/1yQTRp-b_ISje5B3UWb7Apw?pw…...

Git 用法总结

换到新项目组后,没有好好使用git 。有点疲劳了。 不过还是建议能提尽提。少提 多提。与己方便。与人方便 1,拉取最新分支后。先不要直接改代码,可以根据修改需求。创建本地分支 git checkout -b feature/wlan 。 然后你改代码。改了后。合…...

付费专栏·Python潮流周刊电子书合集(epub、pdf、markdown)下载

付费专栏 Python 潮流周刊目前年费 148,全年约 50 期。 这里分享的是前 60 期的精美电子书,包含有多种不同版本(epub、pdf 和 markdown),免费下载(下载方式见文末)。 展示 pdf 版本的部分精美…...

o.redisson.client.handler.CommandsQueue : Exception occured. Channel

1&#xff0c; 版本 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>2.15.2</version> </dependency>2&#xff0c;问题 2025-05-12 10:46:47.436 ERROR 27780 --- [sson-netty-5-…...

养生:拥抱健康生活的全方位指南

养生是一种综合性的健康管理方式&#xff0c;旨在通过多种方法颐养生命、增强体质、预防疾病&#xff0c;以实现延年益寿的目标1。以下为你详细介绍养生的各个方面&#xff1a; 心态养生&#xff1a;塑造健康心灵的基石 保持积极心态&#xff1a;积极的心态能提升生活质量&am…...

CSS3 伪元素(Pseudo-elements)大全

CSS3 伪元素&#xff08;Pseudo-elements&#xff09;大全 CSS3 伪元素用于选择元素的特定部分&#xff0c;以双冒号 :: 开头&#xff08;CSS3 规范推荐写法&#xff0c;但单冒号 : 也支持以保持向后兼容&#xff09;。 主要 CSS3 伪元素列表 ::before 在元素内容前插入生成的…...

养生:开启健康生活的全新篇章

养生是一场关乎生活品质与身心健康的持续修行&#xff0c;从饮食调养到运动锻炼&#xff0c;从睡眠管理到心态塑造&#xff0c;每个环节都对健康有着深远影响。以下为你提供全面且实用的养生指南。 饮食养生&#xff1a;科学膳食&#xff0c;滋养生命 合理的饮食是养生的根基…...

解读RTOS:第一篇 · RTOS 基础与选型指南

1. 引言 在嵌入式系统开发中,随着产品功能的不断丰富和系统复杂度的急剧上升,裸机循环往复的 main() 与中断驱动模式已难以满足项目的实时响应、任务隔离与资源管理需求。RTOS(实时操作系统)因其对任务管理、调度和通信机制的内建支持,成为越来越多嵌入式产品的首选。本文…...

基于Vue3.0的高德地图api教程005:实现绘制线并编辑功能

文章目录 6、绘制多段线6.1 绘制多段线6.1.1 开启绘制功能6.1.2 双击完成绘制6.1.3 保存到数据库6.2 修改多段线6.2.1 点击线,进入编辑模式6.2.2 编辑线6.3 完整代码6、绘制多段线 6.1 绘制多段线 6.1.1 开启绘制功能 实现代码: const changeSwitchDrawPolyline = ()=>…...

C++ asio网络编程(5)简单异步echo服务器

上一篇文章:C asio网络编程(4)异步读写操作及注意事项 文章目录 前言一、Session类1.代码2.代码详解3.实现Session类1.构造函数2.handle_read3.介绍一下boost的封装函数和api4.handle_write 二、Server类1.代码2.代码思路详解 三、客户端四、运行截图与流程图 前言 提示&…...

VBA会被Python代替吗

VBA不会完全被Python取代、但Python在自动化、数据分析与跨平台开发等方面的优势使其越来越受欢迎、两者将长期并存且各具优势。 Python以其易于学习的语法、强大的开源生态系统和跨平台支持&#xff0c;逐渐成为自动化和数据分析领域的主流工具。然而&#xff0c;VBA依旧在Exc…...

在Web应用中集成Google AI NLP服务的完整指南:从Dialogflow配置到高并发优化

在当今数字化客服领域,自然语言处理(NLP)技术已成为提升用户体验的关键。Google AI提供了一系列强大的NLP服务,特别是Dialogflow,能够帮助开发者构建智能对话系统。本文将详细介绍如何在Web应用中集成这些服务,解决从模型训练到高并发处理的全套技术挑战。 一、Dialogflow…...

Linux服务器连接SSH工具FinalShell安装使用支持Linux文件上传下载

前言 记录连接Linux服务器SSH工具FinalShell&#xff0c;支持可视化上传下载及查看服务器负载状态 安装使用 安装地址 官网下载:https://finalshell-ssh.com/ 通过网盘分享的文件&#xff1a;shell 链接: https://pan.baidu.com/s/1ZFcD_Js-r_lE3IV8wuuA5A?pwde72f 提取码:…...

【Java ee初阶】IP协议

网络层 IP 协议 1) 地址管理 针对网络上的各种设备&#xff0c;所在的位置&#xff0c;进行描述和区分 > IP 地址 2) 路由选择 网络结构非常复杂 挑选出合适的路径 IP 协议的报文结构 ipv4 ipv6 其他版本没有大规模推广使用~~ IP 协议中&#xff0c;报头也是变长的&a…...

WSL-Ubuntu 中安装 Git LFS 记录

#记录工作 一、问题背景 在 Windows Subsystem for Linux&#xff08;WSL&#xff09;的 Ubuntu 环境下进行开发时&#xff0c;当我们需要管理 Git 仓库中的大文件&#xff0c;使用 Git LFS&#xff08;Large File Storage&#xff09;是一个很好的解决方案。但在执行git lfs…...

Ubuntu源码版comfyui的安装

Comfyui也出桌面版了&#xff0c;但是想让大家多个人都使用怎么办呢&#xff1f;也有方法&#xff0c;安装Linux版&#xff0c;启动后会生成个网页地址&#xff0c;打开就能用了。 1、先来看下本地安装环境配置&#xff1a; 系统&#xff1a;Ubuntu 22.04 内存&#xff1a;2…...

Clang实现C++文件分析,含Python实战

最近的项目&#xff0c;需要获取到C代码中的Git修改过的函数信息&#xff0c;决定通过抽象语法树AST的方式&#xff0c;分析出文件内容后&#xff0c;通过匹配git diff修改的行号信息得知是什么函数。了解到Clang 能够进行C、C代码的分析&#xff0c;记录一下。 一、Clang AST…...

MFC listctrl修改背景颜色

在 MFC 中修改 ListCtrl 控件的行背景颜色&#xff0c;需要通过自绘&#xff08;Owner-Draw&#xff09;机制实现。以下是详细的实现方法&#xff1a; 方法一&#xff1a;通过自绘&#xff08;Owner-Draw&#xff09;实现 步骤 1&#xff1a;启用自绘属性 在对话框设计器中选…...

[Git]ssh模式每次提交都要输入密码

问题描述 连接用的ssh&#xff0c;不是https。每次git提交都要输入密码&#xff0c;很麻烦。 原因分析 ssh模式需要在git服务端保存密钥&#xff0c;不然每次都会校验用户的身份。 解决方案 1.生成密钥 进到用户路径下 C:\Users\szx\, 打开bash 生成密钥&#xff1a; s…...

请解释 React Native 的新架构(Fabric 和 TurboModules)与旧架构的主要区别

React Native 的新架构&#xff08;Fabric 和 TurboModules&#xff09;是对旧架构的重大革新&#xff0c;主要解决了旧架构在性能、线程模型和原生互操作性等方面的瓶颈。以下是新旧架构的核心区别&#xff1a; 1. 线程模型与异步通信 旧架构&#xff1a; 三层线程模型&…...

大小端的判断方法

大小端&#xff08;Endianness&#xff09; 是计算机存储多字节数据&#xff08;如整数、浮点数&#xff09;时的两种不同方式&#xff0c;决定了字节在内存中的排列顺序。 1. 大端&#xff08;Big-Endian&#xff09; 高位字节存储在低地址&#xff0c;低位字节存储在高地址。…...

技术视界 | 青龙机器人训练地形详解(四):复杂地形精讲之斜坡

在前几篇文章中&#xff0c;我们依次讲解了如何创建一个地形、如何将地形添加到训练环境中&#xff0c;并在上一期深入分析了复杂地形之一——台阶地形的创建方式与训练意义。本文将继续聚焦复杂地形训练中另一类代表性地形——斜坡&#xff08;Slope&#xff09;与金字塔斜坡&…...

典籍知识问答重新生成和消息修改Bug修改

1.Bug&#xff1a; {messageId: "temp-user-1747051925999",…} messageId : "temp-user-1747051925999" newContent : "关于选中的内容&#xff1a;\"The ancient people lived long by following natural laws\"&#xff0c;我的问题是&…...

交易所开发-如何开发一个交易所

交易所开发全流程指南&#xff1a;从架构设计到合规落地 ——2025年数字资产交易平台的构建逻辑与技术实践 一、开发核心流程&#xff1a;五阶段方法论 1. 需求定位与合规先行 市场细分&#xff1a;明确交易所类型&#xff08;CEX、DEX或混合型&#xff09;&#xff0c;选择目…...

工具篇-如何在Github Copilot中使用MCP服务?

Model Context Protocol (MCP) 是由 Anthropic 公司于 2024 年 11 月推出的一种开放协议标准&#xff0c;目的在于标准化 LLM 与外部数据源、工具及服务之间的交互方式。 MCP 被广泛类比为 “AI 领域的 USB-C 接口 ”。 一、vscode的安装 下载vscode Visual Studio …...

MATLAB机器人系统工具箱中的loadrobot和importrobot

loadrobot和importrobot是 MATLAB 机器人系统工具箱中用于创建机器人模型的两个核心函数&#xff0c;它们的主要区别可以从以下几个方面来理解&#xff1a; 1. 模型来源 loadrobot 直接加载工具箱预定义的机器人模型&#xff08;如 UR5e、Panda、Kinova 等&#xff09;。这些模…...

django之视图

django vs drf 首先要区分django 和 django rest framework(drf)。 django是前后端不分离的&#xff0c;后端写模板&#xff08;template&#xff09;渲染成html之后返回给浏览器。 drf是适应前后端分离的架构&#xff0c;基于django做的封装&#xff0c;提供的rest API规范…...

深入探讨dubbo组件的实践

目录 1、dubbo概述 1.1、介绍 1.2、RPC 1.3、区别 1.4、优点 2、dubbo分层 2.1、层级分类 1. Service 服务层&#xff08;业务层&#xff09; 2. Config 配置层 3. Proxy 服务代理层 4. Registry 注册中心层 5. Cluster 集群容错层 6. Monitor 监控层 7. Protoco…...

2.1 微积分基本想法

总结性表达 微积分的核心思想在于用简单图形逼近复杂形状的面积。牛顿与莱布尼茨通过"以直代曲"的突破性思路&#xff0c;将曲线围成的面积分解为无限个矩形之和&#xff0c;形成两大核心工具&#xff1a; 极限思想&#xff1a;通过无限细分矩形底边&#xff08;Δ…...