构建Flutter应用遇版本报错,查询flutter.compileSdkVersion定义位置
解决Flutter中
flutter.compileSdkVersion定义位置及SDK版本匹配问题 1. flutter.compileSdkVersion的定义位置
这个参数是Flutter SDK内置的全局配置,存放在你本地Flutter安装目录的以下文件中:
- Windows系统:
{你的Flutter安装路径}\flutter\packages\flutter_tools\gradle\flutter.gradle - macOS/Linux系统:
{你的Flutter安装路径}/flutter/packages/flutter_tools/gradle/flutter.gradle
打开该文件后,能找到类似如下的代码块:
class FlutterExtension { /** The compileSdkVersion used by default in Flutter app projects. */ int compileSdkVersion = 31 // 不同Flutter版本对应数值不同,Flutter 3.0.5默认值为31 // ...其他配置项 }
2. 快速修复插件要求更高SDK版本的问题
既然你当前Flutter 3.0.5默认的compileSdkVersion低于插件要求的33,直接修改项目配置更高效:
- 打开项目内的
android/app/build.gradle - 将
compileSdkVersion flutter.compileSdkVersion替换为明确的版本号,示例:
android { compileSdkVersion 33 // ...其他原有配置 }
- 建议同步修改
targetSdkVersion为33,保持版本一致性。
3. 自定义全局版本变量的替代方案
如果不想硬编码版本号,可在项目的android/build.gradle中定义全局变量,再在app/build.gradle中引用:
- 在
android/build.gradle的buildscript代码块外添加:
ext { compileSdkVersion = 33 targetSdkVersion = 33 }
- 修改
android/app/build.gradle中的配置:
android { compileSdkVersion rootProject.ext.compileSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion // ...其他原有配置 }
内容的提问来源于stack exchange,提问作者Priyshrm
相关产品推荐
相关产品推荐

