Flutter:不存在Firestore组件

时间:2019-01-26 20:06:26

标签: android firebase flutter google-cloud-firestore

我在Flutter下的Firestore数据库有问题。我已经按照包安装文档中的说明完成了所有工作,调查了2-3个完成的公共应用程序,并尝试像其他人一样使用该包。我什至尝试实现本机Firestore初始化,因为我认为问题出在平台端,但应用程序仍然

  

java.lang.NullPointerException:不存在Firestore组件。

当我尝试使用Firestore实例时。

在project / build.gradle中,我设置

  

classpath'com.google.gms:google-services:4.0.1'

获取依赖项,并导入

  

'com.google.firebase:firebase-core:16.0.1'

     

'com.android.support:multidex:1.0.3'

我的应用程序文件夹中有google-service.json。

有人可以帮助我解决这个问题吗?我浪费了一天,却一无所获。 非常感谢!

5 个答案:

答案 0 :(得分:2)

https://i.stack.imgur.com/ITWmu.png

检查一次,我的问题已解决

答案 1 :(得分:1)

好的,所以我想出了另一个问题。

我不知道我是否是唯一一个不认识的人,但是由于新的gradle更新,

  

classpath'com.google.gms:google-services:3.2.1'

已弃用。我真的不知道这是怎么回事,但这是导致Flutter无法正确获取实例并引发nullPointer异常的原因。 如果有人遇到相同的问题(调试控制台显示一些已弃用的警告),则应更改

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.google.gms:google-services:3.2.1'

     }
  }
}
android / build.gradle中的

行要

buildscript {
    repositories {
            google()
            jcenter()
        }

    dependencies {
            classpath 'com.android.tools.build:gradle:3.3.0'
            classpath ('com.google.gms:google-services:3.2.1') {
                exclude group: 'com.google.guava', module: 'guava-jdk5'
       }
    }
}

我真的不知道,为什么过时的依赖形式包含会导致这样的问题,但是这种变化对我有用,我希望它也能对其他人有所帮助。除此之外,我认为这不会造成浪费的一天,因为很多文档都应该包括针对开发人员的此修复程序。

答案 2 :(得分:1)

将cloud_functions软件包更新为0.4.0之后,我也遇到了同样的问题。我尝试了各种组合,并使此配置生效:

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

请注意,根据official documentation,Flutter当前与Google服务插件3.2.1版兼容。我没有基于4.2.0的Google服务插件进行完整的测试。到目前为止,Firebase身份验证,云功能和Firestore都可以正常工作。

答案 3 :(得分:0)

将Google服务更改为com.google.gms:google-services:3.2.1。尽管它是较旧的版本,但可以与所有最新的firebase扩展一起很好地工作。

答案 4 :(得分:0)

前几天,我开始研究Flutter Firebasebase实时数据库时遇到了这个问题。看起来这是抖动问题。在花费50分钟解决此问题后,此评论帮助我快速解决了该问题。

https://github.com/flutter/flutter/issues/28745#issuecomment-480651580