升级Flutter 3.19.0后遇compileSdkVersion未指定错误求解决
修复Flutter 3.19.0升级后compileSdkVersion未指定的Gradle错误
错误提示指向根项目‘android’配置出错,说明问题出在android/build.gradle(根Android项目的配置文件)而非仅app模块的配置,以下是具体修复步骤:
1. 配置根Android项目的compileSdkVersion
打开项目根目录下的android/build.gradle文件,根据你的Gradle版本格式调整:
旧版Gradle格式(含buildscript块)
确保在buildscript的ext节点中定义全局compileSdkVersion:
buildscript { ext { compileSdkVersion = 33 // 可根据需求改为34等兼容版本 minSdkVersion = 21 targetSdkVersion = 33 } repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.4.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20" } }
新版Gradle格式(plugins块)
在根build.gradle中添加全局Android配置:
plugins { id "com.android.application" version "7.4.2" apply false id "com.android.library" version "7.4.2" apply false id "org.jetbrains.kotlin.android" version "1.8.20" apply false } android { compileSdkVersion 33 }
2. 确保app模块正确引用配置
打开android/app/build.gradle,确认android块中正确指定compileSdkVersion:
plugins { id "com.android.application" id "kotlin-android" id "dev.flutter.flutter-gradle-plugin" } android { compileSdkVersion rootProject.ext.compileSdkVersion // 或直接写33 defaultConfig { applicationId "com.your.app.package" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" } // 其他编译配置... }
3. 清理缓存并重新构建
执行以下命令彻底清理缓存后重新运行项目:
flutter clean rm -rf android/.gradle flutter run
补充说明
你之前仅修改了app模块的配置,但错误根源是根Android项目未定义compileSdkVersion,导致Gradle无法识别全局编译版本参数,按上述步骤调整根项目配置即可解决问题。
内容的提问来源于stack exchange,提问作者Sanjay maddheshiya
相关产品推荐
相关产品推荐

