记录:Qt Creator 10配置安卓开发环境

2023-10-29

Qt Creator 现在的安卓开发环境配置相比老版本方便了不少,本文以目前在线安装版的 Qt Creator 10.0.2 + Qt 5.15 / Qt 6.5 为例做演示(有些文件可能会因为网络问题需要科学上网才能下载)。

1.下载 JDK 

https://adoptium.net/zh-CN/temurin/releases/

Oracle 的 JDK 有商业授权问题,所以直接下 OpenJDK 就行了。如果用 JDK 8 或 11 的话,目前的 Android SDK Command-line Tools (latest, 当前版本 11) 会报错;如果用 JDK 17 的话,编译 Qt 5.15 的程序会报 NoClassDefFoundException 错,Qt 6.5 可以用。如果是想用 JDK 8,可以先配置好 SDK 再单独下载旧版本 Command-line Tools 替换到原来的 latest;也可以用 JDK 17 配置 SDK 好后,把安卓 SDK 路径下的 Command-line Tools 换成低于 9(不包含) 的版本,文件夹还是用原来的 latest 命名。

目前的 IDE 都有独立的路径设置,所以 JAVA_HOME 环境变量不用设置,但是考虑到别的工具会用到,我还是加上了:

新建变量 JAVA_HOME,值为 JDK 路径

Path 添加 %JAVA_HOME%\bin

2.在 Qt Creator 中下载安卓 SDK

在 Qt Creator 菜单栏选中 【编辑】【Preferences】打开对话框,找到 【设备】【Android】设置页。

1.先选中我们的 JDK 路径;

2.然后选中安卓 SDK 路径,可以是空目录自动下载或者用已有的 SDK;

2.点设置 SDK 会弹出下载 SDK 工具包的对话框,直接一键下载(如果 JDK 版本过低下载  Command-line Tools 会报错)。

也可以单独下载这些工具包:

[Packages to be installed:]
   Android SDK Platform-Tools
   Android SDK Platform 31
   NDK (Side by side) 21.3.6528147
   NDK (Side by side) 25.1.8937393
   Android SDK Build-Tools 31
   Google USB Driver(真机调试用 USB,虚拟机调试用 Emulator)
   Android SDK Command-line Tools (latest) 

对于没在自动下载列表里的,可以点 【SDK 管理器】打开下载项页面。 

如果 Command-line Tools (latest) 版本过高导致报错:

可以单独下载旧版本替换到原来的 latest(SDK 目录下 cmdline-tools 文件夹),如: 

"sdk_tools_url": {
"linux": "https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip",
"linux_sha256": "0bebf59339eaa534f4217f8aa0972d14dc49e7207be225511073c661ae01da0a",
"windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip",
"windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d",
"mac": "https://dl.google.com/android/repository/commandlinetools-mac-9123335_latest.zip",
"mac_sha256": "d0192807f7e1cd4a001d13bb1e5904fc287b691211648877258aa44d1fa88275"
}

这是 Qt Creator 配置文件中的链接,对应 cmdlinetools 8,支持 JDK 8。Qt 自动下载时实际下载的是最新版本,不是配置链接中的版本。   

全都下载下来后,点击应用使之生效,此时 Qt Creator 构建套件里安卓套件就可用了。

3.创建 Android 项目

新建项目时选择安卓,用默认生成的模板构建,他会自动下载 gradle-5.6.4-bin,但是根据我的经验没开代理他是下载不下来的,我们直接用【编译输出】打印的链接自行下载即可:

https://services.gradle.org/distributions/gradle-5.6.4-bin.zip

下载好后放到他默认生成的目录,也可以用环境变量 GRADLE_USER_HOME 指定路径。

如果能正常编译,此时可以连手机真机调试,如果是 Release 生成 apk 需要签名,我们在项目的构建设置里生成并使用签名即可。

这里有个小问题就是我没找到他记住密码的选项,导致每次打开项目都要重新输入签名的密码才能用。 

4.后记

2023-08-03:

不得不说安卓是真的狗,才过两个月 cmdlinetools latest 就从 9 变成了 11,JDK 11 直接不兼容了,得用 JDK 17,配置 Qt5 还得单独下载命令行工具替换 latest。 

5.参考

博客:Qt5.15.2安卓Android项目开发环境配置_千城忆梦的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记录:Qt Creator 10配置安卓开发环境 的相关文章

