QT Creator13是目前(2024年)最新版本,配置Android开发环境有一些不一样,走了一些弯路,记录如下。
1、安装JDK和SDK
下载安装JDK和SDK,建议安装在无空格和中文字符的目录下。
具体安装步骤不再赘述,可以翻看本人之前的文章。
安装后,打开cmd输入下面的命令,确认JDK已安装并配置。
java -version #查看java版本
javac #java编译命令
可将下载好的ndk和openssl解压到SDK安装目录下。也可以在Qt配置Android设备时下载。
2、Qt Creator设置Android设备
打开Qt Creator,通过"编辑|preference..."或“工具|外部|配置...”菜单,打开首选项对话框,在“设备|Android”选项卡中设置JDK位置和SDK路径。
SDK配置报错:× Android SDK Command-line Tools runs
设置SDK后,出现的错误包括其中好几个条件打叉,问题一般是Command-line Tools (latest) 版本过高导致报错,解决方案如下:
Windows环境下,[下载链接](https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip),下载后解压缩,替换掉SDK路径->cmdline-tools->latest中的文件(如果没有这个路径,就新建该路径)。
重启Qt creator,点击“设置SDK”,会弹出更新SDK的提示,一直点“是”,更新NDK,并更新Command-line Tools。
点击“下载OpenSSL”,会自动下载OpenSSL。
3、编译apk时卡在下载gradle中
编译apk时,会一直卡在"Downloading https://services.gradle.org/distributions/gradle-5.6.4-bin.zip"。
看到有方法说修改Qt\5.15.1\android\src\3rdparty\gradle\gradle\wrapper下的gradle-wrapper.properties文件,将distributionUrl=修改为手动下载gradle-5.6.4-bin.zip的目录。
这个方法会导致后面编译错误,无法生成apk文件。因为这个问题,耽误了不少时间。
还有一种方法时修改项目文件生成目录下的build.gradle,将下载地址修改为国内阿里云的镜像地址。试过也不行,阿里云的镜像地址要验证才能下载。
解决办法是将下载的压缩包(https://services.gradle.org/distributions/gradle-5.6.4-bin.zip)拷贝到:C:\Users\Administrator\.gradle\wrapper\dists\gradle-5.6.4-bin\bxirm19lnfz6nurbatndyydux 下。
4、compileSdkVersion is not specified
重新编译。问题还有:
* Where:
Build file 'F:\Qt\Examples\Qt-5.15.1\gui\analogclock\build\Qt_5_15_1_Clang_Multi_Abi-Debug\android-build\build.gradle' line: 37……
解决办法:
修改工程build目录下:\Qt_5_15_1_Clang_Multi_Abi-Debug\android-build的build.gradle,将compileSdkVersion指定为我们安装的SDK版本。
修改后,编译成功。
5、安装Android模拟器
可以利用Qt Creator安装,也可以利用AVD Manager安装。
不过,首先要在SDK管理器中,安装Android Emulator。
安装后,重启Qt Creator,就可以在设备中可添加Android设备了。
添加x86_64的模拟器,不能启动!
解决办法:在SDK Manager中安装Inter x86 Emulator Accelerator(HAXM installer)。
安装后,要在sdk\extras\intel\Hardware_Accelerated_Execution_Manager文件夹双击安装一下intelhaxm-android.exe。安装成功,重新启动x86_64模拟器就可以了。
不过,AVD模拟器太卡了!!
可使用逍遥或夜神模拟器。本人选择用逍遥模拟器。先去官网下载安装。
然后分别进入SDK目录下platform-tools 以及模拟器安装目录下(Microvirt\MEmu)
用cmd或者power shell打开:
.\adb.exe --version
查看两者的adb版本是否一致。若不一致,就将platform-tools下的adb.exe替换模拟器的adb.exe(不同模拟器名称不一样,替换前记得备份)。
连接Android模拟器
首先打开模拟器软件,然后进入模拟器安装目录(进入SDK目录下platform-tools也可),运行cmd命令:
D:\Program Files\Microvirt\MEmu>.\adb.exe connect 127.0.0.1:21503 #连接模拟器,逍遥模拟器的地址为127.0.0.1:21503
#夜神模拟器为连接命令为: .\nox_adb.exe connect 127.0.0.1:62001
already connected to 127.0.0.1:21503
D:\Program Files\Microvirt\MEmu>adb devices #显示已经连接的adb设备
List of devices attached
127.0.0.1:21503 device
然后,在Qt Creator中就可以看到模拟器设备,并进行调试了。
参考链接:
https://www.jb51.net/program/3111112rw.htm
【Qt】Qt5.12第一次编译安卓工程卡在下载gradle.zip文件_qt卡在gradle-CSDN博客如何在Qt上进行安卓开发(实体安卓机和模拟器)_qt安卓开发-CSDN博客
Qt for Android 环境搭建与测试(各种问题最终解决,成功编译生成apk)_at for android qmake.exe 版本不匹配-CSDN博客