【问题标题】:Flutter: Firestore component is not present颤振:Firestore 组件不存在
【发布时间】:2019-06-20 06:57:42
【问题描述】:

我在 Flutter 下的 Firestore 数据库有问题。我已经完成了包设置文档所说的一切,查看了 2-3 个完成的公共应用程序,并尝试像其他人一样使用该包。我什至尝试实现原生 Firestore 初始化,因为我认为问题出在平台方面,但应用程序仍然得到

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

当我尝试使用 Firestore 实例时。

在 project/build.gradle 我设置

类路径'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。

谁能帮我解决这个问题?我浪费了一天,还是一无所获。 非常感谢!

【问题讨论】:

    标签: android firebase flutter google-cloud-firestore


    【解决方案1】:

    好的,所以我通过研究另一个问题找到了答案。

    我不知道是不是只有我一个不知道,但是因为新的 gradle 更新,

    类路径'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】:

      在将 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 目前与 3.2.1 版的 Google 服务插件兼容。我没有基于 4.2.0 的 Google Services Plugins 进行完整的测试。到目前为止,Firebase 身份验证、Cloud Functions 和 Firestore 工作正常。

      【讨论】:

        【解决方案3】:

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

        检查一次,我的问题用这个解决了

        【讨论】:

          【解决方案4】:

          将 google-services 更改为 com.google.gms:google-services:3.2.1。虽然它是旧版本,但可以与所有最新的 firebase 扩展配合使用。

          【讨论】:

            【解决方案5】:

            前几天我开始研究 Flutter Firebase 实时数据库时遇到了这个问题。看起来这是颤动的一些缓存问题。在花了 50 分钟解决这个问题后,这条评论帮助我快速解决了它。

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-06-19
              • 1970-01-01
              • 1970-01-01
              • 2021-07-04
              • 2021-03-18
              • 2021-10-30
              • 2020-01-12
              相关资源
              最近更新 更多