Qt 5.14.2 配置安卓开发
在Windows下 使用Qt 5.14.2 配置安卓开发
本文环境:
- OS:Windows 10
- Qt 5.14.2
- android-sdk_r25.2.5-windows(r24.4.1 升级来的)
- android-ndk-r20b-windows-x86_64
- jdk-8u351-windows-x64
2024.02.21:新建项目选择Kit建议
安装 Qt
详见 2024-02-17-Windows安装Qt-5-14-2
或自行搜索学习
此处略
只要注意选择组件时图示红圈中的那个Android
选项被选中了就行,
如果是已完成安装了的,要检查是否有这个组件,可以看看它的文件夹是否存在,
比如我的Qt5安装在X:\Qt\Qt5.14.2
,那么这个组件的目录路径就是X:\Qt\Qt5.14.2\5.14.2\android
安装Android SDK
常用工具网站地址:https://www.androiddevtools.cn/
获取android sdk包
访问工具网站,选择SDK Tools
点击下载图示红圈中的文件
使用压缩包进行android_sdk安装配置
把下载的压缩包解压到一个位置,得到sdk目录,此处我使用Y:\Temp\android-sdk-windows
演示,效果图如下
注意这个位置一定不能包含非ASCII字符,比如中文等,并且不能有空格,
否则会无法正常运行
使用SDK Manager.exe
完成更新安装
可以通过Tools -> About
查看当前版本信息,现在是24.4.1
先把所有的勾选去掉,然后右下角俩按钮会变成灰色
然后按照下列图中所示勾选包,
其中
Android 7.0 (API 24)
里那几个System Image
可以不用全选,如果用不到那么多架构平台的话,只选需要的下载安装就行,
还有那个第一个
Tools
的第一条Android SDK Tools
将会把这个SDK更新至 25.2.5 版本
如果那几个系统架构全选应该是20个包,单击Install安装,
然后单选Accept License
同意许可证后再单击Install开始安装,
在正确安装完成之后,
应该能在sdk目录下的extras\intel\Hardware_Accelerated_Execution_Manager
这个路径里找到
一个exe可执行文件intelhaxm-android.exe
,
如果没有的话检查一下HAXM installer
的状态是否是已安装,没的话就再次安装这个包,
如果不安装这个功能,之后启动安卓模拟器的话应该会报错,会有关于HAXM的报错信息,
双击运行进行安装,此处略
检查SDK版本
在安装完上一步的更新后,此时SDK的版本应该已经是 25.2.5 了
配置环境变量(可跳过)
这一步可跳过,因为,ennnnn,貌似Qt 5.14.2它不依赖环境变量来查找相关的东西,它是靠软件里的配置来找,如果那个配置错了才会出问题,
但是android sdk都装了,就顺便给配上环境变量吧,
例如我的SDK目录是Y:\Temp\android-sdk-windows
,
那么应该配置下表所示的环境变量,具体配置方法详见 2024-02-19-Windows配置环境变量24-02-19-Windows配置环境变量.md),
变量名 | 内容 | 含义 |
---|---|---|
ANDROID_HOME | Y:\Temp\android-sdk-windows | 用以确定Android SDK安装目录 |
ANDROID_SDK_ROOT | Y:\Temp\android-sdk-windows | 同上,但已弃用,旧的工具可能会用到 |
ANDROID_SDK_HOME | Y:\Temp\android-sdk-windows | 同上 |
并且在环境变量Path
中添加一条记录Y:\Temp\android-sdk-windows\platform-tools
,
这样便于命令行直接键入adb
命令来调用adb
工具,
安装Android NDK
获取android ndk包
访问官网,在页面中找到不受支持的NDK下载,
访问该页面,然后找到r20b版本ndk资源,单击下载,
使用压缩包进行android_ndk安装配置
把下载的压缩包解压到一个位置,得到sdk目录,此处我使用Y:\Temp\android-ndk-r20b
演示,效果图如下,
一般这种数据资源之类的都建议文件路径一定只含义数字字母下划线且没有空格,
不然容易因此无法正常运行
安装JDK
或见 我的资源分享中的jdk 8u351,若使用分享的sdk包则可以直接跳转至 安装配置部分,
编辑这篇文章时官网这个页面提供的是8u401版本的包了,我分享的是8u351,不过于此处无妨,
访问官网,选择 Java archive,
在页面中找到Java SE 8 (8u211 and later)并单击,
进入页面后下滑选择Windows,
单击进行下载,需要登录,自行完成,
使用安装包进行jdk安装配置
双击运行下载的安装包,一路默认下一步即可,
默认情况下安装完成的jdk路径应该是C:\Program Files\Java\jdk1.8.0_351
,
8u401版本则是C:\Program Files\Java\jdk1.8.0_401
,
配置环境变量
添加一个变量名为JAVA_HOME
,值为C:\Program Files\Java\jdk1.8.0_351
的环境变量,用于定位java安装目录,
并在环境变量Path
中添加一条%JAVA_HOME%\bin
,用于搜索java可执行程序,
Windows配置环境变量方法详见 2024-02-19-Windows配置环境变量,
在Qt中进行配置
打开Qt Creator,
选择工具 -> 选项
,
左侧选择设备,然后右侧上方选择Android标签页,
之后在JDK、SDK、NDK栏填入对应路径,
都正确时应该会有如下显示,
之后单击右下角Apply完成设置应用,或者直接点OK应用并退出,
都配置正确的话,此时的这一条应该是正常可用的,
测试运行
新建Qt项目
Qt Creator -> 新建文件或项目
就用默认的第一个Qt Widgets Application
就行,然后单击右下角Choose
后面几步用默认的设置就行,直到选择组件,
组件这里一定要把安卓选上(虽然后面也能再添加啦),然后再加一个Windows的方便直接看效果就行,
这里用msvc还是mingw都行,因为这个简单的例程几乎没什么东西,在这里msvc不会比mingw快多少区别不大,
2024.02.21 补:这里还是选MinGW吧,好像Qt5这里对MSVC支持不太好,Qt安装的时候带的MinGW挺好使的,也不用配置啥,基本上都是安装的时候选了然后后面就能直接用上的,而MSVC那个东东配置起来坑人滴狠涅,焯,
对项目稍作修改
项目新建完成后,在编辑界面项目导航窗格展开Forms
文件夹,双击打开mainwindows.ui
文件,会自动跳转至设计界面,
然后拖动中间灰色部分框框右下角的节点,拖往中间,缩小一点,
然后在左侧列表往下滑找到Label,拖一个进去,然后双击输入123
,上方那个在这里输入可以不管它,
再从上面找一个Push Button拖进去,双击输入abc
,完成后按下快捷键Ctrl + S
保存文件修改,
开始构建
我这一部分写的晚,之前刚写的时候前面是选择用MSVC构建,后来这东东给我整破防,还是算了,
咱还是选择用MinGW构建吧,省心就够了,
选择Qt左侧项目,然后双击Desktop Qt 5.14.2 MinGW 64-bit,然后程序应该会停顿一会儿,Qt界面右下角会弹出几个小绿条,就算是完成了构建的选择和切换,
然后点击左下方的灰色显示器图标检查配置,我这里这个表示现在选择的是:
构建套件为Desktop Qt 5.14.2 MinGW 64-bit,构建配置为Debug,
然后点左下角那个小锤子,开始构建,
或者点上面那个绿色小三角,开始构建并运行,
效果如下:
资源列表
以下所列是相对于我的博客分享资源中的资源位置,
具体使用方法详见 博客分享资源
- android SDK r24.4.1
- 压缩包/android-sdk_r24.4.1-windows.zip
- android ndk r20b
- 压缩包/android-ndk-r20b-windows-x86_64.zip
- jdk 8u351
- 可执行文件/jdk-8u351-windows-x64.exe