![](/img/trans.png)
[英]Flutter : PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null) when using google_sign_in
[英]A different google_sign_in Exception with : ApiException: 10: , null, null)
当我尝试从我的 flutter 应用程序进行 Google 登录时出现以下错误。
未处理的异常:PlatformException(sign_in_failed,com.google.android.gms.common.api.ApiException:10:)
与堆栈溢出中可用的所有其他问题相比,我在此异常中发现的另一件事是,这里有 2 个 null -
ApiException:10:,null,空)
以下是flutter doctor -v
:
[√] Flutter (Channel stable, 2.0.5, on Microsoft Windows [Version 10.0.19042.928], locale en-IN)
• Flutter version 2.0.5 at D:\app_development\flutter
• Framework revision adc687823a (7 days ago), 2021-04-16 09:40:20 -0700
• Engine revision b09f014e96
• Dart version 2.12.3
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at C:\Android\sdk
• Platform android-30, build-tools 30.0.3
• ANDROID_HOME = C:\Android\sdk
• ANDROID_SDK_ROOT = C:\Android\sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] VS Code (version 1.55.2)
• VS Code at C:\Users\aryan pegwar\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.21.0
[√] Connected device (3 available)
• Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)
• Chrome (web) • chrome • web-javascript • Google Chrome 90.0.4430.72
• Edge (web) • edge • web-javascript • Microsoft Edge 90.0.818.42
• No issues found!
following is the flutter run :-
Using hardware rendering with device Android SDK built for x86. If you notice graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 13.1s
√ Built build\app\outputs\flutter-apk\app-debug.apk.
D/EGL_emulation( 7571): eglMakeCurrent: 0xdb766c80: ver 2 0 (tinfo 0xdeccb3d0)
D/eglCodecCommon( 7571): setVertexArrayObject: set vao to 0 (0) 1 0
Syncing files to device Android SDK built for x86... 85ms
Flutter run key commands.
r Hot reload.
R Hot restart.
h Repeat this help message.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).
An Observatory debugger and profiler on Android SDK built for x86 is available at: http://127.0.0.1:52578/PXVd2TjxZhA=/
Flutter DevTools, a Flutter debugger and profiler, on Android SDK built for x86 is available at: http://127.0.0.1:9102?uri=http%3A%2F%2F127.0.0.1%3A52578%2FPXVd2TjxZhA%3D%2F
Running with sound null safety
W/ActivityThread( 7571): handleWindowVisibility: no activity for token android.os.BinderProxy@ccd6b14
D/EGL_emulation( 7571): eglMakeCurrent: 0xdb7658a0: ver 2 0 (tinfo 0xdb7a7320)
D/EGL_emulation( 7571): eglMakeCurrent: 0xdb7658a0: ver 2 0 (tinfo 0xdb7a7320)
E/flutter ( 7571): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)
E/flutter ( 7571): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:581:7)
E/flutter ( 7571): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158:18)
E/flutter ( 7571): <asynchronous suspension>
E/flutter ( 7571): #2 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:358:43)
E/flutter ( 7571): <asynchronous suspension>
E/flutter ( 7571):
调试案例:- SHA 密钥是这里的主要角色。 如果我们从您的机器生成构建,请确保提供的 SHA 密钥仅属于该设备,我的意思是,在您的机器中生成一个 SHA 密钥并提供该 SHA 密钥
keytool -keystore path-to-debug-or-production-keystore -list -v
对于一个以前运行良好的应用程序,我为此努力了好几个小时。
我能找到的所有 SHA-1 密钥(调试、发布、播放签名)都已添加到 Firebase。
在“尝试了一切”之后,我决定也在Google Cloud Console中彻底检查它们。 事实证明,他们都已经在那里了。
但是-其中一个已添加到错误的项目中,从该项目中删除并将其添加到正确的项目后。 谷歌登录立即重新开始工作。
为什么在多年将 SHA-1 密钥用于错误的项目并且在 Play 商店中看似正常工作的应用程序之后,这突然成为一个问题,这让我无法理解。 但这可能会帮助其他人突然ApiException: 10: , null, null
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.