前言
之前使用过Qt5.14.2下的安卓开发,后来想升个级使用Qt5.15.2,尝试重装Qt,配置 三天无果后,用上了Qt6.5.3,最终还是被Qt版本限制了。。。
安装环境:
- Windows 10 x64
- Qt creator 12.0.1
- Qt6.5.3
- JDK11
安装Qt
Qt5.15之后都采用在线安装方式,自定义组件安装还是很方便的。
[Qt下载链接](Download Qt OSS: Get Qt Online Installer)
运行、登录、选择对应Qt版本的组件(Android、MinGW和必要的外部库组件)、下载安装。。。
安装JDK
在Qt for Android中,一般只使用jdk8或jdk11两个版本,本Qt6.5.3使用jdk11。
[jdk下载链接](Java Archive Downloads - Java SE 11 | Oracle 中国)
选择对应系统架构下载,安装。
可自定义安装位置,安装成功会自动添加java环境变量,网上很多教程添加一堆的环境变量,没有必要。
配置环境
Qt for Android环境需要配置 JDK、SDK、NDK、OpenSSL,除了JDK其他可以自动下载安装。
1、打开Qt creator,进入首选项->设备->Android
2、指定JDK位置,对应JDK11的安装位置
3、指定一个SDK位置,一个空的文件夹即可
4、点击设置SDK,自动下载SDK和必要的组件包括NDK
5、指定一个OpenSSL位置,一个空的文件夹即可
6、点击下载OpenSSL,自动下载安装。
如果出意外的话,就会出现以下成果,配置成功。
但是多半是出问题的,不然我也不至于搞了这么久。
如果没有问题,首次编译安卓套件会自动下载gradle打包工具,也可自己设置,后续就可正常开发。
问题解决
SDK配置报错:× Android SDK Command-line Tools runs
设置SDK后,出现的错误包括其中好几个条件打叉,问题一般是Command-line Tools (latest) 版本过高导致报错,以下有两种解决方案:
1、手动下载Command-line Tools
Windows环境下,[下载链接](https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip),下载后解压缩,替换掉SDK路径->cmdline-tools->latest中的文件,重启Qt creator,重新设置SDK,得以更新Command-line Tools。
2、设置Qt定义文件,修改其latest版本
使用everything搜索sdk_definitions.json,有多处全部修改cmdline-tools的版本;把latest改成6.0或7.0,如路径:F:\QT\Tools\QtCreator\share\qtcreator\android\sdk_definitions.json
然后重新设置SDK,自动安装对应版本。
Qt版本出现错误:无法检测 Qt 版本所使用的 ABI。
看网上教程说:“这是JDK太高所出现的,要减低JDK版本”。当我配置Qt5.15.2的安卓环境时,尝试了jdk11和jdk8的各个版本,无法解决,最终安装了Qt6.5.3的Android组件才得以使用,也就是本教程记录的最终环境。但出现这个问题可以尝试修改Qt的版本。
安卓构建套件警告:no device set
这个Qt creator版本需要先设置安卓设备,可以设置虚拟安卓环境,也可以连接真机。这里使用真机调试。首先手机开启USB调试,然后使用数据线连接电脑,(有的数据线只能充电。。。),在Qt creator的首选项->设备可以识别到手机设备信息,这里可以使用WiFi连接调试更方便,最后设置Android默认设备即可。