MacOS下Qt+Android开发环境搭建及虚拟机和真机下测试

429 阅读4分钟

一般我们安装Qt时默认没有选上Android相关组件,所以这里是需要重新添加相关组件的,否则项目都创建不成功。目前建议直接重新安装Qt6,其它添加组件的方式要走一堆弯路,最后还是可能下载失败,Android环境的配置也是一堆麻烦事,版本的不兼容性问题很头疼。我目前2025年5月搭建成功的版本:Qt6.5.3+Qt Creator16.0.1+macOS 13.7.5 (22H527) intel i5,真机和虚拟设备是Android9,JDK最终使用JDK17。

一、安装Qt6

建议直接安装Qt6,老版本的Qt5只支持JDK8,配置环境很容易出问题

在线下载器下载地址:https://mirrors.tuna.tsinghua.edu.cn/qt/archive/online_installers/4.6/

安装Qt时需要选择Android相关组件:

其它的安装过程这里就略过了,下一步即可。

还有一个就是注意MacOS的版本匹配问题,需要macOS12才能运行Qt Creator(但是12中有库不兼容,还得升级到13,不然运行Qt creator 16.0.1会崩溃):

二、安装Android相关编译工具

安装Android的sdk、ndk等可以使用Android studio来安装,安装好后Qt会检测到(不是很推荐):

也可以在Qt配置界面直接安装(推荐):

1、选择jdk,没有的点击后面的地址下载安装后再选择即可

根据右侧的网络按钮去下载符合要求的jdk版本,我这里应该是:adoptium.net/zh-CN/temur…

我这里是用了jdk21后续就会有问题,这里需要注意一下。

2、安装SDK、NDK等

这里直接点击“Set Up SDK”即可,会自动下载安装到相关位置,下载安装完成会显示安卓设置完成:

设置下载的过程会有显示:

3、安装Android OpenSSL

也是使用Qt的Download直接下载即可:

4、添加虚拟Android机

在设备列默认没有安卓设备,需要添加一下:

之后选择设备类型、cpu类型等:

然后就可以启动先看一下:

这里也可以在Android studio上先配置好avd设备并启动,看你习惯哪种都可以:

三、创建测试项目

1、创建Qt quick项目

2、选择Kit

如果是真机可以根据机器的型号选择arm64-v8a或者armeabi-v7a的,如果是虚拟机器,则由于是根据电脑的cpu来的,需要结合你电脑cpu的情况来决定,比如我这里是x86的则选择x86的,如果跨平台的则可以选择多个Kits:

3、运行测试

编译运行时可能产生如下错误:

这说明JDK版本和gradle不匹配,gradle8.0支持的jdk最大为17,而我们使用的目前最新的jdk21,那么我们需要降级到jdk17,这里就是选择jdk的时候没有按照软件的要求去设置导致的。

换成jdk17:

4、虚拟机运行错误

如果运行虚拟机报如下错误:

说明虚拟机需要的库和MacOS版本不兼容,那么最好的方法就是更新虚拟机,要么降级虚拟机版本和macOS版本匹配,要么就升级一下MacOS的版本,这个就比较麻烦了,比如我这里MacOS的系统版本为11.x,但是这里显示虚拟机版本是12.6版本的系统编译的,所以就运行不了了。

我们可以尝试安装低版本的虚拟机,需要注意和你的系统匹配:

./sdkmanager --install "emulator;31.2.10"

developer.android.com/studio/emul…

目前测试最低emulator为32版本了,只能升级MacOS版本了,最终没办法把MacOS系统升级到13版本了(Qt6.5的Qt Creator版本也必须13及以上版本才能正常运行):

5、最终结果

四.、真机调试

需要先打开设备的USB调试模式,然后使用usb线电脑即可(adb devices测试可以看到设备),创建项目时选择真机的CPU类型,比如arm64-v8a,设备这里也可以选择到真机:

如果项目创建时没有选择对应真机的kit,后续在项目这里也可以再添加:

然后就可以选择构建套件以及设置设备了:

设备选择我们连接的真机即可:

之后编译运行即可,真机上也安装显示成功了: