Flutter Firebase身份验证和Google登录时出错

Flutter Firebase身份验证和Google登录时出错,flutter,Flutter,我有两个颤振应用程序作为我的学习。他们都使用firebase auth和google登录,代码完全相同。我设法从中复制了这个片段 但是有不同的firebase应用程序 第一个应用程序完全运行良好。但第二个问题有点含糊不清。 我不知道我为什么会犯这个错误 E/MethodChannel#plugins.flutter.io/firebase_auth( 9042): Failed to handle method call E/MethodChannel#plugins.flutter.io/fi

我有两个颤振应用程序作为我的学习。他们都使用firebase auth和google登录,代码完全相同。我设法从中复制了这个片段 但是有不同的firebase应用程序

第一个应用程序完全运行良好。但第二个问题有点含糊不清。 我不知道我为什么会犯这个错误

E/MethodChannel#plugins.flutter.io/firebase_auth( 9042): Failed to handle method call
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042): java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.firebase.auth.FirebaseAuth.addAuthStateListener(com.google.firebase.auth.FirebaseAuth$AuthStateListener)' on a null object reference
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.handleStartListeningAuthState(FirebaseAuthPlugin.java:629)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.onMethodCall(FirebaseAuthPlugin.java:149)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:201)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:88)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:219)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at android.os.MessageQueue.next(MessageQueue.java:326)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at android.os.Looper.loop(Looper.java:160)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at android.app.ActivityThread.main(ActivityThread.java:6669)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/MethodChannel#plugins.flutter.io/firebase_auth( 9042):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
D/EGL_emulation( 9042): eglMakeCurrent: 0xc9976640: ver 2 0 (tinfo 0xe1031ea0)
E/flutter ( 9042): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Attempt to invoke virtual method 'void com.google.firebase.auth.FirebaseAuth.addAuthStateListener(com.google.firebase.auth.FirebaseAuth$AuthStateListener)' on a null object reference, null)
当我使用google登录时出现此错误

