Qt5.14.2 + jdk-8u201 + android-ndk-r20b + android-sdk-r24.4.1

  • 一、背景简介
  • 二、Qt环境
  • 三、JDK环境
  • JDK下载与安装
  • JDK环境变量设置
  • 四、Android NDK环境
  • Android NDK下载与安装
  • Android NDK环境变量设置
  • 五、Android SDK环境
  • Android SDK下载与安装
  • Android SDK环境变量设置
  • 六、在Qt Creator中配置JDK、NDK、SDK
  • 七、可能出现的报错
  • 首次编译时自动下载Gradle,但是下不动
  • 编译提示找不到type_traits等库,Cannot open include file: 'type_traits': No such file or directory
  • 参考文献


一、背景简介

本人为c++程序员,常用Qt,未接触过安卓开发,也不懂JAVA。某日心血来潮想开发一点用在安卓手机上的小工具,于是便尝试在Qt Creator上部署安卓开发环境,此过程较为繁琐,于是写下这篇文章作为备忘,如果此文还能顺便帮助到其他小伙伴那就更好了。

二、Qt环境

本人使用的配置是 Qt 5.14.2 + Qt Creator 4.11.1
Qt的安装方式这里不做赘述,因为如果你不是常用Qt的c++程序员,极不建议你选择使用Qt进行安卓开发,因为这是一种非主流的方式,坑多资料少。你问我为什么要这么干?因为我懒得学新语言🤣
简单贴一个Qt5.14.2版本下载地址:
http://download.qt.io/archive/qt/5.14/5.14.2

三、JDK环境

本人使用的是 8u201 版本。

JDK下载与安装

8u201版本JDK下载地址:

https://mirrors.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-windows-x64.exe 使用默认的安装选项即可,有需要的话可以更改安装位置,我这里是把JDK安装到了D盘。

qt6 android 第三方对应架构的库对应_Qt

JDK环境变量设置

  1. 在系统环境变量中添加一条,变量名:JAVA_HOME,变量值是上一步中的JDK安装路径,我这里是D:\Program Files\Java\jdk1.8.0_201(java5以后不再需要配置classpath,我们这里使用的是java8)。
  2. 在系统环境变量的Path中添加两条,第一条:%JAVA_HOME%\bin,第二条:%JAVA_HOME%\bin
  3. 在命令行中输入 java 与 javac,如果找得到命令,说明JDK的安装与配置已经成功了。

四、Android NDK环境

本人使用的是 r20b 版本。

Android NDK下载与安装

r20b版本NDK下载地址:https://dl.google.com/android/repository/android-ndk-r20b-windows-x86_64.zip 下载完毕后在自己指定的路径解压,这一步解压后我的NDK路径是 E:\android-ndk-r20b。

Android NDK环境变量设置

在系统环境变量Path中将上一步的NDK路径添加进去,我这里是:E:\android-ndk-r20b 添加完毕后,可以用命令 ndk-build 进行测试。

五、Android SDK环境

本人使用的是 r24.4.1 版本。

Android SDK下载与安装

r24.4.1版本SDK下载地址:

https://dl.google.com/android/android-sdk_r24.4.1-windows.zip 下载完毕后在自己指定路径的解压,这一步解压后我的SDK路径是 E:\android-sdk-windows

解压完毕后运行 SDK Manager.exe,根据下图[^1]选择组件进行安装

qt6 android 第三方对应架构的库对应_Android_02

Android SDK环境变量设置

  1. 在系统环境变量中添加一条,变量名:ANDROID_SDK_HOME,变量值是上一步中的SDK解压路径,我这里是E:\android-sdk-windows
  2. 在系统环境变量的Path中添加两条,第一条:%ANDROID_SDK_HOME%\tools,第二条:%ANDROID_SDK_HOME%\platform-tools
  3. 在命令行中输入adb version,如果找得到命令,说明SDK的安装与配置已经成功了。

六、在Qt Creator中配置JDK、NDK、SDK

在 Qt Creator 的菜单栏中依次选择 工具 => 选项 => 设备,在子页面中选择 Android,分别配置好JDK、SDK、NDK的路径。如果配置正确,路径下方将出现绿色的小勾。

qt6 android 第三方对应架构的库对应_Qt_03


这一步完成后,你就可以尝试在Qt上使用Android构建套件进行编译了。

七、可能出现的报错

首次编译时自动下载Gradle,但是下不动

qt6 android 第三方对应架构的库对应_qt_04

在Qt中第一次编译时,可能会自动下载gradle,而它默认的下载链接是下不动的,我们此时可以手动下载,根据需要下载的gradle的版本信息(我这里是gradle-5.5.1-bin)到下面的链接下载:

http://mirrors.cloud.tencent.com/gradle 如果你和我一样也是要下gradle-5.5.1-bin,你可以直接使用这个链接:

https://mirrors.cloud.tencent.com/gradle/gradle-5.5.1-bin.zip

在下载完成后,无需解压,直接将压缩包放到以下地址:

qt6 android 第三方对应架构的库对应_windows_05


再次编译,问题消失。

编译提示找不到type_traits等库,Cannot open include file: ‘type_traits’: No such file or directory

之前我使用的Android NDK版本是r18b,出现了该问题,经查是因为NDK版本较老,换成r20b后问题解决。

参考文献

[^1]自用笔记-Qt5.14.2开发Android环境搭建