Flutter项目Android模拟器编译失败:kotlin-gradle-plugin依赖及配置问题
解决Flutter Android编译错误(fluttertoast + Java版本不兼容)
核心问题分析
- Java版本不兼容:项目使用Java 17,但
fluttertoast依赖的kotlin-gradle-plugin:1.7.0仅支持Java 8,导致依赖解析失败。 - SDK版本不满足:
flutter_plugin_android_lifecycle要求Android SDK 33,当前配置未达标。 - fluttertoast模块配置异常:出现
无法获取未知属性'android',说明该模块Gradle配置缺少Android插件引用。
解决方案步骤
1. 统一Java版本与Kotlin Gradle插件版本
修改项目根目录android/build.gradle,将Kotlin插件升级到兼容Java 17的版本(推荐1.8.0及以上):
buildscript { ext.kotlin_version = '1.8.0' repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.4.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
在android/gradle.properties中指定Java 17环境:
org.gradle.java.home=/你的Java17安装路径/jdk android.compileOptions.sourceCompatibility=17 android.compileOptions.targetCompatibility=17
2. 升级Android SDK到33
打开android/app/build.gradle,更新SDK版本配置:
android { compileSdkVersion 33 defaultConfig { targetSdkVersion 33 // 其他原有配置保留 } }
通过Android SDK Manager下载API 33的SDK组件。
3. 修复fluttertoast依赖与缓存
执行命令清理缓存并重新拉取依赖:
flutter clean flutter pub get cd android && ./gradlew clean
若问题依旧,升级fluttertoast到最新稳定版(修改pubspec.yaml):
dependencies: fluttertoast: ^8.2.4
之后运行flutter pub get。
额外检查
确保Gradle版本与Kotlin插件兼容,比如Kotlin 1.8.0对应Gradle 7.4+,可在android/gradle/wrapper/gradle-wrapper.properties中确认:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
内容的提问来源于stack exchange,提问作者Farooq Ahmed
相关产品推荐
相关产品推荐

