Flutter Google 登录:Windows 上出现“ApiException: 10”错误(适用于 MacOS)

问题描述 投票:0回答:1

我正在 Flutter 应用程序中实现 Google 登录,但遇到了需要帮助的问题。

问题描述:

在 MacOS 上:

当我的同事在他们的 MacOS 计算机上构建并运行该应用程序时,Google 登录可以完美运行。 在连接到 Mac 的物理设备上运行该应用程序也可以正常运行,不会出现任何问题。 在 Windows 11 上:

当我在 Windows 11 计算机上构建并运行相同的应用程序时,Google 登录失败并出现以下错误:

PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)

我尝试过的:

添加了 SHA-1 证书指纹:

使用 keytool 从我的 Windows 计算机的调试密钥库中获取 SHA-1 指纹:

keytool -list -v -alias androiddebugkey -keystore "%USERPROFILE%\.android\debug.keystore" -storepass android -keypass android

将此 SHA-1 指纹添加到 Firebase 控制台。

也尝试使用 Google Play Console 中的所有 SHA-1 密钥。

已验证的 OAuth 客户端 ID:

确认 Google Cloud Console 中的 OAuth 客户端 ID 与项目匹配。 已检查包裹名称:

确保应用程序的包名称与 Firebase 中注册的包名称完全匹配。 已授予互联网权限:

在 AndroidManifest.xml 中添加互联网权限:

<uses-permission android:name="android.permission.INTERNET" />

依赖项和 Gradle 配置:

pubspec.yaml 依赖项:

dependencies:
  flutter:
    sdk: flutter
  google_sign_in: ^6.2.1
  firebase_auth: ^5.2.0
  firebase_core: ^3.4.0

android/build.gradle 设置:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath 'com.google.gms:google-services:4.4.2' // Added Google services classpath
    }
}

在 android/app/build.gradle 中应用 Google 服务插件:

应用插件:'com.google.gms.google-services'

更新了 SDK 和插件:

清理 flutter 并重建项目。 将所有依赖项更新到最新版本。 环境详情:

颤动版本:

Flutter 3.24.0-1.0.pre.490 • channel master • https://github.com/flutter/flutter.git
Framework • revision d595e98d85 (8 weeks ago) • 2024-08-07 18:45:53 +0200
Engine • revision 5a0fd5fbec
Tools • Dart 3.6.0 (build 3.6.0-122.0.dev) • DevTools 2.38.0

Java版本:

java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)

Gradle 版本:

Build time:    2024-08-14 11:07:45 UTC
Revision:      fef2edbed8af1022cefaf44d4c0514c5f89d7b78

Kotlin:        1.9.24
Groovy:        3.0.22
Ant:           Apache Ant(TM) version 1.10.14 compiled on August 16 2023
Launcher JVM:  17.0.12 (Oracle Corporation 17.0.12+8-LTS-286)
Daemon JVM:    C:\Program Files\Java\jdk-17 (no JDK specified, using current Java home)
OS:            Windows 11 10.0 amd64

附加信息:

开发环境的差异:

MacOS 开发人员的计算机: 当应用程序在 MacOS 上构建并运行时,Google 登录即可工作。 在物理设备上测试;一切正常。 我的 Windows 11 电脑: 使用相同的源代码,Google 登录失败并显示 ApiException: 10。 该问题同时出现在模拟器和物理设备上。 其他尝试:

确保测试设备上的 Google Play 服务是最新的。 清除缓存并使用 flutter clean 重建项目。 已验证所有插件和依赖项都是最新的。 问题:

仅在 Windows 上构建时可能导致 ApiException: 10 错误的原因是什么? 是否有任何特定于 Windows 的其他配置或设置需要检查? 此问题是否与 MacOS 和 Windows 之间的调试密钥库差异有关?如果是这样,我该如何解决? 任何帮助将不胜感激!

添加了 SHA-1 证书指纹:

使用 keytool 从我的 Windows 计算机的调试密钥库中获取 SHA-1 指纹:

bash keytool -list -v -alias androiddebugkey -keystore "%USERPROFILE%.android\debug.keystore" -storepass android -keypass android 已将此 SHA-1 指纹添加到 Firebase 控制台。

也尝试使用 Google Play Console 中的所有 SHA-1 密钥。

已验证的 OAuth 客户端 ID:

确认 Google Cloud Console 中的 OAuth 客户端 ID 与项目匹配。 已检查包裹名称:

确保应用程序的包名称与 Firebase 中注册的包名称完全匹配。 已授予互联网权限:

在 AndroidManifest.xml 中添加互联网权限:

flutter google-cloud-platform
1个回答
0
投票

不支持Windows:

enter image description here

Android、iOS、MacOS、网络。

© www.soinside.com 2019 - 2024. All rights reserved.