Flutter为何自动安装旧版本Android SDK?
旧Android SDK自动重装的原因及排查方向
- 第三方插件的隐性依赖:很多Flutter插件(比如原生功能插件、UI组件库)的内部
build.gradle可能硬编码了SDK30-33中的某个版本作为编译目标。哪怕你自己的项目设了API34,构建时Flutter会自动拉取满足插件要求的SDK版本。 - Flutter工具链的默认要求:不同版本的Flutter可能绑定了特定版本的Android构建工具,这些工具可能依赖对应SDK版本。比如某些稳定版Flutter需要特定的Platform Tools,触发了旧SDK的安装。
- 项目配置未统一更新:
- 检查项目根目录的
local.properties,有没有额外指定旧SDK版本; - 确认
android/app/build.gradle里的compileSdk、targetSdk是否都设为34,包括defaultConfig和buildTypes里的相关配置; - 查看
gradle.properties,是否有全局的android.compileSdkVersion这类参数覆盖了你本地设置。
- 检查项目根目录的
- Android Studio自动下载机制:默认情况下,AS检测到构建缺少依赖的SDK组件时会自动下载。可以去
设置>Appearance & Behavior>System Settings>Android SDK里,取消勾选构建时自动下载缺失包的选项。 - 构建缓存残留:之前的构建缓存(
.gradle、build目录)可能存着旧SDK的依赖信息。执行flutter clean,删掉项目根目录的.gradle和android/app/build文件夹,重启AS再重新构建试试。
内容的提问来源于stack exchange,提问作者Sundog
相关产品推荐
相关产品推荐

