qt for android ,支持target sdk 33的解决方案

要求背景:目前 android 商店 上架的app, 需要至少支持到target sdk version 到33。

QT6.6.0开始支持API33,配置方法请阅读前面的相关文章,这里不述。

之前一直只能配置出 target SDK version = 31 , 本来以为需要重新编译Qt源代码, 此次机缘巧合,配置出了 33 (或 34), 方法如下:

1)AndroidManifest.xml

//可以不用这个

//可以不用这个

  1. build.gradle

将 compileSdkVersion androidCompileSdkVersion 改为:

compileSdkVersion "android-33"

defaultConfig {

resConfig "en"

minSdkVersion qtMinSdkVersion

targetSdkVersion qtTargetSdkVersion

ndk.abiFilters = qtTargetAbiList.split(",")

}

改为:

defaultConfig {

resConfig "en"

minSdkVersion qtMinSdkVersion

targetSdkVersion "33"

ndk.abiFilters = qtTargetAbiList.split(",")

}

重新编译即可;

这里前提是,我们在AndroidStudio中下载了android33的SDK;

补: 现在qt6.6.1已经正式发布,它是qt6.6.0的bugs修复版;解决了qt6.6.0存在的400多个bugs; 在线安装的默认列表中已经隐藏了6.6.0这个版本。 经测, qt6.6.1 默认支持 targetSdkVersion为33, 当然,如果要支持到34, 也按上面所述修改为34即可;

Qt6.5.3 为 LTS版本,好像默认只能到31, 若要使其支持到33或34, 依上面修改即可;

目前QT已经到6.6.1 及以上,target api 这些参数在xml中好像无法设置,设置了也无效。所以上面的方法也算是唯一的方法了。

相关推荐
氦客6 小时前
Android Compose : 传统View在Compose组件中的等价物
android·compose·jetpack·对比·传统view·等价物·compose组件
SunkingYang7 小时前
QT编译报错:使用Lambda表达式作为槽函数,报错‘xxx‘ in capture list does not name a variable
qt·list·报错·lambda表达式·槽函数·in capture list·does not name
神话20097 小时前
Rust 初体验与快速上手指南
android·rust
hqwest7 小时前
码上通QT实战25--报警页面01-报警布局设计
开发语言·qt·qwidget·ui设计·qt布局控件
CheungChunChiu8 小时前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
aidou13149 小时前
Android中设置Dialog和自定义布局相同高度
android·dialog·弹窗高度·getwindow
氦客9 小时前
UI编程的发展史 : 结合命令式UI和声明式UI
android·compose·声明式ui·ui编程·命令式ui·ui编程发展史·标记语言
SunkingYang9 小时前
QT中如何遍历QStringList
qt·解析·遍历·方式·读取·qstringlist
hqwest9 小时前
码上通QT实战26--系统设置01-系统设置布局
开发语言·qt·qss·qt基础控件·qt布局控件·qt表格控件
hqwest11 小时前
码上通QT实战29--系统设置04-用户操作管理
开发语言·qt·模态窗体·addbindvalue·bindvalue