添加Firebase后Flutter运行报错:更新Kotlin版本无法解决编译失败问题
Flutter集成Firebase后Kotlin版本不兼容问题解决
错误信息
e: E:/gradle/caches/transforms-3/c0b55b67018ed7528c3fb574e8fcae45/transformed/jetified-play-services-measurement-api-22.0.0-api.jar!/META-INF/java.com.google.android.gmscore.integ.client.measurement_api_measurement_api.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:compileDebugKotlin'. > A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
当前配置(android/build.gradle)
buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { classpath 'com.google.gms:google-services:4.4.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
解决方案(已排除单纯更新Kotlin版本的无效情况)
同步升级Kotlin版本到兼容的1.9.x
修改android/build.gradle中的ext.kotlin_version为'1.9.20',同时确保android/app/build.gradle中如果有直接引用Kotlin的依赖,版本保持一致。升级Google Services插件版本
将classpath 'com.google.gms:google-services:4.4.1'替换为最新稳定版,比如'com.google.gms:google-services:4.4.10',旧版本插件可能会拉取与当前Kotlin不兼容的Google服务依赖。清理Gradle缓存
执行以下操作彻底清除旧缓存:- 运行命令:
flutter clean - 删除项目根目录下的
.gradle文件夹和android/.gradle文件夹 - 重新执行:
flutter pub get和flutter run
- 运行命令:
用Firebase BOM统一管理依赖版本(终极方案)
在android/app/build.gradle的dependencies块中添加Firebase BOM,强制所有Firebase/Google服务依赖使用兼容的版本:dependencies { // 引入Firebase BOM,自动管理所有Firebase依赖版本 implementation platform('com.google.firebase:firebase-bom:32.7.0') // 你的其他Firebase依赖,比如: // implementation 'com.google.firebase:firebase-analytics' // implementation 'com.google.firebase:firebase-auth' }BOM会自动拉取与当前Kotlin版本兼容的服务依赖,避免版本不匹配问题。
内容的提问来源于stack exchange,提问作者i just want to be happy
相关产品推荐
相关产品推荐

