Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)

文章目录

一、Qt For Android运行示例

下方视频为Qt官方示例程序【Arrow Pad Example】的APK安装包寻找流程。

通常是在构建目录中的如下路径:build-arrowpad-Android_Qt_5_12_11_Clang_arm64_v8a-Debug\android-build\build\outputs\apk

二、个人理解及情况解析

  1. 安装前的准备:Qt安装包、Java安装包、cmdline-tools文件夹替换包、android_openssl压缩包。
  2. 相关安装目录不要使用空格,如果遇到下载异常、构建异常可以看一下指定的Android目录是否存在空格,然后移除空格再次尝试。
  3. 后续补全...

三、配置Android相关配置项

3.1 安装简述

  1. 准备相关安装包(Java安装包、Qt 5.12.11安装包)以及相关必要的配置文件。
  2. 正常的安装流程可以直接按照步骤安装,需要注意的是Qt For Android的配置下载和配置文件替换流程。
  3. 一定要替换commandlinetools文件夹。

3.2 安装Qt

1.安装Qt第一步:启动Qt安装包程序

2.Qt账号(注册)登录

进入Qt 5.12.11欢迎界面,需要登录Qt账号,没有Qt账号点击Sign up 进入注册流程注册账号,注册登录完成后点击Next

3.了解Qt开源使用义务

此处勾选(同意)下方红框中的选项,然后点击Next 即可。

4.指定Qt安装目录

选择Qt安装路径(不想更换安装路径也可,视个人情况而定),然后点击Next

5.选择Qt安装内容

本章主要为Qt For Android 环境搭建,可仅选择Android项及Debugger的内容即可,再点击Next 进入下一步。

6.接受"许可协议"

此处勾选红框中的选项,然后点击Next 进入下一步。

7.开始菜单快捷方式设置

此处无需更改,直接选择Next 进入下一步。

8.准备安装

此处保证磁盘空间足够并点击Install 开始安装。

9.等待安装完成

进入此界面后等待进度条达到百分之百即可。

10.安装完成并启动Qt

安装完成后点击Finish 即可(可勾选Launch Qt Creator启动Qt或者在开始菜单中启动Qt)。

如下为进入的Qt界面

11.查看Qt配置

进入Qt后选择工具 菜单中的选项 菜单

点击Kits 查看Qt Versions 页面,此处的自动识别配置为异常状态,是因为我们还没有将Android配置配置完成。

点击设备 查看Android 页面,看到Java Settings、Android Settings和Android OpenSSL Settings 为异常状态,接下来我们开始处理这些异常配置(处理完这些异常后,上图中Qt Versions页面的配置状态变为正常)。

3.3 Java Settings配置

1.启动Java安装包

双击启动Java安装包,进入如下界面后点击下一步

2.选择Java安装路径

根据个人情况选择Java安装路径后,点击下一步

3.Java JDK安装

等待安装完成。

安装完成后点击关闭 即可。

4.JavaJRE窗口处理

我个人使用的安装包安装完成后会弹出JRE安装弹窗,此处直接关闭 并确定取消安装 即可(也可按需安装吗,我个人测试是不需要安装的)。

5.重启Qt查看Java配置项

此时关闭再打开Qt,打开选项 弹窗,可以看到Java配置项以及是配置正确的情况,至此Java配置结束。
注:

  1. 若是个人打开配置不正确并且Java安装路径不准确,可尝试主动配置Java路径再查看情况。
  2. 也可尝试配置计算机环境变量查看效果(我个人同样是只有安装没有配置环境变量就可直接使用)。

3.4 Android Settings配置

1.选择SDK路径并Set Up SDK

在Qt 选项 页面选择Android SDK 的下载路径(注意路径不要有空格 ),然后点击Set Up SDK 开始下载SDK。
注:点击Set Up SDK 后会出现很多小弹窗,依次确认即可 ,文章后有详细步骤。

点击Set Up SDK 后会弹出下载SDK Tools 的提示小弹窗,直接点击Yes 继续。

等待SDK Tools 下载完成。

2.缺失包提示处理

下载完成后会弹出缺失必要包的提示,此处直接点击Yes 安装缺失包。

然后弹出Android SDK Changes 提示,点击Ok开始即可。

3.缺失包安装的验证许可证

开始安装缺失包后界面看似没有任何反应,但其实在选项 页面的最下方已经正在Checking pending licenses 。此处的验证需要耐心等待(视情况而定,我个人大概是等待了十分钟左右)。

上图检查完毕后会弹出如下图的弹窗,直接点击Yes继续即可。(查看未接受的许可证)

此时可以看到,下方出现一个进度条,这是我们依次接受每一个许可证即可。

当许可证接受完毕,进入下载流程,等待下载完成即可。

