我正在尝试通过将基本的 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 的集合,其中包含一个文档。
预期结果: 文本“已加载”应该出现在文本“ Sup World?”下。
但是,我遇到了以上错误,并且显示了文本“正在加载”。
有人可以帮助解决此问题吗?
答案 0 :(得分:1)
我也已经在GitHub上发布了此内容。在项目上运行流畅的运行,然后再次运行应用程序为我修复了该问题。
GitHub问题的URL。 https://github.com/flutter/flutter/issues/28003
答案 1 :(得分:0)
我更新到较新的google-services时遇到此错误。
切换回classpath 'com.google.gms:google-services:3.2.1'
,它开始正常工作。