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设置中查看设备的连接状态和基本信息。

相关推荐
阿巴斯甜11 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker12 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952713 小时前
Andorid Google 登录接入文档
android
黄林晴14 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_1 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android