【问题标题】:Flutter + Firebase | java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't existFlutter + Firebase | java.lang.IllegalStateException:名称为 [DEFAULT] 的 FirebaseApp 不存在
【发布时间】:2019-07-09 12:09:17
【问题描述】:

我正在尝试通过连接我的基本 Flutter 应用到 Cloud Firestore(在 Firebase 中)来完成一个非常简单的练习。

我已按照有关设置的说明进行操作。但是,我收到以下错误。

E/MethodChannel#plugins.flutter.io/cloud_firestore(13217): Failed to handle method call
E/MethodChannel#plugins.flutter.io/cloud_firestore(13217): java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.

我的颤振代码:

import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Playground',
        home: Scaffold(
            appBar: AppBar(
              title: Text('Playground App'),
            ),
            body: Column(children: <Widget>[
              Text('Sup World?'),
            StreamBuilder(
              stream: Firestore.instance.collection('test').snapshots(),
              builder: (context, snapshot) {
                if (!snapshot.hasData) return const Text('Loading....');

                return Text('Loaded');
              },
            )
            ])));
  }
}

android\build.gradle 文件中的依赖项

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.1'
    classpath 'com.google.gms:google-services:4.0.1'
}

在 android\app\build.gradle 文件中添加的依赖项和新行

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.firebase:firebase-core:16.0.1'
}

apply plugin: 'com.google.gms.google-services'

pubspec.yaml 中的依赖项

dependencies:
  flutter:
    sdk: flutter
  intl: 0.15.7
  cloud_firestore: ^0.8.2

我还下载了 google-services.json 文件并将其添加到 android\app 文件夹中。

在 Firestore 数据库中,我有一个 ID 为 test 的集合,其中包含一个文档。

预期结果: 文本“Loaded”应该出现在文本“Sup World?”下

但是,我收到上述错误,并且显示文本“正在加载”。

有人可以帮忙解决这个问题吗?

【问题讨论】:

  • 如果您也添加 pubspec 文件会很好,这样我们就可以知道您是否在 flutter pubspec.yaml 中添加了 firebase 插件!并交叉检查您是否在项目级别的 gradle 中添加了类路径“com.google.gms:google-services:3.0.0”。
  • @Harshapulikollu - 我已经使用 pubspec.yaml 文件中的依赖项更新了线程。
  • @Harshapulikollu - 关于项目级别的 gradle,您是指颤振项目级别的 gradle 文件吗?我的没有。
  • 我的意思是在你的 android 项目级别。 /android/build.gradle 文件
  • @Harshapulikollu - 是的,它在里面。我已经在上面添加了。再次将其放在这里以防万一:dependencies { classpath 'com.android.tools.build:gradle:3.3.1' classpath 'com.google.gms:google-services:4.0.1' }

标签: firebase flutter google-cloud-firestore


【解决方案1】:

我也在 GitHub 上发布了这个。在项目上运行flutter clean,然后再次运行应用程序为我修复了它。

GitHub 问题的 URL。 https://github.com/flutter/flutter/issues/28003

【讨论】:

    【解决方案2】:

    当我更新到较新的 google-services 时出现此错误。

    切换回classpath 'com.google.gms:google-services:3.2.1' 并开始正常工作。

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 1970-01-01
      • 2019-12-04
      • 2016-12-07
      • 2020-07-03
      • 2016-09-17
      • 2016-12-03
      • 1970-01-01
      • 2021-10-17
      相关资源
      最近更新 更多