Flutter构建报错FAILURE: Build failed(firebase_auth配置异常)
Flutter构建firebase_auth模块失败问题排查
问题表现
构建时终端抛出错误:FAILURE: Build failed with an exception
- 触发节点:配置项目
:firebase_auth阶段抛出异常
无法从缓存加载构建文件'C:\flutter.pub-cache\hosted\pub.dartlang.org\firebase_auth-3.3.19\android\build.gradle'的已编译类。
项目评估监听器通知失败。
类型为org.gradle.api.Project的项目:firebase_auth存在未知属性'android',无法获取该属性。
在org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler类型的对象上,找不到参数为[project ':firebase_core']的implementation()方法。
类型为org.gradle.api.Project的项目:firebase_auth存在未知属性'android',无法获取该属性。
根本原因
- 依赖版本不匹配:
firebase_auth 3.3.19属于较旧的版本,和当前项目使用的高版本Gradle、Android Gradle Plugin(AGP)、firebase_core版本存在适配断层,插件脚本无法识别新版本Gradle的配置API,才会出现找不到android属性、找不到implementation方法的报错。 - 本地缓存损坏:全局pub缓存中存储的firebase_auth包编译缓存损坏,导致构建时无法正常读取build.gradle的编译产物。
- Android工程配置缺失:项目的Android模块没有正确应用Android构建插件、Google服务插件,导致Firebase相关插件无法读取到Android工程的配置上下文。
可落地解决方案
- 对齐Firebase生态依赖版本
打开项目根目录pubspec.yaml,将firebase_auth和firebase_core调整为官方标注的兼容稳定版本,禁止单独升级某一个Firebase组件导致版本差过大。修改完成后在项目根目录执行以下命令重置构建:flutter clean flutter pub get - 修复损坏的本地缓存
执行命令修复全局pub缓存,同时清理项目本地构建产物:
如果执行后还是报错,可以手动删除路径flutter clean flutter pub cache repair flutter pub getC:\flutter.pub-cache\hosted\pub.dartlang.org\下所有firebase_auth、firebase_core开头的文件夹,再重新执行flutter pub get拉取依赖。 - 校正Gradle与AGP版本对应关系
对照版本匹配规则检查两个配置文件:- 打开
android/gradle/wrapper/gradle-wrapper.properties,确认distributionUrl指定的Gradle版本和项目使用的AGP版本匹配,例如AGP 7.3.0对应Gradle 7.4+版本 - 打开
android/build.gradle,确认classpath引入的AGP、Google服务插件版本符合Firebase依赖的适配要求 - 打开
android/app/build.gradle,确认文件顶部正确应用com.android.application插件和com.google.gms.google-services插件,不要遗漏插件声明。
- 打开
- 旧项目降级适配
如果项目有历史依赖限制无法升级firebase_auth版本,可以直接将Gradle、AGP降到适配3.3.19版本的区间:AGP使用4.1.x版本,Gradle使用6.7版本,修改后同步构建即可正常运行。
内容的提问来源于stack exchange,提问作者Ibrahim Tinku
相关产品推荐
相关产品推荐

