Qt开发 之 记一次安装 Qt5.12.12 安卓环境的失败案例
文章目录
- 1、安装Qt
- 2、安卓开发的组合套件
- 2.1、CSDN地址
- 2.2、官网地址
- 2.3、发现老方法不适用了
- 3、尝试用新方法解决
- 3.1、先安装JDK,搞定JDK环境变量
- 3.1.1、安装jdk
- 3.1.2、确定jdk安装路径
- 3.1.3、打开系统环境变量配置
- 3.1.4、配置系统环境变量
- 3.1.5、验证JDK环境变量是否配置成功
- 3.2、配置openssl
- 3.2.1、下载openssl
- 3.2.2、使用Qt安装openssl
- 3.3、安装SDK
- 3.3.1、下载官网的 Android Studio 解压包
- 3.3.2、配置SDK系统环境变量
- 3.3.3、用Qt来尝试安装SDK工具组件
- 3.3.4、用Android Studio的应用程序试下
- 3.3.5、用原来的老SDK,更新tools版本再试下
- 4、SDK Manager各模块的作用
1、安装Qt
安装的 Qt5.12.12 版本
Qt下载地址:
https://download.qt.io/archive/qt/
安装Qt,可能会碰到“qt.tool.perl”安装程序错误,可以看我的记录解决:
Qt开发 之 安装程序错误–安装进程(qt.tool.perl)的解决办法
2、安卓开发的组合套件
- JDK
- NDK
- SDK
- openssl
注意组合套件的版本和Qt的版本要对应起来!同时,安装路径不可以有中文和空格,否则也会搭建失败!!!
| Qt version | NDK version |
|---|---|
| Qt 5.14.0 or later Qt 5.13.2 or later Qt 5.12.6 or later | NDK r20b or r21 |
| Qt 5.12.0 to 5.12.5 Qt 5.13.0 to 5.13.1 | NDK r19c |
| Qt 5.11 and earlier | NDK r10e |
2.1、CSDN地址
将相关套件我已上传到CSDN上,由于CSDN不让上传1G以上的文件,所以将套件分别上传。NDK安装Qt的版本下载哈,设置的0积分下载哈:
CSDN地址1(NDK10e):https://download.csdn.net/download/u014597198/88585832
CSDN地址1(NDK19c):
https://download.csdn.net/download/u014597198/88588233
CSDN地址1(NDK20b):
https://download.csdn.net/download/u014597198/88588246
CSDN地址2(JDK8u201):
https://download.csdn.net/download/u014597198/88588355
CSDN地址3(openssl,我18年上传的,可以不用这个,用Qt也可以)
https://download.csdn.net/download/u014597198/10241004
CSDN地址4(其他套件):
https://download.csdn.net/download/u014597198/88585864
2.2、官网地址
也可以去官方途径下载,安装这里我就不赘述了,下载和安装都很简单。
Qt官网地址(可以看下描述):
https://doc.qt.io/qt-5/android-getting-started.html
JDK下载地址:https://www.oracle.com/java/technologies/downloads/#java8
SDK下载地址:
https://www.androiddevtools.cn/
NDK下载地址:https://developer.android.google.cn/ndk/downloads/revision_history
Ant:下载地址:
http://ant.apache.org/bindownload.cgi
2.3、发现老方法不适用了
这是我本地5.9的配置

之前Qt5.9版本的方法,将我之前的sdk、jdk等拷贝到单独的文件夹下,然后配置jdk、sdk的系统环境变量,再更新下SDK manager的环境,发现已经不适用了:

在 https://www.androiddevtools.cn/ 网上下载的最新sdk tools版本已经赶不上我们的需求了,最高就到Android10(API29)。

而我们需要的是Android12(API31),明显是切入的姿势不对。

3、尝试用新方法解决
3.1、先安装JDK,搞定JDK环境变量
3.1.1、安装jdk
这里不在赘述了,安装jdk非常简单,可以直接下载jdk的包,也可以在我上面传的csdn的jdk下载地址下载现成的包直接解压哈~
3.1.2、确定jdk安装路径
将JDK的环境变量加入到系统环境变量中,此处以我的安装路径为例。

3.1.3、打开系统环境变量配置
win11,打开设置中的系统,找到系统信息,再点击高级系统设置,找到弹出窗口的环境变量进行配置。

如果电脑存在多个用户,可以创建系统变量,这样就可以在整个电脑上配置这个环境,我们这里直接在系统环境变量里面增加。

3.1.4、配置系统环境变量
新建两个系统变量:
JAVA_HOME
D:\Qt5\Android\android-jdk-8u201
CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

