QT5.13搭建安卓编译环境
前言
本人只在Android studio中写过安卓,本来应该不会用c++去尝试写安卓的,因为我觉得专业的安卓开发至少是用java来做的,会用kotlin当然更好,但是毕设老师觉得这个尝试很有意义,可以为一些没有专业安卓开发部门的公司省下很多成本,于是这个项目便成为了我的毕业设计。我查阅了很多博客,大多大同小异,有价值的不多,因此我想把我遇到的一些问题记录下来,希望可以给他人一点帮助。
安装QT
1.安装qt creator编辑器以及qt的组件,跟着安装程序操作就行,很简单,不赘述,实在不会还有网上的教程。(建议只要硬盘空间够就把组件全选了,以免后面要加)
下载jdk
虽然jdk已经到了13版本,但笔者使用的是jdk10.0.1。可以去甲骨文下载,记得配置环境变量。
主要是JAVA_HOME和Path.
下载SDK
http://tools.android-studio.org/index.php/sdk
点击进入上面的链接,可以看到如下界面:
我是在windows下编写项目的,于是下载更简单的 installer_r24.4.1-windows.exe,下载好后安装,就会有如下目录:
我们进入红框中的目录,打开sdk manager。
会出现以下界面
勾选如图所示的组件,其中Tools中会选的可以根据api版本自己选择,不用下载那么多,不会选的就全选了吧。
Android 9(因为笔者手机是android 9 系统)中,只需勾选
至此,sdk准备完毕。(需要使用虚拟机的,可以自己设置avd manager,不赘述,笔者推荐在真机上进行测试。)
下载NDK
根据笔者自己的测试结合网上比较普遍可以成功的版本。推荐使用r18b版本,可以去如下网址下载:
https://developer.android.google.cn/ndk/downloads/older_releases.html
下载完成后解压即可。
至此前期准备全部完成。
配置环境
打开qt creator,点击 工具->选项。
可以看到如下界面:
在安装qt creator时如果安装了android相关的组件,那么kits中应该有红框中的kits,但是不可使用,因为我们还需要做一些配置,点击设备->android,如图:
把前期下载好的jdk,sdk,ndk全部填入,如果笔者上面留下的下载链接失效了,也可以点击上图红框中的下载按钮跳转。
这样我们的配置就完成了。
遇到的问题
网上很多教程到上面这步就结束了,然而这才刚刚开始。我们新建一个项目用来测试,看看配置是否生效了。
新建一个widgets项目,命名为test。
选择编译套件,建议选上所有有关android的,再选一个mingw的在windows上测试。
目录结构如图:
进入项目界面,
编辑构建配置为release,并点击Create Templates生成android 编译所需的配置文件(主要是gradle相关,这是个大坑) ,直接点完成就行。
此时目录结构如下图,用过android studio的人一定会感到很熟悉。
此时编译如果运气好说不定可以成功,但很不幸我失败了,报错信息为 cannot find -lc++。如果是使用和笔者相同版本的jdk,sdk,ndk那么就不是版本的问题,极大可能是gradle的问题(巨坑)
打开build.gradle文件,看到红框了吗?3.2.0版本我下载不了,因此会报错。(科学上网说不定可以)
手动修改为(我这里3.3.2可以直接下载,如果还不行,请百度如何配置android studio中的build.gradle使用国内的maven源)
此时编译报错,大意是gradle版本太低了,不支持安卓组件。那就换版本吧。
打开图中文件:
内容如下,我们修改红框中这一条即可
改为如下图(如果有用android studio下好的gradle,可以直接使用那个,就不用再下载了):
这样配置就全部完成了。
测试
我们随便拖两个按钮控件进去,长宽自适应 改为如图所示(否则控件显示不全):
运行