Firebase for Flutter 登录构建失败

Posted

技术标签:

【中文标题】Firebase for Flutter 登录构建失败【英文标题】:Firebase for Flutter sign-in build failure 【发布时间】:2017-11-20 23:42:49 【问题描述】:

我一直在成功学习 Firebase for Flutter 教程,直到我达到“设置 Firebase 集成”为止。当我在手机上重新启动应用程序时,构建失败并出现以下异常:

注意: /Users/williamdevore/.pub-cache/hosted/pub.dartlang.org/firebase_storage-0.0.2/android/src/main/java/io/flutter/plugins/firebase/storage/FirebaseStoragePlugin.java 使用未经检查或不安全的操作。注意:重新编译 -Xlint:详细信息未选中。 /Users/williamdevore/.pub-cache/hosted/pub.dartlang.org/google_sign_in-0.0.6/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java:30: 错误:找不到符号导入 io.flutter.app.FlutterFragmentActivity; ^ 符号:类 FlutterFragmentActivity 位置:包 io.flutter.app /Users/williamdevore/.pub-cache/hosted/pub.dartlang.org/google_sign_in-0.0.6/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java:98: 错误:找不到符号 + FlutterFragmentActivity.class.getName()); ^ 符号:类 FlutterFragmentActivity 位置:类 GoogleSignInPlugin 2 错误

FAILURE:构建失败并出现异常。

Flutter 医生说 Android 一切正常。我有最新的“一切”。我能够设置 google-services json 文件并毫无问题地使用 Firebase 控制台。

我完全按照说明修改了 build.gradle 文件——两次!

在特定于 Android 的 Flutter 教程之外,我还应该做一些其他的步骤吗?也许是 Brew 或 cocoapods?

【问题讨论】:

【参考方案1】:

您的 Flutter 版本似乎与您使用的 Google 登录插件版本不匹配。目前插件没有声明它们需要哪些 Flutter 版本(但将来可能会改变)。

运行flutter update 是否能让您摆脱此错误?如果没有,请尝试运行 flutter doctor 并查看您的 Flutter SDK 的年龄。您希望它包含提交 b4ba972bf394a2269824e1eadaa1627bbc872d4b,因此它最多应该是几天前的。

您应该在MainActivity.java 中出现的两个位置将FlutterActivity 替换为FlutterFragmentActivity。 (在下一次 Google 登录插件更新中不需要这样做;请参阅 issue 10690。)

【讨论】:

谢谢科林。运行flutter upgrade 解决了这个问题,但现在应用程序一直停止,没有错误消息。我正在尝试任何类型的日志文件,但我找到的唯一一个是颤振构建过程。您会碰巧知道要搜索的任何日志文件吗? 您可能希望在回复中将flutter update 更改为flutter upgrade。这让我愣了一秒。 不要尝试在现有项目上升级颤振。如果你是颤振新手,你肯定会后悔

以上是关于Firebase for Flutter 登录构建失败的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法确定用户是通过自定义 Firebase 帐户还是通过 Flutter 中的 Google 帐户登录的?

Flutter - 尝试构建未来的上下文以检查用户是不是已登录,但我的构建方法有错误

Flutter Login with Facebook 返回构建错误

Flutter:Firebase 身份验证和 Firestore 快照流

Flutter + Firebase:如何实现“谷歌登录”

Firebase + Flutter:获取用于登录的平台用户