然后在Path变量中增加:%JAVA_HOME%\bin,并移到最上面:

3.1.5、验证JDK环境变量是否配置成功

3.2、配置openssl
3.2.1、下载openssl

3.2.2、使用Qt安装openssl
安装成功openssl

成功后截图:

3.3、安装SDK
3.3.1、下载官网的 Android Studio 解压包
Android SDK最实用的就是 作为官方指定的 Android 应用集成开发环境 Android Studio,下载安装!

配置sdk路径,发现新Sdk路径无法勾选,无法解决

3.3.2、配置SDK系统环境变量
尝试配置环境变量,看看是否能勾选

后面这3行

仍然不能勾选,怀疑可能是解压版Android studio的问题,用Qt试试
3.3.3、用Qt来尝试安装SDK工具组件
先把SDK的环境变量删除,再用Qt安装 SDK的tools组件

Qt安装SDK Tools完成后,结果只下载了一些bat脚本,并没什么卵用:


也并没有成功,可能是由于Command-line Tools (latest) 版本过高导致报错。

3.3.4、用Android Studio的应用程序试下
重新下载Android Studio的安装包,不再像上面一样下载官网的解压包,怀疑解压包有问题。

一样不能选……这

排查原因可能是JDK坏了,果然,一看命令都用不了,吐~

重装JDK,重新配置下JDK的系统环境路径还是不行,重装AndroidStudio和Qt,删除了一堆用户配置,还是不行。
3.3.5、用原来的老SDK,更新tools版本再试下
更新SDK的tools版本
链接:https://pan.baidu.com/s/1SUooarp7kewaNFe3-36qTw?pwd=p51m
提取码:p51m
然后点击Yes

接一下来一路点Yes就可以了


安装完,又开始报错,真不错~

之前重装了AndroidStudio和Qt的版本,都不行。等有时间重装系统再试试。
4、SDK Manager各模块的作用

