中华视窗是诚信为本,市场在变,我们的诚信永远不变...
为了给有相同需求的朋友节省时间,我决定更新相关教程。
文章内容主要包括:
开发环境:
安装 Qt Creator 和 Qt
这一步我就不详细介绍了,只是强调一下,我安装的版本如下:
另外,笔者还完成了在Qt Creator 12 + Qt 6.6.0环境中的配置,不过Qt版本还下载并使用了Qt 6.2.4
安装 下载并安装 JDK
下载并安装JDK17(我试过JDK21,感觉会有问题)
打开安装程序开始安装。 记得记住安装路径:
现在你可以在Qt Creator中配置JDK了,打开“Tools”->“External”->“Configuration...”
选择“设备”->“Android”->JDK位置,然后使用“浏览”按钮将JDK位置设置为刚刚安装的JDK路径。
设置 Android SDK
Qt 本身附带了一个用于配置 Android SDK 的工具。 在配置JDK位置的图中,最下面一行是Android SDK。 这里的路径可以保持不变。 只需点击“设置SDK”按钮,就会提示“是否要下载并安装Android SDK?” “xxx路径”,点击Yes开始下载Android SDK
之后,系统会提示您:“您确定拥有 Android SDK 所需的软件包吗?是否要安装缺少的软件包?” 点击“确认”
弹出Android SDK Manager后,一切都点击“是”,开始安装(这里不需要梯子)
安装完成后,会自动开始设置Android OpenSSL。 这个基本会失败,而且是可选的,可以直接取消。
当然,你也可以去这个Github项目拉下代码,然后将OpenSSL二进制位置设置为项目根目录。
安卓模拟器下载
安装Android后,仍然缺少Android模拟器。 也可以直接在 SDK Manager 中安装:
在“工具”栏中向下滚动找到“Android模拟器”并点击安装:
重新启动 Qt Creator 后,您应该在“Build Package”中看到 Android 包
创建Android设备(模拟器)
在“设备”->“设备”中,点击“添加”按钮添加新设备
当然,设备类型选择Android设备:
此时可能会提示“无法为xxx创建AVD,请先从SDK Manager选项卡安装系统映像”
出现这个警告的原因是模拟器的Android版本比较低。 我们只安装了Android 12.0,可能与模拟器不匹配。
我们可以回到Android SDK Manager(参考模拟器安装)并安装Android 10.0(Q):
然后创建设备,就创建成功了。
摇篮安装
此时,我们可以尝试在Qt Creator中创建一个Android项目:
创建一个项目并选择“应用程序(Qt)”->“Qt Widgets应用程序”->“选择”
给项目起一个你喜欢的名字,然后继续点击“下一步”来构建套件(Kit)
选择“Android Qt 6.4.3 Clang x86_64”包并完成创建
这时候如果点击左下角的“运行”,就会出现如下错误:
这个错误是由于gradle下载失败导致的。 相信国内Android开发同学也不是第一次遇到这种情况了。
我们直接进入这个地址:/distributions/
下载所需的gradle。 从错误信息中可以看到,它是“gradle-7.4.2-bin.zip”
如果你点击上图所示的“运行”按钮,你应该能够在“C:\Users\xxx.gradle\wrapper\dists”中找到“gradle-7.4.2-bin”目录,其中包含a 由一长串字符组成的文件夹。
我们将下载的“gradle-7.4.2-bin.zip”直接移到该文件夹中(无需解压)
复制完成后,再次单击“运行”。 理论上是可以正常运行的。
无法打开Android模拟器的问题解决
如果这里打不开模拟器,可以进入“打开或关闭Windows功能”
检查Windows Hyper-V服务是否开启
构建失败
至此,Qt开发Android的配置已经完成。 能运行成功吗?
答案是不:
各种搜索解决方案,找到了以下可能的解决方案:
咱们试试吧:
解决方案1:不适用于Qt内置的SDK管理器(失败)
似乎只有一个地方提到这似乎是Qt自己的Android SDK管理器的问题......
我以为直接使用Qt自带的SDK管理器会更方便,但是还是有坑。
然后我们尝试使用其他教程中提到的SDK Manager重新安装Android SDK...,下载地址:
使用这个SDK Manager下载Android SDK、NDK等组件,结果还是不行,错误还是一样。
方案二:使用Android Studio改善开发环境
对于配置过 Android Studio 的人来说,上面的错误消息可能看起来很熟悉。 看起来像是墙壁导致的连接故障。
于是笔者根据之前配置Android Studio的经验,完成了Android开发环境的配置。 (主要解决gradle-8.2-bin.zip下载失败的问题以及梯子的问题)
配置完成后,重新启动电脑,再次打开Qt,就可以顺利运行了。
Debug模式成功,Release失败
在Debug模式下,运行成功后,改成Release模式失败,报错如下:
看错误信息Failed to Collectcertificate from xxx,应该和签名有关。
我检查了如何在Qt中配置签名,找到了以下解决方案: