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

Win10 QT 配置Android开发环境-jdk/sdk/gradle

原文链接:QT 配置Android开发环境-jdk/sdk/gradle

可用配置:

QT-6.5.3+6.6.3
ndk-25.X
内置sdk 自动下载的api 和build tools platform tools
gradle-只能要什么版本下什么

总之一句话:出现问题直接换QT

前言

QT开发android是可行的,QT拥有非常强的跨平台能力,能使用C++开发几乎全平台的应用,但是环境配置坑挺多的.

本次提供了QT6安装配置环境到完成app打包运行的整个过程,但是注意时效,因为qt的版本一直在变

下载需要的文件

1 QT installer

QT6的开源版是免费的,可以下载在线的installer 链接

可能链接会换,如果换了就不建议参考本方案了

QT android兼容文档

java 和android环境

jdk17 本方案选择 版本不一样要求,没啥大问题
JDK17

sdk tools是android的包下载工具,只提供了v24版,最新的tools是集成在android studio里,没有单独的GUI软件

可以不用下载,QT内置集成了sdk tools的下载方式
sdk tools

gradle

QT android 最大的问题在于gradle, 编译的时候100%会卡这,到时候需要下载很多版本的gradle
腾讯源

open ssl

QT可能会报open ssl下载失败,可以先下载

java环境配置

这就不讲了,自己搜

QT安装 组件选择

QT安装选择组件[本方案]
不一定全部一样,版本不一样正常,后面出了问题不要较真,直接换其他版本QT,不要直接用最新版本的
QT:
QT6.6.3: MinGW, Android,
QT6.5.3: MSVC 2019 ARM 64 TP, MSVC 2019 64-bit, Android

其他不用变

QT 配置android

在工具>外部>配置>设备>找到android配置

按QT要求来,
1 配置jdk
2 下载内置sdk tools,一般默认下载一个可用配置
3 这时候可能报错 会报ssl下载失败,手动下载,直接放在sdk的根目录下面 会自动检测

在工具>外部>配置>Kit组件中查看,是否有Android X86 X64 arm这些项,保证不出现感叹号

出现了直接卸载 换QT版本

android项目构建

解决QT环境后,选择一个example 标了android的示例(如In-app purchasing demo),竖屏的就行.

打开后,等待加载

选择左侧的项目,找到选择的android编译器,找到"构建安卓 APK",点击详情,创建一个模板,就是AndroidManifest.xml,填写应用的版本名称的,乱填没啥影响

点击build编译构建

卡gradle 编译问题

卡gradle有很多的类型,一般都是访问gradle失败或者下载太慢

找到用户的隐藏目录.gradle, 如果发现gradle.properties里面有国内的镜像IP直接注释了,这个访问不了的.

在.gradle\wrapper\dists里面放了所有版本的gradle

直接在上面腾讯镜像下载对应的gradle,在对应版本的bin文件夹如gradle-8.0-bin/ca5e32bp14vu59qr306oxotwh/下面把zip文件(改名为gradle-8.0-bin.zip),解压到同级文件夹gradle-8.0

重新构建一般就能通过了,去项目文件夹下的build/android-build/debug下面就能找到apk文件到手机上运行

相关文章:

  • 探究Spring的单例设计模式--单例Bean
  • 25中国烟草校园招聘面试问题总结 烟草面试全流程及面试攻略
  • 国外电商系统开发-需求记录
  • 【C++】异常处理
  • Android Stuido中编译信息出现乱码的解决方式
  • ClickHouse | 查询
  • C++ | Leetcode C++题解之第446题等差数列划分II-子序列
  • 最大正方形 Python题解
  • 第二十三节:学习拦截器或者使用AOP实现用户token参数请求检测(自学Spring boot 3.x的第六天)
  • IDEA几大常用AI插件
  • springboot+satoken实现刷新token(值变化)
  • STL之stackqueue篇(上)探索C++ STL中的Queue与Stack——构建数据处理的基础框架
  • django drf to_representation
  • NVIDIA Hopper 架构深入
  • 刷题学习日记 (1) - SWPUCTF
  • 收藏网友的 源程序下载网
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Apache Spark Streaming 使用实例
  • JAVA并发编程--1.基础概念
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • PHP那些事儿
  • V4L2视频输入框架概述
  • vue-cli在webpack的配置文件探究
  • 分布式事物理论与实践
  • 前端面试题总结
  • 浅谈web中前端模板引擎的使用
  • 软件开发学习的5大技巧,你知道吗?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 我的业余项目总结
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 如何在招聘中考核.NET架构师
  • #### golang中【堆】的使用及底层 ####
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (4)STL算法之比较
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (done) 两个矩阵 “相似” 是什么意思?
  • (rabbitmq的高级特性)消息可靠性
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (九十四)函数和二维数组
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (未解决)macOS matplotlib 中文是方框
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)关于多人操作数据的处理策略
  • .gitignore文件_Git:.gitignore
  • .net core docker部署教程和细节问题
  • .NET 反射 Reflect
  • .NET6 命令行启动及发布单个Exe文件
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .考试倒计时43天!来提分啦!
  • /bin/rm: 参数列表过长"的解决办法