如何通过命令行升级Android SDK版本?及Flutter中build.gradle版本参数差异
通过命令行升级Android SDK至33.0.0-rc2
前提准备
确保能访问Android SDK自带的sdkmanager命令:
- 已配置环境变量的话直接在终端调用;未配置的话,进入Android SDK目录下的
cmdline-tools/latest/bin(Windows路径示例:C:\Users\<你的用户名>\AppData\Local\Android\Sdk\cmdline-tools\latest\bin,Mac/Linux示例:~/Library/Android/sdk/cmdline-tools/latest/bin)
具体步骤
- 查看已安装和可安装的SDK组件,确认目标版本存在:
sdkmanager --list - 安装Android 33 SDK平台(对应API Level 33):
sdkmanager "platforms;android-33" - 安装33.0.0-rc2版本的Build Tools:
sdkmanager "build-tools;33.0.0-rc2" - (可选)更新SDK命令行工具本身:
sdkmanager --update - 验证安装:再次执行
sdkmanager --list,检查目标版本是否出现在已安装列表中
Flutter项目中compileSdkVersion与targetSdkVersion的区别
compileSdkVersion
- 是编译应用时依赖的Android SDK版本,决定代码能调用哪些Android API。
- 只要代码未使用高于该版本的API,编译就能通过。建议设置为当前最新稳定SDK版本,以获取最新API支持和编译优化。
- 仅影响编译阶段,不会改变应用在设备上的运行行为。
targetSdkVersion
- 是应用声明的目标运行SDK版本,Android系统会根据这个版本启用对应的系统行为和权限规则。
- 例如,设置为33时,应用会遵循Android 13的权限策略(如通知权限需主动申请);若设置为更低版本,系统会兼容旧版本的行为逻辑。
- 直接影响应用在不同Android版本上的运行表现,Google要求新上架应用的targetSdkVersion需符合当前平台要求(目前最低要求为33)。
一句话总结
compileSdkVersion管编译时的API支持,targetSdkVersion管运行时的系统行为适配。
内容的提问来源于stack exchange,提问作者testproftest 23
相关产品推荐
相关产品推荐