下载完成

完成后发现依旧是弹出缺失包的提示,并且还弹出了警告提示(如下),此时别担心,我们已经进入了下一个步骤


4.替换cmdline-tools文件夹(重要!重要!重要!)

将提供的cmdline-tools压缩包解压

并在指定的Android SDK目录中替换掉原有的cmdline-tools文件夹

然后切换到Qt界面,重新点击Set Up SDK 再次识别指定目录

此时会提示指定路径存在有效的SDK包(下图一),并在确定后会再次请求下载/安装必要包(下图二)

点击Yes 开始下载/安装确实的必要包

点击Yes 后会再次弹出Android SDK Changes 提示,点击Ok 开始安装下载。

然后就是开始下载必要包。

下载完成!

5.验证Android Settings配置是否正确

完成以上操作后界面将卡顿一下,然后安卓配置显示配置正确。(若仍提示异常,重启Qt重新Set Up SDK指定目录尝试一下,或查看个第二节内容是否有类型的异常情况)

3.5 Android OpenSSL Settings配置(此配置为可选项)

解压缩事先准备好的Android OpenSSL(android_openssl-master.zip )压缩包到想要指定的目录。

解压后,直接设置解压缩文件目录到Android OpenSSL Settings 中,并且Android OpenSSL Settings 的配置状态显示完成。

3.6 Android配置完成

完成以上步骤后,我们发现Java Settings、Android Settings、Android OpenSSL Settings 三组配置项都显示配置完成。

然后退出Qt再打开Kits界面 发现Android配置项已经正常显示。

至此,Qt For Android 配置完成

四、编译Android Apk文件

4.1 编译简述

4.2 开始编译

1.选择Android项目

打开Qt后,在欢迎 界面点击示例 ,本章选择Arrow Pad Example 项目为编译示例。

点击Arrow Pad Example 后弹出项目帮助弹窗,此时直接关闭即可。

2.选择合适的编译套件

榜之弹唱关闭后,需要选择一个合适的编译套件,然后直接点击Configure Project

点击Configure Project 后进入如下界面,此时注意下图框选的内容,确保第一个红框是手机的图标,然后点击锤子 构建。

3.开始构建APK

点击锤子(构建)后锤子变成一个结束图标,右下角也有构建进度条显示(进度条默认显示在状态栏中,点击右下角的上箭头可弹出如图的进度条窗口)。

首次构建需要下载gradle-4.6-bin.zip 压缩包(下载时间较长,请耐心等待...),如果下载报错查看最后一节是否有同样问题可直接处理,下载完成后等待一会就构建完成了。

4.寻找生成APK安卓安装包文件

构建完成后可根据下方GIF寻找APK生成文件,此时本机若存在安卓模拟器可直接双击启动或发送到手机上开始安装。

4.3 我遇到的问题

1.构建失败(压缩包下载失败/不成功)

构建过程中出现以下情况,可尝试本方法。

情况1:连接拒绝

情况2:远程主机终止握手

2. 处理gradle-4.6-bin.zip压缩包

找到压缩包应该所在的目录,Qt在下载该压缩包的时候会创建该目录,若是没有则可直接找到4jp4stjndanmxuerzfseyb6wo 文件夹前的路径,创建该文件夹即可。

粘贴压缩包到对应目录

3.继续构建

压缩包放置完成后,回到Qt继续构建。

此时就没有下载压缩包的等待时间,而是直接解压压缩包。

解压完成后继续下载其他配置。

所有配置下载完成后,稍作等待则构建完成。按照文章第一节的寻找步骤寻找APK即可。

友情提示------哪里看不懂可私哦,让我们一起互相进步吧

(创作不易,请留下一个免费的赞叭 谢谢 \^o^/)

注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。

注:如有侵权,请联系作者删除

相关推荐
摇光933 分钟前
js高阶-async与事件循环
开发语言·javascript·事件循环·宏任务·微任务
沐泽Mu5 分钟前
嵌入式学习-QT-Day07
c++·qt·学习·命令模式
沐泽Mu6 分钟前
嵌入式学习-QT-Day09
开发语言·qt·学习
小猿_0011 分钟前
C语言实现顺序表详解
c语言·开发语言
JasonYin~28 分钟前
HarmonyOS NEXT 实战之元服务:静态案例效果---手机查看电量
android·华为·harmonyos
余~~1853816280032 分钟前
NFC 碰一碰发视频源码搭建技术详解,支持OEM
开发语言·人工智能·python·音视频
zhangphil37 分钟前
Android adb查看某个进程的总线程数
android·adb
GOATLong44 分钟前
c++智能指针
开发语言·c++
Dola_Pan1 小时前
C语言:随机读写文件、实现文件复制功能
c语言·开发语言