When I try to initialize firebase with my flutter project I get this error:
[ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)
At first I thought that it had something to do with the firebase core page but I've tried to use older page and I still get the same error
The complete error:
E/flutter ( 8415): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)
E/flutter ( 8415): #0 MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:157
E/flutter ( 8415): <asynchronous suspension>
E/flutter ( 8415): #1 MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:332
E/flutter ( 8415): #2 MethodChannel.invokeListMethod
package:flutter/…/services/platform_channel.dart:345
E/flutter ( 8415): #3 MethodChannelFirebase._initializeCore (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:30:36)
E/flutter ( 8415): #4 MethodChannelFirebase.initializeApp (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:75:13)
E/flutter ( 8415): #5 Firebase.initializeApp (package:firebase_core/src/firebase.dart:43:25)
E/flutter ( 8415): #6 main
package:crypto_wallet/main.dart:7
E/flutter ( 8415): #7 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:231:25)
E/flutter ( 8415): #8 _rootRun (dart:async/zone.dart:1190:13)
E/flutter ( 8415): #9 _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter ( 8415): #10 _runZoned (dart:async/zone.dart:1630:10)
E/flutter ( 8415): #11 runZonedGuarded (dart:async/zone.dart:1618:12)
E/flutter ( 8415): #12 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:223:5)
E/flutter ( 8415): #13 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:301:19)
E/flutter ( 8415): #14 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
E/flutter ( 8415):
The dependencies :
dependencies:
flutter:
sdk: flutter
firebase_core: "^0.5.0+1"
firebase_auth: "^0.18.1+2"
cloud_firestore: "^0.14.1+3"
This is my main function:
void main () async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
the build.gradle file (dependencies)
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath 'com.google.gms:google-services:4.3.4'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
I assume that you have the same issue as here. So you need to change the relevant part in your build.gradle file with the following:
'com.android.tools.build:gradle:3.5.0'
You can read more from here.
Related
Everytime I'm pressing pick image in release mode it's showing me this error
E/flutter (24004): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(already_active, Image picker is already active, null, null)
E/flutter (24004): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:581)
E/flutter (24004): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158)
E/flutter (24004): <asynchronous suspension>
E/flutter (24004): #2 MethodChannelImagePicker.pickImage (package:image_picker_platform_interface/src/method_channel/method_channel_image_picker.dart:29)
E/flutter (24004): <asynchronous suspension>
E/flutter (24004): #3 _UploadDataCardState.getImage (package:visual_retail/screens/FillData/UploadDataCard.dart:164)
E/flutter (24004): <asynchronous suspension>
E/flutter (24004):
In debug mode it's working properly
Downgrade Gradle version to : classpath 'com.android.tools.build:gradle:3.5.4'
after downgrading Gradle version change kotlin version
this is my version ext.kotlin_version = '1.6.10' for 'com.android.tools.build:gradle:4.1.0'
find yours
buildscript {
ext.kotlin_version = '1.6.10'
repositories {
google()
mavenCentral()
}
Im using Firestore for mu Flutter project.
I cannot update a field in a document. It results in error (error performing update, No document found)
Code:
await Firestore.instance.collection('QuizProfile').document("20200528-KYUMI").updateData(
{
'Slot': 'asdfg',
},
);
}
Error message ::
E/flutter (18326): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception:
PlatformException(Error performing updateData, NOT_FOUND:
No document to update: projects/fir-2d2f0/databases/(default)/documents/QuizProfile/20200528-KYUMI, null)
E/flutter (18326): #0 StandardMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:569
E/flutter (18326): #1 MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:321
E/flutter (18326): <asynchronous suspension>
E/flutter (18326): #2 MethodChannelDocumentReference.updateData
package:cloud_firestore_platform_interface/…/method_channel/method_channel_document_reference.dart:41
E/flutter (18326): #3 DocumentReference.updateData
package:cloud_firestore/src/document_reference.dart:60
E/flutter (18326): #4 Model.pushscore
package:firestoredemo/models/QA_Model.dart:214
E/flutter (18326): <asynchronous suspension>
E/flutter (18326): #5 _CustomTextState.initState
package:firestoredemo/CustomText.dart:21
Firestore database screenshot
I keep getting this error below:
The method 'signInWithCredential' was called on null.
[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The method 'signInWithCredential' was called on null.
E/flutter (29053): Receiver: null
E/flutter (29053): Tried calling: signInWithCredential(Instance of 'AuthCredential')
E/flutter (29053): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
E/flutter (29053): #1 _LoginScreenState._signInWithPhoneNumber (package:jollycab_flutter/screens/login_screen.dart:74:43)
E/flutter (29053): <asynchronous suspension>
E/flutter (29053): #2 _LoginScreenState.build.<anonymous closure> (package:jollycab_flutter/screens/login_screen.dart:384:23)
E/flutter (29053): <asynchronous suspension>
E/flutter (29053): #3 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:511:14)
E/flutter (29053): #4 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:566:30)
E/flutter (29053): #5 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:166:24)
E/flutter (29053): #6 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:240:9)
E/flutter (29053): #7 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:177:9)
I am using the code example from the flutter team here:
https://github.com/flutter/plugins/blob/master/packages/firebase_auth/example/lib/signin_page.dart
The Code starts from line 508. For some reason, signInWithCredential does not seem to be getting what it wants or is not working
if you used the example, then somewhere in the code you have _auth.signInWithCredential and _auth is null, you missing the initialization of it. or you are initializing it with invalid value (null?)
I have a problem reading data from a firebase database.
The code below belongs to a function attached to a [FlatButton]:
void newEntry(){
print(_database.reference().child('todo').equalTo('Dan').once().then((value){
print(value.key);
}));
}
Whenever I run this piece of code I get this error:
I/flutter (29847): Instance of 'Future<dynamic>'
D/NetworkSecurityConfig(29847): No Network Security Config specified, using platform default
W/SyncTree(29847): Listen at /todo failed: DatabaseError: Permission denied
E/flutter (29847): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Instance of 'DatabaseError'
E/flutter (29847): #0 Query.once (package:firebase_database/src/query.dart:90:41)
E/flutter (29847): <asynchronous suspension>
E/flutter (29847): #1 _MyAppState.newEntry (package:database_project/main.dart:94:62)
E/flutter (29847): #2 _MyAppState._buildButton.<anonymous closure> (package:database_project/main.dart:88:9)
E/flutter (29847): #3 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:511:14)
E/flutter (29847): #4 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:566:30)
E/flutter (29847): #5 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:166:24)
E/flutter (29847): #6 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:240:9)
E/flutter (29847): #7 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:177:9)
E/flutter (29847): #8 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:436:9)
E/flutter (29847): #9 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
E/flutter (29847): #10 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
E/flutter (29847): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:221:19)
E/flutter (29847): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:199:22)chEvent (package:flutter/src/gestures/binding.dart:199:22) ePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (29847): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)ePointerEvent (package:flutter/src/gestures/binding.dart:156:7) ePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (29847): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (29847): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (29847): #16 _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter (29847): #17 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (29847): #18 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7) ity]
E/flutter (29847): #19 _invoke1 (dart:ui/hooks.dart:233:10)
E/flutter (29847): #20 _dispatchPointerDataPacket (dart:ui/hooks.dart:154:5) w{8084b2a VFE...... .F...... 0,0-1440,2872} of ViewRootImpl#b8c6359[MainActivity]
E/flutter (29847): t/com.example.database_project.MainActivity#8084b2a#0[29847])/#0xeeafd1b io.flutter.view.FlutterView{8084b2a VFE.D/ViewRootImpl#b8c6359[MainActivity](29847): MSG_WINDOW_FOCUS_CHANGED 0 1
D/InputMethodManager(29847): prepareNavigationBarInfo() DecorView#48d0f7a[MainActivew{8084b2a VFE...... .F...... 0,0-1440,2872}ity]
D/InputMethodManager(29847): getNavigationBarColor() -855310D/SurfaceView(29847): onWindowVisibilityChanged(8) false io.flutter.view.FlutterView{8084b2a VFE...... .F...... 0,0-1440,2872} of ViewRootImpl#b8c6359[MainActivity]D/SurfaceView(29847): show() Surface(name=SurfaceView - com.example.database_project/com.example.database_project.MainActivity#8084b2a#0[29847])/#0xeeafd1b io.flutter.view.FlutterView{8084b2a VFE...... .F...... 0,0-1440,2872}D/SurfaceView(29847): surfaceDestroyed callback.size 1 #2 io.flutter.view.FlutterView{8084b2a VFE...... .F...... 0,0-1440,2872}W/libEGL (29847): EGLNativeWindowType 0x7af3edd010 disconnect failed
D/SurfaceView(29847): destroy() Surface(name=SurfaceView - com.example.database_project/com.example.database_project.MainActivity#8084b2a#0[29847])/#0xeeafd1b io.flutter.view.FlutterView{8084b2a VFE...... .F...... 0,0-1440,2872}W/libEGL (29847): EGLNativeWindowType 0x7b02e2a010 disconnect failedD/OpenGLRenderer(29847): eglDestroySurface = 0x7af3f13680, 0x7b02e2a000D/ViewRootImpl#b8c6359[MainActivity](29847): Relayout returned: old=[0,0][1440,3040] new=[0,0][1440,3040] result=0x5 surface={valid=false 0} changed=trueD/ViewRootImpl#b8c6359[MainActivity](29847): setWindowStopped(true) old=false
D/SurfaceView(29847): windowStopped(true) false io.flutter.view.FlutterView{8084b2a VFE...... .F...... 0,0-1440,2872} of ViewRootImpl#b8c6359[MainActivity]
D/ViewRootImpl#b8c6359[MainActivity](29847): Surface release. android.view.WindowManagerGlobal.setStoppedState:669 android.app.Activity.performStop:7647 android.app.ActivityThread.callActivityOnStop:4372 android.app.ActivityThread.performStopActivityInner:4350 android.app.ActivityThread.handleStopActivity:4425 android.app.servertransaction.StopActivityItem.execute:41 android.app.servertransaction.TransactionExecutor.executeLifecycleState:145 android.app.servertransaction.TransactionExecutor.execute:70
D/InputTransport(29847): Input channel destroyed: fd=100
I/FirebaseAuth(29847): [FirebaseAuth:] Loading module via FirebaseOptions.I/FirebaseAuth(29847): [FirebaseAuth:] Preparing to create service connection to gms implementation
As for the path of the database is todo/userId/Dan Database.
EDIT: Forgot to mention that I updated my security rules as following:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
EDIT
As per #Andrey Ilyunin comment I've authenticated my application to an user and applied the same security rules. I still get the same exception, i.e:
D/NetworkSecurityConfig( 4123): No Network Security Config specified, using platform default
W/SyncTree( 4123): Listen at /todo failed: DatabaseError: Permission denied
E/flutter ( 4123): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Instance of 'DatabaseError'
E/flutter ( 4123): null
E/flutter ( 4123): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Instance of 'DatabaseError'
E/flutter ( 4123): null
I'm trying to access to a Cloud Firestore with this piece of code :
void _submit(BuildContext context) async {
final DocumentReference postRef = Firestore.instance.document(dbPath);
Firestore.instance.runTransaction((transaction) async {
DocumentSnapshot freshSnap = await transaction.get(postRef);
await transaction.update(freshSnap.reference, {
'value': freshSnap['value'] + 1
});
});
}
If wifi or mobile data are on, everything works fine. (as expected)
If wifi and mobile data are off, it does not work. (as expected). But when I wait until the timeout (after calling the method) and only then, turn mobile data and wifi on, it does not work anymore and I get the following errors :
E/flutter ( 7041): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter ( 7041): PlatformException(Error performing transaction, Timed out waiting for Task, null)
E/flutter ( 7041): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:547:7)
E/flutter ( 7041): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)
E/flutter ( 7041): <asynchronous suspension>
E/flutter ( 7041): #2 Firestore.runTransaction (file:///C:/{myPath}/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.3/lib/src/firestore.dart:115:10)
E/flutter ( 7041): <asynchronous suspension>
E/flutter ( 7041): #3 _FeedbackPageState._submitFeedback (package:appli_salon_data/view/program/FeedbackPage.dart:74:26)
E/flutter ( 7041): <asynchronous suspension>
E/flutter ( 7041): #4 _FeedbackPageState.build.<anonymous closure> (package:appli_salon_data/view/program/FeedbackPage.dart:60:26)
E/flutter ( 7041): #5 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:494:14)
E/flutter ( 7041): #6 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:549:30)
E/flutter ( 7041): #7 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter ( 7041): #8 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
E/flutter ( 7041): #9 TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:123:7)
E/flutter ( 7041): #10 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 7041): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:147:20)
E/flutter ( 7041): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
E/flutter ( 7041): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
E/flutter ( 7041): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
E/flutter ( 7041): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
E/flutter ( 7041): #16 _invoke1 (dart:ui/hooks.dart:134:13)
E/flutter ( 7041): #17 _dispatchPointerDataPacket (dart:ui/hooks.dart:91:5)
(not expected)
The method won't work again until I relaunch the app.
If anyone has some explanation about this behaviour, feel free to answer :)
UPDATE : I tried this :
Switch off Wifi
Try to run the transaction - results in expected failure
Switch on Wifi
Try to run the transaction
Here is the interesting part : at step 4, the transaction is "immediately" run twice, both times getting the error :
PlatformException(Error performing Transaction#get, UNAVAILABLE: Unable to resolve host firestore.googleapis.com, null)
when calling transaction.get(postRef).
Could it mean that Firestore somehow loses all access to the host after losing Internet connection briefly once ? How can I fix that ?
Have you tried enabling local persistence? Not sure if that'll catch the issue, but it might be worth a try. I believe this is done using the persistenceEnabled parameter in the settings method:
Firestore.instance.settings(persistenceEnabled: true)
Keep in mind that this should only be done once, so it should go somewhere in your code that won't get called every time you access any Firestore data.