You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否需在AndroidManifest声明uses-sdk?Target SDK相关技术疑问

解答你的Android应用Target SDK相关疑问

1. 是否需要在AndroidManifest.xml中指定uses-sdk?

不需要。当前Android Gradle构建系统会自动把build.gradle里配置的minSdkVersion、targetSdkVersion等参数,合并到最终打包生成的AndroidManifest.xml中。源码里的AndroidManifest.xml无需手动添加<uses-sdk>节点,构建过程会自动注入相关配置。

2. Target SDK = 30的设置来源在哪里?

你用到的qtTargetSdkVersion是Qt框架提供的变量,它的取值来源主要有这几个方向:

  • Qt Creator项目配置:打开项目的构建设置(项目→构建→Android),查看Target SDK版本的配置项,这里可能直接设置了30。
  • gradle.properties文件:检查项目根目录或模块目录下的gradle.properties,看是否存在qtTargetSdkVersion=30这类定义。
  • Qt默认配置:部分Qt版本自带默认Target SDK值,比如Qt 6.2系列的默认Target SDK就是30,若你没手动修改过,就会使用这个默认值。
  • Qt Gradle模板:Qt会自动生成Android构建所需的Gradle模板文件,你可以在Qt安装目录的android相关子目录里找到这些模板,里面可能定义了qtTargetSdkVersion的默认值。

3. Target SDK与sdkBuildToolsRevision有什么区别?

两者是完全不同的概念:

  • Target SDK:指应用针对的Android系统API级别(比如30对应Android 11),系统会根据这个版本启用对应的行为规则(比如权限申请逻辑、API兼容限制),直接影响应用的运行时表现。
  • sdkBuildToolsRevision:是Android构建工具集的版本(比如你用的33对应Build Tools 33.0.x),这些工具负责编译代码、打包APK、处理资源等构建环节的工作,和应用运行时的行为无关,仅用于保障构建流程正常执行。

4. 适配Android 13时对应的Target SDK版本是多少?

Android 13对应的API级别是33,要适配Android 13的新特性(比如通知权限、媒体权限的变更),需要将targetSdkVersion设置为33。同时Google Play的上架要求也明确,新应用需针对最新Android版本优化,所以适配Android 13时Target SDK至少要设为33。


内容的提问来源于stack exchange,提问作者Alexey Starinsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 11:45:33