前言
本篇分享ubuntu环境下安装QT android的完整过程(图文),并用QT自带的样例实现调试及发版本安装流程。
环境安装
安装java环境
android编译依赖Java环境,本篇安装的JDK17
sudo apt update
sudo apt install openjdk-17-jdk
安装安装完成后可以通过命令行查看版本:java -version

安装QT环境
可以官网在线下载,也可以找清华、阿里云、腾讯云的镜像下载,本篇安装的是qt 6.10.0

安装QT完成之后,从菜单"设置"打开【首选项】对话框

在构建套件kit中,可以看到多个andriod套件,把v8a设置为默认

安装android SDK
在SDKs菜单中,可以看到JDK位置、SDK路径、NDK列表等关键配置项,其中安装完成jdk17之后,打开SDKs菜单菜单时,会自动填入此路径,如果为空,则直接手动选中即可。
android SDK需要额外下载,可以点击【设置SDK】按钮完成下载

如果这个按钮没有响应,可以到谷歌中文官网下载

把包解压到~/Andriod/Sdk/cmdline-tools/last目录下,并运行以下命令安装SDK
~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager "platform-tools" "build-tools;35.0.0" "platforms;android-35"
安装NDK
NDK是编译环境,相当于桌面版本需要引用系统的g++,可以类比理解为嵌入式开发交叉编译是用专属的arm-g++版本来编译程序一样。
直接点击【SDK管理】按钮就会自动下载了,下载会久一点,耐心等待,下载完成后可以看到一个绿色的"✔"

此时在编译器中可以看到新增的安装NDK信息

安装OpenSSL(可选项)
在【SDKs】菜单中,可以看到OpenSSL设置项中带有红色标识,这是未安装的,不安装不会影响打包,包括签字证书也不是必要这项。

开发第一个andriod应用
qt和qml都可以开发出andriod应用,简单的可以用qt开发,复杂的最好用qml开发。以下是以qt自带的示例项目来介绍开发流程
(1)创建项目
在示例的Moblie列中选中一个项目双击

勾选上Debug和Release,并点击右下角的【Configure Project】按钮

这样样例默认是cmake的

(2)调试及发布
和常规的qt项目应用,需要点击qtcreator工具左下角的运行按钮,但是其上方的Debug角标有个红点,这是没有配置上安卓设备的原因导致。

1、配置安卓手机
可以设置虚拟的安卓设备,但本篇以真实安卓设备测试进行介绍。
- 开启开发者模式:需要自行查看自己品牌手机的开启方式;
- 开启USB调试:在开发者模式中开启USB调试;
- 配置传输文件:设置以上两项之后,插入数据线之后,会提示是否传输数据,确认选中"传输文件"即可
配置完成之后,后台命令行adb devices可以查看是否有可行的安卓设备,我是安装的ubuntu虚拟机,正常方式挂载USB设备,也可能识别到安卓设备

此时再点开Debug,然后在右上角的设备列表中,可以看到一个绿色标识的设备,这个就是可用的安卓设备,选中它,并返回

以上操作完成后,可以看到Debug的角标已经变成绿色,此时可以点击运行按钮进行测试了

2、测试应用
Qt 在首次为 Android 构建时,会自动下载很多必需的依赖包(Gradle, SDK 组件等),需要将 C++ 代码交叉编译为 ARM 架构的代码,然后再用 Gradle 打包成 APK。

运行完成之后,安卓机上会自动安装上apk,并且自动打开此应用,此时可以进行调试了。
另外需要说明的是,qt6.10.0用qmake开发的应用,在编译时,会出现未自动安装apk的现象,cmake编译的项目是自动安装的。
如果需要手动安装,可以到以下目录中拷贝apk文件到安卓机中点击安装
android-build-项目名称/build/outputs/apk/debug/

3、发布应用
发布应用比测试应用多一步签字证书的流程。需要发布应用时,先切换到release模式

然后到管理构建套件中找到【构建安卓APK】,点击右边的【创建】按钮

然后字段要求输入即可

此时再运行即可生成发布版本的apk,apk在此目录下
android-build-项目名称/build/outputs/apk/release