Windows下QtCreator+android编译环境配置

Windows下QtCreator+android编译环境配置

通过Qt Creator与android sdk ndk配置windows下的android编译环境

一、 安装QtCreator

1,windows10可安装Qt5.15.2版本,安装时需选择android编译选项
2,windows7可安装Qt5.12.12版本,安装时需选择andriod编译选项

注:win7安装Qt5.15.2后,对应QtCreator无法运行,原因可能与QtCreator版本有关。

注:经测试,win7中只能安装QtCreator 6以下的版本,否则无法运行。Qt5.15.2自带的QtCreator版本过高,在win7下无法运行。

二、 安装Android studio

安装后,在android studio和Tools->sdk manager窗口中选择安装sdk

可参考上图选择安装

注:此页面可设置sdk的安装路径。

三、 安装JDK

注:可安装1.8版本以上,如 jdk-8u191-windows-x64-8.0.1910.12.exe 或 jdk-11.0.22_windows-x64_bin.exe

注:安装android studio时jdk可能自动安装了,可先设定第四步中的JDK路径,有问题再单独安装

注**:QTCreator版本过高时****,上述jdk可能不满足,实测QTCreator10****.0.2及以下可用****。**

四、 在QtCreator中配置设备Android

图示为Qt Creator 8.0.1,在低版本QtCreator中可能会有些差异

1,如上图,设置JDK安装路径

2,设置Android sdk路径(安装android studio时会安装),并会列出已有的NDK list

3,缺少相关组件时,qtcreator会弹窗可自动下载相关组件

4,设备配置OK后,配置工程时可在Kits中可选择android kit(QT5.12.12一般为arm64-v8a, Qt5.15.2的就不分平台,需在build步骤中配置平台)

五、 具体编译配置

以下说明都以QT Creator8.0.1, QT5.15.2版本为例,不同的版本会有些差异。

编辑此区域

5.1、SDK编译配置
● 编译选择ndk22.1版本

如图所示,在Android NDK list中,斜体字的一行为当前生效的NDK版本,若要切换,选中需切换的一行,点击右侧的【Unset Default】按键,可将其切换为生效的NDK版本。

● 编译套件选择

选择QT5.15.2版本,并在右侧的Build步骤中,设置ABIs为arm64-v8a。

进行上述配置后基本就可以进行sdk编译了,需注意的是由于Qt5.15以上版本原因,编译出来的库名会自动带上_arm64-v8a的后缀,暂未找到自动去除的方法。

5.2、apk程序生成配置

自动生成android程序配置

如图,选择platform SDK 版本后,点击【Create templates】按键,可自动生成android的程序配置文件。

注:若之前已生成,可以不需重复生成,但切换sdk版本后,是否需重新生成,暂未知。

注:在实际使用中,之前在QT5.12.12中已设置好的配置,在QT5.15.2中使用时,出现过app运行时白板的问题。建议工程使用的QT版本有变化后最好重新生成。

android配置

如图,在AndroidManifest.xml中,可配置package name,设置mini sdk和Target SDK,以及添加相关的权限设置。

android设备的权限申请

android设备的许多操作需要有权限申请,在配置中设置权限后,有些权限仍需向设备进行弹窗申请。一般需要进行下述权限申请。

demo中文件路径的设置

由于android设备的权限问题,一般app安装的位置是没有权限进行读写操作的,因此需要设备app程序的相关路径。

注:插件库在生成apk时已经自动打包到了程序目录,因些插件目录需设置到app所在目录。

demo pro中配置生成apk时需要打包的配置

设备调试

可以通过USB连接设备(如手机),手机中需(开发者选项,不同设备可能有差异)打开USB调试和USB安装。

连上后,在Device中选择连接的设备,启动调试,构建成功后,可自动安装apk到手机中并启动,如果有异常在QTCreator的应用程序输出窗口中会有异常信息。

注:若不确定设备信息,可以在QT设置中查看设备的连接状态和基本信息。

相关推荐
梓仁沐白2 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
----云烟----5 小时前
QT中QString类的各种使用
开发语言·qt
九鼎科技-Leo6 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
长亭外的少年7 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
Yang.998 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
我不瘦但很逗8 小时前
Windows下使用DBeaver连接云数据库(MySQL)
数据库·windows
ashane13149 小时前
Java list
java·windows·list
万里沧海寄云帆10 小时前
Word 插入分节符页码更新问题
windows·microsoft·word
建群新人小猿10 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
「QT(C++)开发工程师」11 小时前
【qt版本概述】
开发语言·qt