I have a problem with Firestore database under Flutter. I have done everything, what the package setup documentation says, looked into 2-3 finished public application, and tried to use the package as others use. I even tried to implement native Firestore initialization, because i think the problem is on the platform side, but still, the application get
java.lang.NullPointerException: Firestore component is not present.
when i try to use the Firestore instance.
In project/build.gradle I set
classpath 'com.google.gms:google-services:4.0.1'
for dependency and also imported
'com.google.firebase:firebase-core:16.0.1'
'com.android.support:multidex:1.0.3'
I have the google-service.json in my app folder.
Can anyone help me with this problem? I wasted a day, and still nothing. Thanks a lot!
I also have the same issue after I update my cloud_functions package to 0.4.0. I tried out varies combination and I got this configuration working:
Note that according to the official documentation, Flutter is currently compatible with version 3.2.1 of the Google Services Plugins. I did not do a full test based on 4.2.0 of the Google Services Plugins. So far, Firebase Authentication, Cloud Functions, and Firestore work fine.
https://i.stack.imgur.com/ITWmu.png
check this once, My problem solved using this
Change the google-services to
com.google.gms:google-services:3.2.1
. Although its an older version, works well with all the latest firebase extensions.Okay, so I figured out from looking into an other problem.
I don't know if I was the only one who didn't know, but because of a new gradle update,
was deprecated. I don't really know how the hell, but this caused, that somehow Flutter didn't get the instance right, and throw a nullPointer exception. If anyone has the same problem ( debug console show some deprecated warning), you should change the
lines in android/build.gradle to
I don't really know, why a deprecated form of dependency include caused such a problem, but this change worked for me, and I hope it helps others too. Besides that, I don't think this should cause such a wasted day, as a lot a of documentation should include this fix for the devs.