E/MethodChannel#plugins.flutter.io/google_sign_in( 9042): Failed to handle method call
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.tokoku_flutter/com.google.android.gms.auth.api.signin.internal.SignInHubActivity}; have you declared this activity in your AndroidManifest.xml?
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2005)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1673)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.app.Activity.startActivityForResult(Activity.java:4586)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.app.Activity.startActivityForResult(Activity.java:4544)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at io.flutter.plugins.googlesignin.GoogleSignInPlugin$Delegate.signIn(GoogleSignInPlugin.java:292)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at io.flutter.plugins.googlesignin.GoogleSignInPlugin.onMethodCall(GoogleSignInPlugin.java:77)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:201)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:88)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:219)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.os.MessageQueue.next(MessageQueue.java:326)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.os.Looper.loop(Looper.java:160)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at android.app.ActivityThread.main(ActivityThread.java:6669)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/MethodChannel#plugins.flutter.io/google_sign_in( 9042):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
D/AndroidRuntime( 9042): Shutting down VM
E/AndroidRuntime( 9042): FATAL EXCEPTION: main
E/AndroidRuntime( 9042): Process: com.example.tokoku_flutter, PID: 9042
E/AndroidRuntime( 9042): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=53293, result=0, data=null} to activity {com.example.tokoku_flutter/com.example.tokoku_flutter.MainActivity}: java.lang.IllegalStateException: Reply already submitted
E/AndroidRuntime( 9042):    at android.app.ActivityThread.deliverResults(ActivityThread.java:4360)
E/AndroidRuntime( 9042):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:4402)
E/AndroidRuntime( 9042):    at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
E/AndroidRuntime( 9042):    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime( 9042):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime( 9042):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
E/AndroidRuntime( 9042):    at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime( 9042):    at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime( 9042):    at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime( 9042):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 9042):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime( 9042):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime( 9042): Caused by: java.lang.IllegalStateException: Reply already submitted
E/AndroidRuntime( 9042):    at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:124)
E/AndroidRuntime( 9042):    at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.error(MethodChannel.java:209)
E/AndroidRuntime( 9042):    at io.flutter.plugins.googlesignin.GoogleSignInPlugin$Delegate.finishWithError(GoogleSignInPlugin.java:386)
E/AndroidRuntime( 9042):    at io.flutter.plugins.googlesignin.GoogleSignInPlugin$Delegate.onActivityResult(GoogleSignInPlugin.java:524)
E/AndroidRuntime( 9042):    at io.flutter.app.FlutterPluginRegistry.onActivityResult(FlutterPluginRegistry.java:222)
E/AndroidRuntime( 9042):    at io.flutter.app.FlutterActivityDelegate.onActivityResult(FlutterActivityDelegate.java:142)
E/AndroidRuntime( 9042):    at io.flutter.app.FlutterActivity.onActivityResult(FlutterActivity.java:142)
E/AndroidRuntime( 9042):    at android.app.Activity.dispatchActivityResult(Activity.java:7454)
E/AndroidRuntime( 9042):    at android.app.ActivityThread.deliverResults(ActivityThread.java:4353)
E/AndroidRuntime( 9042):    ... 11 more
E/flutter ( 9042): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Unable to find explicit activity class {com.example.tokoku_flutter/com.google.android.gms.auth.api.signin.internal.SignInHubActivity}; have you declared this activity in your AndroidManifest.xml?, null)
E/flutter ( 9042): #0      StandardMethodCodec.decodeEnvelope 
package:flutter/…/services/message_codecs.dart:564
E/flutter ( 9042): #1      MethodChannel.invokeMethod 
package:flutter/…/services/platform_channel.dart:302
E/flutter ( 9042): <asynchronous suspension>
E/flutter ( 9042): #2      GoogleSignIn._callMethod 
package:google_sign_in/google_sign_in.dart:226
E/flutter ( 9042): <asynchronous suspension>
E/flutter ( 9042): #3      GoogleSignIn._addMethodCall 
package:google_sign_in/google_sign_in.dart:268
E/flutter ( 9042): #4      GoogleSignIn.signIn 
package:google_sign_in/google_sign_in.dart:339
E/flutter ( 9042): #5      AuthService.googleSignIn 
package:tokoku_flutter/services/AuthService.dart:39
E/flutter ( 9042): <asynchronous suspension>
E/flutter ( 9042): #6      _LoginPageState._loginButton.<anonymous closure>.<anonymous closure> 
package:tokoku_flutter/pages/LoginPage.dart:60
E/flutter ( 9042): #7      _InkResponseState._handleTap 
package:flutter/…/material/ink_well.dart:511
E/flutter ( 9042): #8      _InkResponseState.build.<anonymous closure> 
package:flutter/…/material/ink_well.dart:566
E/flutter ( 9042): #9      GestureRecognizer.invokeCallback 
package:flutter/…/gestures/recognizer.dart:166
E/flutter ( 9042): #10     TapGestureRecognizer._checkUp 
package:flutter/…/gestures/tap.dart:240
E/flutter ( 9042): #11     TapGestureRecognizer.handlePrimaryPointer 
package:flutter/…/gestures/tap.dart:177
E/flutter ( 9042): #12     PrimaryPointerGestureRecognizer.handleEvent 
package:flutter/…/gestures/recognizer.dart:436
E/flutter ( 9042): #13     PointerRouter._dispatch 
package:flutter/…/gestures/pointer_router.dart:73
E/flutter ( 9042): #14     PointerRouter.route 
package:flutter/…/gestures/pointer_router.dart:101
E/flutter ( 9042): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent 
package:flutter/…/gestures/binding.dart:221
E/flutter ( 9042): #16     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent 
package:flutter/…/gestures/binding.dart:199
E/flutter ( 9042): #17     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent 
package:flutter/…/gestures/binding.dart:156
E/flutter ( 9042): #18     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue 
package:flutter/…/gestures/binding.dart:102
E/flutter ( 9042): #19     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket 
package:flutter/…/gestures/binding.dart:86
E/flutter ( 9042): #20     _rootRunUnary  (dart:async/zone.dart:1136:13)
E/flutter ( 9042): #21     _CustomZone.runUnary  (dart:async/zone.dart:1029:19)
E/flutter ( 9042): #22     _CustomZone.runUnaryGuarded  (dart:async/zone.dart:931:7)
E/flutter ( 9042): #23     _invoke1  (dart:ui/hooks.dart:233:10)
E/flutter ( 9042): #24     _dispatchPointerDataPacket  (dart:ui/hooks.dart:154:5)
E/flutter ( 9042):
I/Process ( 9042): Sending signal. PID: 9042 SIG: 9
Lost connection to device.
Exited (sigterm)
注意: 我已经在firebase应用程序中设置了sha密钥。 我已经把googleservice.json 我已经在gradle中添加了类路径和依赖项
在与这个问题斗争了一段时间之后,我已经将我的颤振应用程序迁移到了androidX上


运行
flatter clean
问题就会消失

亲爱的我在图像网络中有空可以解释。如何处理?
dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2
  rxdart: ^0.22.0
  firebase_auth: ^0.11.1
  firebase_core: ^0.4.0+1
  google_sign_in: ^4.0.1+3
  cloud_firestore: ^0.11.0+2
  get_it: ^1.0.3