要求背景:目前 android 商店 上架的app, 需要至少支持到target sdk version 到33。
QT6.6.0开始支持API33,配置方法请阅读前面的相关文章,这里不述。
之前一直只能配置出 target SDK version = 31 , 本来以为需要重新编译Qt源代码, 此次机缘巧合,配置出了 33 (或 34), 方法如下:
1)AndroidManifest.xml
//可以不用这个
//可以不用这个
- 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中好像无法设置,设置了也无效。所以上面的方法也算是唯一的方法了。