Flutter集成Firebase Auth遇依赖错误:找不到com.google.gms.google-services:4.3.15
解决Flutter集成Firebase Auth时的依赖解析错误
问题分析
错误提示Could not find com.google.gms.google-services:4.3.15:,核心问题有两点:
- 模块目录(
app/build.gradle)错误复制了根目录的完整buildscript配置,导致依赖解析逻辑混乱 - 旧版本的google-services插件与当前gradle版本(7.2.0)存在兼容性冲突
修复步骤
1. 修正根目录build.gradle配置
保留根目录的buildscript结构,将google-services插件版本升级到适配gradle 7.2.0的稳定版:
buildscript { ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { // 升级至兼容gradle 7.x的版本 classpath 'com.google.gms.google-services:4.4.0' classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } tasks.register("clean", Delete) { delete rootProject.buildDir }
2. 修正模块目录(app/build.gradle)配置
模块目录无需重复根目录的buildscript配置,仅保留app模块专属配置并应用google-services插件:
plugins { id 'com.android.application' id 'kotlin-android' id 'dev.flutter.flutter-gradle-plugin' // 应用google-services插件 id 'com.google.gms.google-services' } android { namespace "com.example.app_layout" compileSdkVersion 33 defaultConfig { applicationId "com.example.app_layout" minSdkVersion 21 targetSdkVersion 33 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // Firebase依赖会通过google-services插件自动引入,无需手动添加 }
3. 清理并重建项目
- 执行Flutter命令清除缓存并重新获取依赖:
flutter clean flutter pub get
- 在Android Studio中点击
File -> Invalidate Caches... -> Invalidate and Restart,清除IDE缓存后重启
关键注意事项
- google-services插件仅需在根目录build.gradle的buildscript中声明依赖,在app模块build.gradle中通过插件ID应用即可,禁止重复配置buildscript
- 确保
google-services.json文件放在android/app/目录下,文件名无拼写错误 - 保持gradle插件、kotlin版本与google-services版本的兼容性,避免使用过于老旧的插件版本
内容的提问来源于stack exchange,提问作者BabouG
相关产品推荐
相关产品推荐