随机推荐

  • 南开大学软件学院2021年秋季学期研究生算法课程(复习)非确定算法:随机与近似

    非确定算法 随机与近似 确定性算法Deterministic algorithms 对于给定的输入 算法的输出和运行时间不变 非确定性算法Non deterministic algorithms 对于给定的输入 算法的输出或运行时间是不确定
  • Arduino无人机四轴飞行器(esp8266)

    想要更多项目私wo 一 电路设计 硬件组成 Arduini Nan ESP8266 MPU6050 模块 有刷电机 螺旋桨 电池包 Si2302场效应管 无人机架 ESP8266模块 为了与无人机通信 我们需要蓝牙或WIFI连接 所以我们使
  • linux下Zlib的安装与使用

    1 zlib简介 zlib 适用于数据压缩的函式库 由Jean loup Gailly 负责compression 和 Mark Adler 负责decompression 开发 zlib被设计成一个免费的 通用的 法律上不受阻碍 即没有被
  • ARM编译Qt程序报错pinyin.cpp:1: error: stray ‘\357‘ in program

    ARM编译Qt程序报错pinyin cpp 1 error stray 357 in program 问题 Qt程序用gcc编译可以通过 用arm linux gcc编译文件的时候出现异常错误 pinyin cpp 1 error stra
  • 西瓜书学习笔记day2

    模型评估与选择 一 经验误差与过拟合 错误率 分类错误的样本数占样本总数的比例 在m个样本中共有a个样本分类错误 则错误率E a m 精度 1 a m 误差 学习器实际预测输入与样本的真实输出之间的差异定义为误差 在训练集中的误差被称为训练
  • 简单写一个随机在一个三维区域生成球的matlab函数

    1条消息 使用MATLAB在给定矩形区域随机绘制任意个不相交的圆 风一样的航哥的博客 CSDN博客 以上博客自从发表以来好几个同学都问我 三维的怎么实现 今天下班之后 就写一个 不知道是不是其他同学需要的 先上代码 function plo
  • Qt学习: QCloseEvent关闭事件的使用及代码示例

    QCloseEvent事件是指 当你鼠标点击窗口右上角的关闭按钮时 所触发的函数 如果你没有重写virtual closeEvent QCloseEvent event 这个虚函数的话 系统是默认接受关闭事件的 所以就会关闭窗体 但有的时候
  • ImportError: libcudart.so.10.0:cannot open shared object file: No such file or direct【mmdetection错误】

    问题 在使用mmdetection做训练的时候 出现错误 gt gt gt from mmdet apis import init detector Traceback most recent call last return bootst
  • 【IDEA】idea设置默认maven配置, 避免每次设置maven

    环境 IDEA 2018 2021 场景 每次导入新项目是 经常需要重新设置maven 非常麻烦 方案 idea设置默认maven配置 避免每次设置maven 方法 Step 1 打开Settings File gt Other Setti
  • cartographer 参数理解

    参考文章 cartographer参数调整 xjEzekiel 博客园 cartographer探秘第一章之安装编译与参数配置 李太白lx的博客 CSDN博客 cartographer 涉及到的参数需要增加删除或者修改尽量在velodyne
  • mysql connector net 5.0_mysql 数据库和net 的版本动态库搭配问题

    Connector NET 1 0 includes support for MySQL Server 4 0 4 1 and 5 0 features and full compatibility with the ADO NET dri
  • python实现弹球小游戏

    跟着趣味开发python一起实现的弹球小游戏 游戏运行效果 实现流程 1 创建游戏画布 创建ball类 2 增加几个动作 让小球移动 让小球来回反弹 改变小球的起始方向 3 加上球拍 使球拍左右移动 循环移动 4 增加输赢因素 对小球位置进
  • 运动补偿 & 运动估计

    运动补偿是一种描述相邻帧 相邻在这里表示在编码关系上相邻 在播放顺序上两帧未必相邻 差别的方法 具体来说是描述前面一帧 相邻在这里表示在编码关系上的前面 在播放顺序上未必在当前帧前面 的每个小块怎样移动到当前帧中的某个位置去 这种方法经常被
  • Effective Modern C++ Item 20 对于类似std::shared_ptr但有可能悬空的指针,使用std::weak_ptr

    如果需要某种智能指针能够像std shared ptr一样方便 但又无需参与管理所指涉到的对象的共享所有权的话 就很好适合用std weak ptr 但这样的功能同样会带来一个问题 这种指针需要处理一个对std shared ptr而言不是
  • softmax分类器_Softmax 理解

    Softmax深入理解 译 AIUAI www aiuai cn Pytorch的交叉熵nn CrossEntropyLoss在训练阶段 里面是内置了softmax操作的 因此只需要喂入原始的数据结果即可 不需要在之前再添加softmax层
  • OpenWrt-SDK-编译生成ipk软件包

    版本 Barrier Breaker 类型 brcm2708 下载SDK http downloads openwrt org barrier breaker 14 07 brcm2708 generic OpenWrt SDK brcm2
  • linux部署vue项目

    命令行进入配置文件 vi usr local nginx conf nginx conf 输入i进行修改端口号和文件路径 按ESC保存后输入 wq退出 进入sbin启动nginx cd usr local nginx sbin nginx
  • FMC164-基于JESD204B的4路1Gsps AD 4路1.25Gsps DA FMC子卡

    板卡介绍 FMC164子卡集成4通道1Gsps采样率 16位AD 4通道1 25Gsps 16位DA 板载时钟芯片HMC7044 可以提供JESD204B所需要的各种时钟 具有同步 触发功能 模拟信号采用SSMC射频连接器输入和输出 板卡可
  • es 修改mappings字段结构

    es不支持直接修改mappings字段结构 可以通过 reindex 重建索引 方式修改 POST reindex source index old index dest index new index op type create Ela
  • 记录:Qt Creator 10配置安卓开发环境

    Qt Creator 现在的安卓开发环境配置相比老版本方便了不少 本文以目前在线安装版的 Qt Creator 10 0 2 Qt 5 15 Qt 6 5 为例做演示 有些文件可能会因为网络问题需要科学上网才能下载 1 下载 JDK htt