当使用flutterWindows应用程序进行Firebase匿名登录时,MissingPluginException异常

问题描述

我最近开始时是用窗户颤动的。我正在关注this Firebase和Flutter教程。在第4课中,我遇到了Firebase Auth错误

Flutter:MissingPluginException(在通道plugins.Flutter.io/firebase_auth上未找到方法signInAnonymous的实现)

我认为问题是因为我正在为Windows构建。我不知道如何将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());
}

解决方法

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

import io.flutter.app.FlutterActivity  

您可能需要将其更改为:

import io.flutter.embedding.android.FlutterActivity
,

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

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

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

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

defaultConfig {
...

multiDexEnabled true

}

,

但是现在我遇到以下错误:

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

here中所述,您需要在com.android.tools.build:gradle:3.5.0的依赖项中设置android/build.gradle

dependencies {
    classpath 'com.android.tools.build:gradle:3.5.0'
    // ...
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...