相关文章:
Qt开发 之 记一次安装 Qt5.12.12 安卓环境的失败案例
文章目录 1、安装Qt2、安卓开发的组合套件2.1、CSDN地址2.2、官网地址2.3、发现老方法不适用了 3、尝试用新方法解决3.1、先安装JDK,搞定JDK环境变量3.1.1、安装jdk3.1.2、确定jdk安装路径3.1.3、打开系统环境变量配置3.1.4、配置系统环境变量3.1.5、验证JDK环境变量…...
基于SpringBoot的就业信息管理系统设计与实现(源码+数据库+文档)
摘 要 在新冠肺炎疫情的影响下,大学生的就业问题已经变成了一个引起人们普遍重视的社会焦点问题。在这次疫情的冲击之下,大学生的就业市场的供求双方都受到了不同程度的影响,大学生的就业情况并不十分乐观。目前,各种招聘平台上…...
Java面试整理(四)Java IO流
我记得自己刚开始学Java的时候,都听过师兄的分享,说IO流是很重要,而且很难。 自己正式接触之后,其实IO流这块知识并不是特别难,而且随着IT的发展,IO流这块反而用得不是很多。特别是在应用开发这个层面,用得更少。 当然,可能会有朋友跳出来说“这怎么可能?你不懂Java吧…...
《安富莱嵌入式周报》第328期:自主微型机器人,火星探测器发射前失误故障分析,微软推出12周24期免费AI课程,炫酷3D LED点阵设计,MDK5.39发布
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程: 【实战技能】 单步运行源码分析,一期视频整明白FreeRTOS内核源码框架和运行…...
产品经理在项目周期中扮演的角色Axure的安装与基本使用
目录 一.项目周期流程 二.Axure是什么 三.Axure安装 3.1 一键式安装 3.2 汉化 3.3 授权登录 四.Axure的界面介绍及基本使用 4.1 菜单栏的使用 4.2 工具栏的使用 4.3 页面概要的使用及组件的使用 4.4 组件的样式设计 一.项目周期流程 在一般的项目周期中包含的工作内容有&…...
Dockerfile创建镜像介绍
1.介绍 Docker 提供了一种更便捷的方式,叫作 Dockerfile,docker build命令用于根据给定的Dockerfile构建Docker镜像。 docker build语法: # docker build [OPTIONS] <PATH | URL | -> 常用选项说明 --build-arg,设置构建时的…...
Android 滥用 SharedPreference 导致 ANR 问题
SharedPreference 是 Android 平台提供的一种轻量级的数据存储方式,它用于存储应用的配置信息或者一些简单的数据。SharedPreference 基于键值对的存储,并且支持基本的数据类型,如整型、字符串、布尔值等。它的使用非常简单方便,适…...
虚幻商城 道具汇总
文章目录 载具Vehicle Variety Pack(车辆品种包)Vehicle Variety Pack Volume 2(车辆品种包第 2 卷)家具Free Furniture Pack(免费家具包)Old West - VOL 1 - Interior Furniture(旧西部 - 第1卷 - 家具包)Old West VOL.3 - Travel Supplies and Goods(旧西部 - 第3卷…...
docker: Error response from daemon: failed to create shim task: OCI runtime
1 概述 在解决"Docker: Error response from daemon: failed to create shim task: OCI runtime"问题之前,我们先来了解一下Docker和OCI runtime的基本概念。 Docker是一个开源的应用容器引擎,可以帮助开发者将应用程序和其依赖打包到一个可…...
SpringBoot+线程池实现高频调用http接口并多线程解析json数据
场景 SpringbootFastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文): SpringbootFastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文)-CSDN博客 Java中ExecutorService线程池的使用(Runnable和Callable多…...
java实现局域网内视频投屏播放(一)背景/需求
一 背景 我们在用电视上投屏电影或者电视剧时,如果没有vip,用盗版电影网站投屏的话会有两个问题,1:他们网站没有投屏功能。2:卡!!!。还有就是不能随心所欲的设置自己先要自动播放的视频列表(如…...
【Spring】手写一个简易starter
需求: 自定义一个starter,里面包含一个TimeLog注解和一个TimeLogAspect切面类,用于统计接口耗时。要求在其它项目引入starter依赖后,启动springboot项目时能进行自动装配。 步骤: (1)引入pom依赖…...
Spring Cloud Alibaba实践 --Sentinel
sentinel介绍 Sentinel的官方标题是:分布式系统的流量防卫兵。从名字上来看,很容易就能猜到它是用来作服务稳定性保障的。对于服务稳定性保障组件,如果熟悉Spring Cloud的用户,第一反应应该就是Hystrix。但是比较可惜的是Netflix…...
使用Mockjs模拟(假数据)接口(axios)
一、什么是MockJs Mock.js官网 Mock.wiki.git mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。 二、安装mockjs npm install mockjs 三、 MockJs使用 简单使用: // 使用…...
【面试常考题目】五种方法解决“如何在n个无序数组中找出它的中位数(java)”问题
1.3 从N个数组中找到中位数,每一个数组可能乱序 在LeetCode上,"寻找多个数组的中位数"这类问题通常是由两个数组合并中位数问题(即LeetCode第4题)的变种或扩展。直接对应于多个数组合并后寻找中位数的题目在LeetCode上…...
打包CSS
接上一个打包HTML继续进行CSS的打包 1.在之前的文件夹里的src文件夹创建一个css文件 2.在浏览器打开webpack——>中文文档——>指南——>管理资源——>加载CSS 3.复制第一句代码到终端 4.复制下图代码到webpack.config.js脚本的plugins:[.....]内容下…...
Java项目开发,业务比较复杂如何减少bug
Java项目开发,业务比较复杂如何减少bug 当Java开发工作涉及复杂业务时,可以采取以下方法来减少bug的数量: 1、深入了解业务需求 充分了解业务需求,与业务人员进行充分的沟通和交流,确保对需求的理解正确。在需求分析…...
[EFI]Atermiter X99 Turbo D4 E5-2630v3电脑 Hackintosh 黑苹果efi引导文件
硬件型号驱动情况主板 Atermiter X99 Turbo D4 处理器 Intel Xeon E5-2630v3 已驱动内存Desktop DDR4 2666 MHz已驱动硬盘Netac NV7000已驱动显卡AMD Radeon RX 5700xt已驱动声卡瑞昱 英特尔 High Definition Audio 控制器ALC897已驱动网卡LucyRTL8125已驱动无线网卡蓝牙Broad…...
map.getOrDefault
map.getOrDefault 是 Java 中的一个方法,用于从 Map 中获取指定键的值,如果键不存在,则返回指定的默认值。 方法签名如下: V getOrDefault(Object key, V defaultValue) 其中,key 是要获取值的键,defaul…...
vue3移动端脚手架(纯净,集成丰富)
概述 一个纯净的移动端框架 ,用到了 Vue3 vuex Vite3 Vant3 sass eslint stylelint htmlhint husky commitlint axios axios-adapter VConsole 自定义全局 loading ,自定义函数式 dialog (api模仿微信小程序)&#x…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
