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’
‘com.google.firebase:firebase-core:16.0.1’
‘com.android.support:multidex:1.0.3’
我的应用程序文件夹中有google-service.json。
谁能帮助我解决这个问题?我浪费了一天,却一无所获。非常感谢!
好吧,所以我想通了另一个问题。
我不知道我是否是唯一一个不认识的人,但是由于新的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' } } }
我真的不知道,为什么过时的依赖形式包含会导致这样的问题,但是这种更改对我有用,我希望它也能对其他人有所帮助。除此之外,我认为这不会造成浪费,因为很多文档都应该包括针对开发人员的此修复程序。