5

我最近开始使用 Flutter for windows。我正在关注这个firebase 和颤振教程。在第 4 讲中,我遇到了 Firebase Auth 错误:

颤振:MissingPluginException(在通道 plugins.flutter.io/firebase_auth 上找不到方法 signInAnonymously 的实现)

我认为问题是因为我正在为窗户建造。我不知道如何将 firebase 添加到 windows 应用程序。任何帮助表示赞赏

这是完整的日志:

Launching lib\main.dart on Windows in debug mode...
Building Windows application...
Waiting for Windows to report its views...
Debug service listening on ws://127.0.0.1:60688/97Ok8iT1Hjo=/ws
Syncing files to device Windows...
flutter: MissingPluginException(No implementation found for method signInAnonymously on channel plugins.flutter.io/firebase_auth)
flutter: error signing in

编辑 1

pubspec.yaml 文件(依赖项部分)

dependencies:
  flutter:
    sdk: flutter
  firebase_auth: ^0.14.0+5
  cloud_firestore: ^0.12.9+4

编辑 2

我更新了依赖项以使用以下版本:

  firebase_auth: ^0.18.1+2
  cloud_firestore: ^0.14.1+3
  firebase_core: ^0.5.0+1

但现在我收到以下错误:

[ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)

这是我的主要功能的样子:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}
4

4 回答 4

3

await Firebase.initializeApp();在您的void main()函数中添加后,您只是热重新加载或热重启您的颤振。

只需停止您的 main.dart 进程并从头开始再次运行它 - 就是这样,现在您的应用程序已与 firebase 集成!

注意:在运行过程中,一些可能会遇到Multidex 错误的问题,请参考链接:D8: Cannot fit requested classes in a single dex file (# methods: 71610 > 65536)以解决错误添加:

在您的项目级别 >> android >> app >> build.gradle :

defaultConfig {
...

multiDexEnabled true

}

于 2021-03-23T14:35:48.640 回答
2

迟到了,但实际问题是它flutter_core实际上并不支持Windows。
它仅支持 Android、iOS、MacOS 和 Web(请参阅pub.dev 上的firebase_core包)。

在此处输入图像描述

于 2021-11-23T21:26:58.990 回答
1

如果您在 android 上运行应用程序并且您MainActivity有以下导入语句:

import io.flutter.app.FlutterActivity  

您可能不得不将其更改为:

import io.flutter.embedding.android.FlutterActivity
于 2021-03-05T08:53:07.137 回答
-1

但现在我收到以下错误:

[错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:MissingPluginException(在通道 plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现)

正如这里提到的,你需要com.android.tools.build:gradle:3.5.0在你的依赖项中设置android/build.gradle.

dependencies {
    classpath 'com.android.tools.build:gradle:3.5.0'
    // ...
}
于 2020-10-14T15:46:40.547 回答