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中好像无法设置,设置了也无效。所以上面的方法也算是唯一的方法了。

相关推荐
小小码农Come on7 小时前
Qt Creator + MSVC 2022 64bit 配置 Dump 文件生成与分析流程
数据库·qt
载数而行5207 小时前
QT的五类布局
c++·qt·学习
载数而行5207 小时前
QT的QString类
c++·qt·学习
RDCJM8 小时前
【MySQL】在MySQL中STR_TO_DATE()以及其他用于日期和时间的转换
android·数据库·mysql
冬奇Lab9 小时前
AudioFlinger架构基础:Android音频系统的心脏
android·音视频开发·源码阅读
铁手飞鹰10 小时前
Visual Studio创建Cmake工程导出DLL,通过Python调用DLL
android·python·visual studio
冰语竹15 小时前
Android学习之相对布局
android
没有了遇见15 小时前
Android 中大型项目架构梳理
android
yashuk15 小时前
【MySQL】表的相关操作
android·mysql·adb
71-315 小时前
Android studio中真机操作
android·笔记·学习·其他·android studio