Flutter 尝试使用firebase_auth登录Google时,Android上出现平台异常

Flutter 尝试使用firebase_auth登录Google时,Android上出现平台异常,flutter,firebase-authentication,google-signin,Flutter,Firebase Authentication,Google Signin,我试图使用firebase_auth在手机上使用我的google帐户登录,在我选择我的google帐户后,发生了此错误。 我正在使用以下插件: 公共规范yaml dependencies: flutter: sdk: flutter provider: ^2.0.1 firebase_auth: ^0.11.1 google_sign_in: ^4.0.1+3 我已经创建了一个Firebase项目。 注册了我的android应用程序。 新增SHA-1 对两个build.

我试图使用firebase_auth在手机上使用我的google帐户登录,在我选择我的google帐户后,发生了此错误。 我正在使用以下插件:

公共规范yaml

dependencies:
  flutter:
    sdk: flutter
  provider: ^2.0.1
  firebase_auth: ^0.11.1
  google_sign_in: ^4.0.1+3
我已经创建了一个Firebase项目。 注册了我的android应用程序。 新增SHA-1 对两个build.gradle文件进行了所有更改。 google-services.json文件也已准备就绪

代码

import 'package:flutter/material.dart';

import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String name = '';

  Future signIn() async {
    final GoogleSignIn _googleSignIn = GoogleSignIn();
    final FirebaseAuth _auth = FirebaseAuth.instance;

    final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
    final GoogleSignInAuthentication googleAuth =
        await googleUser.authentication;
    final AuthCredential credential = GoogleAuthProvider.getCredential(
      accessToken: googleAuth.accessToken,
      idToken: googleAuth.idToken,
    );
    final FirebaseUser user = await _auth.signInWithCredential(credential);
    setState(() {
      name = user.displayName;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              '$name',
              style: Theme.of(context).textTheme.display1,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: signIn,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}


答案其实很简单。我所需要做的就是在Firebase项目设置中添加一封支持电子邮件。幸亏此外,官方文档中已经更新了这一点,在

上,您是否更新了您的google play服务?你的模拟器有Google Play吗?我正在我的Android设备上运行它。Google Play服务已存在并已配置。
[+3146 ms] E/flutter (13503): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception:
PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null)