Skip to content

[firebase_auth] [google_sign_in] Sign in does not function properly on flutter web #52338

@SaadArdati

Description

@SaadArdati

Similar/duplicate issues:

Steps to Reproduce

I want to preface this by stating the following: Google sign in works PERFECTLY on mobile (android, I dont own an IOS device). The same code, when run on flutter web (debug mode locally only), creates the relevant sign in pop up properly (although Google's security stops the authorization as a security measure because the browser is in debug mode and my account is 2FA). When I build and deploy my web code, the public sites do NOT create pop ups.

Try them out for yourself:

Firebase hosting: (manual flutter build web)
https://chacha-44.web.app/#/

Codemagic (automatically builds and deploys to a static page)
https://chacha.codemagic.app/#/

Unfortunately, debugging this is not very easy as I don't have a console to access in a release-mode flutter web application.

Instead of steps to reproduce, I will submit all the relevant code and config screenshots to google_sign_in.

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta content="IE=Edge" http-equiv="X-UA-Compatible">
    <meta content="Music app" name="description">

    <!-- iOS meta tags & icons -->
    <meta content="yes" name="apple-mobile-web-app-capable">
    <meta content="black" name="apple-mobile-web-app-status-bar-style">
    <meta content="untitled" name="apple-mobile-web-app-title">
    <link href="icons/Icon-192.png" rel="apple-touch-icon">

    <meta content="<ID>.apps.googleusercontent.com"
          name="google-signin-client_id">

    <!-- Favicon -->
    <link href="favicon.png" rel="shortcut icon" type="image/png"/>

    <title>Cha Cha</title>
    <link href="manifest.json" rel="manifest">
</head>
<body>

<script async defer src="https://apis.google.com/js/platform.js"></script>

<script src="https://www.gstatic.com/firebasejs/7.10.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.10.0/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.10.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.10.0/firebase-firestore.js"></script>
<script src="/__/firebase/init.js"></script>

<!-- This script installs service_worker.js to provide PWA functionality to
     application. For more information, see:
     https://developers.google.com/web/fundamentals/primers/service-workers -->
<script>
    if ('serviceWorker' in navigator) {
      window.addEventListener('load', function () {
        navigator.serviceWorker.register('flutter_service_worker.js');
      });
    }


</script>

<script src="main.dart.js" type="application/javascript"></script>
</body>
</html>

Google sign in code:

  handlePassiveSignIn() async {
    print("firebase signin init");
    _googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account) {
      _currentUser = account;
      if (_currentUser != null) {
        _lookUp();
      } else
        _currentUserController.add(null);
    });
    await _googleSignIn.signInSilently();
  }

  signIn() async {
    await _googleSignIn.signIn();
  }

  _lookUp() async {
    FirebaseUser user = await FirebaseAuth.instance.currentUser();
    if (user != null) {
      _chaChaUser = ChaChaUser(user.uid, user.email, user.displayName, user.photoUrl);
      _currentUserController.add(_chaChaUser);
    }
  }

  signOut() async {
    await _googleSignIn.disconnect();
  }

Using the methods in the main widget tree:

  bool init = false;
  bool isDone = false;
  var error;

  @override
  void initState() {
    super.initState();

    navigationController = NavigationController();
    pageController = ItemScrollController();

    navigationController.addListener(() {
      pageController.scrollTo(
          index: navigationController.index, duration: const Duration(milliseconds: 200), curve: Curves.easeOutQuart);
    });

    getFirebase().handlePassiveSignIn();

    getFirebase().currentUserStream.listen((event) {
      if (mounted)
        setState(() {
          error = null;
          init = false;
          isDone = false;
        });
      if (event != null) _init();
    }).onError((error) {
      print(error);
      if (mounted)
        setState(() {
          this.error = error;
          init = false;
          isDone = false;
        });
    });
  }

  void _init() {
    getHive()
        .init()
        .then((_) => getChaChaPlayer().init())
        .then((_) => getFirebase().initFirebase())
        .then((_) => getFirebase().initData())
        .then((_) => setState(() {
              isDone = true;
              init = true;
            }))
        .catchError((error) => setState(() {
              this.error = error;
              print(error);
            }));
  }

  @override
  void dispose() {
    navigationController.dispose();
    getChaChaPlayer().dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider<ChaChaBarController>(create: (_) => ChaChaBarController()),
        ChangeNotifierProvider<EditPanelController>(create: (_) => EditPanelController()),
        ChangeNotifierProvider<BottomSheetController>(create: (_) => BottomSheetController()),
        ChangeNotifierProvider<NavigationController>.value(value: navigationController),
        Provider<ItemScrollController>.value(value: pageController),
      ],
      child: Scaffold(
          resizeToAvoidBottomPadding: false,
          body: AnimatedSwitcher(
              duration: Duration(milliseconds: 500),
              switchInCurve: Curves.easeInOutQuart,
              child: !init
                  ? Center(
                      child: Column(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          crossAxisAlignment: CrossAxisAlignment.center,
                          mainAxisSize: MainAxisSize.max,
                          children: <Widget>[
                          Image.asset('assets/chacha_logo.png', width: 200, height: 200),
                          RaisedButton(
                            splashColor: Theme.of(context).hintColor,
                            color: Theme.of(context).primaryColor,
                            onPressed: () async {
                              await getFirebase().signIn();

                              setState(() {
                                init = true;
                                isDone = false;
                              });
                            },
                            child: Row(
                              mainAxisAlignment: MainAxisAlignment.center,
                              mainAxisSize: MainAxisSize.min,
                              children: <Widget>[
                                Padding(
                                  padding: const EdgeInsets.only(right: 8.0),
                                  child: Image.asset('assets/google_logo_100.png', width: 24, height: 24),
                                ),
                                Text(
                                  'Sign in with Google',
                                  style: TextStyle(color: Theme.of(context).accentColor),
                                ),
                              ],
                            ),
                          ),
                          RaisedButton(
                            splashColor: Theme.of(context).hintColor,
                            color: Theme.of(context).primaryColor,
                            onPressed: () {
                              getFirebase().signOut();
                            },
                            child: Text(
                              'Sign Out',
                              style: TextStyle(color: Theme.of(context).accentColor),
                            ),
                          ),
                          if (error != null)
                            Text('$error', textAlign: TextAlign.center, style: TextStyle(color: Theme.of(context).hintColor))
                        ]))
                  : (!isDone
                      ? Center(
                          child: Column(
                              key: ValueKey<String>('loading'),
                              mainAxisAlignment: MainAxisAlignment.center,
                              crossAxisAlignment: CrossAxisAlignment.center,
                              children: <Widget>[
                                CircularProgressIndicator(value: null, backgroundColor: Theme.of(context).primaryColor),
                              ]),
                        )
                      : _Scaffold()))),
    );
  }
}

image

Expected results:
The google sign in popup is supposed to appear when you click sign in.

Actual results:
The google sign in popup does not appear for built web applications.

Logs
flutter run --verbose -d chrome --web-hostname localhost --web-port 5000
[  +36 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +64 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 9437639590adaa91e3df31cd9ce85133e401cd51
[        ] executing: [C:\flutter/] git fetch https://github.com/flutter/flutter.git --tags
[+34496 ms] Exit code 0 from: git fetch https://github.com/flutter/flutter.git --tags
[   +2 ms] From https://github.com/flutter/flutter
            * branch                  HEAD       -> FETCH_HEAD
[        ] executing: [C:\flutter/] git describe --match v*.*.* --first-parent --long --tags
[  +87 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[        ] v1.15.18-0-g9437639590
[   +9 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +38 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/dev
[        ] executing: [C:\flutter/] git ls-remote --get-url origin
[  +33 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +88 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[  +34 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] dev
[  +46 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +38 ms] executing: C:\Users\saad4\AppData\Local\Android\Sdk\platform-tools\adb.exe devices -l
[  +22 ms] Exit code 0 from: C:\Users\saad4\AppData\Local\Android\Sdk\platform-tools\adb.exe devices -l
[        ] List of devices attached
           emulator-5554          device product:sdk_gphone_x86_arm model:AOSP_on_IA_Emulator device:generic_x86_arm transport_id:1
[  +13 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +88 ms] Found plugin audiofileplayer at C:\flutter\.pub-cache\hosted\pub.dartlang.org\audiofileplayer-1.1.1\
[  +29 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.4+1\
[   +5 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+1\
[  +15 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.15.5+2\
[   +4 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.2\
[   +3 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.4+2\
[   +4 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2\
[   +5 ms] Found plugin flutter_keyboard_visibility at C:\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_keyboard_visibility-0.7.0\
[  +11 ms] Found plugin google_sign_in at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in-4.1.4\
[   +3 ms] Found plugin google_sign_in_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in_web-0.8.3+2\
[  +33 ms] Found plugin path_provider at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.5\
[   +2 ms] Found plugin path_provider_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4\
[  +29 ms] Found plugin url_launcher at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher-5.4.2\
[   +2 ms] Found plugin url_launcher_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+4\
[   +2 ms] Found plugin url_launcher_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_web-0.1.1+1\
[  +44 ms] Found plugin audiofileplayer at C:\flutter\.pub-cache\hosted\pub.dartlang.org\audiofileplayer-1.1.1\
[  +12 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.4+1\
[   +2 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+1\
[   +6 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.15.5+2\
[   +2 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.2\
[   +1 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.4+2\
[   +2 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2\
[   +2 ms] Found plugin flutter_keyboard_visibility at C:\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_keyboard_visibility-0.7.0\
[   +6 ms] Found plugin google_sign_in at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in-4.1.4\
[   +2 ms] Found plugin google_sign_in_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in_web-0.8.3+2\
[  +16 ms] Found plugin path_provider at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.5\
[   +1 ms] Found plugin path_provider_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4\
[  +15 ms] Found plugin url_launcher at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher-5.4.2\
[   +1 ms] Found plugin url_launcher_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+4\
[   +2 ms] Found plugin url_launcher_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_web-0.1.1+1\
[  +56 ms] Generating C:\Users\saad4\AndroidStudioProjects\chacha\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +145 ms] Launching lib\main.dart on Chrome in debug mode...
[  +69 ms] Serving DevTools at http://127.0.0.1:55629

[   +6 ms] Updating assets
[ +154 ms] Syncing files to device Chrome...
[   +8 ms] Found plugin audiofileplayer at C:\flutter\.pub-cache\hosted\pub.dartlang.org\audiofileplayer-1.1.1\
[   +7 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.4+1\
[   +1 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+1\
[   +5 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.15.5+2\
[   +2 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.2\
[   +1 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.4+2\
[   +2 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2\
[   +2 ms] Found plugin flutter_keyboard_visibility at C:\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_keyboard_visibility-0.7.0\
[   +4 ms] Found plugin google_sign_in at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in-4.1.4\
[   +2 ms] Found plugin google_sign_in_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in_web-0.8.3+2\
[  +13 ms] Found plugin path_provider at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.5\
[   +2 ms] Found plugin path_provider_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4\
[  +14 ms] Found plugin url_launcher at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher-5.4.2\
[   +1 ms] Found plugin url_launcher_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+4\
[   +1 ms] Found plugin url_launcher_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_web-0.1.1+1\
[   +7 ms] Found plugin audiofileplayer at C:\flutter\.pub-cache\hosted\pub.dartlang.org\audiofileplayer-1.1.1\
[   +7 ms] Found plugin cloud_firestore at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.4+1\
[   +1 ms] Found plugin cloud_firestore_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+1\
[   +4 ms] Found plugin firebase_auth at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.15.5+2\
[   +1 ms] Found plugin firebase_auth_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.2\
[   +1 ms] Found plugin firebase_core at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.4+2\
[   +1 ms] Found plugin firebase_core_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2\
[   +2 ms] Found plugin flutter_keyboard_visibility at C:\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_keyboard_visibility-0.7.0\
[   +3 ms] Found plugin google_sign_in at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in-4.1.4\
[   +1 ms] Found plugin google_sign_in_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\google_sign_in_web-0.8.3+2\
[  +12 ms] Found plugin path_provider at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider-1.6.5\
[   +1 ms] Found plugin path_provider_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4\
[  +11 ms] Found plugin url_launcher at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher-5.4.2\
[   +1 ms] Found plugin url_launcher_macos at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+4\
[   +2 ms] Found plugin url_launcher_web at C:\flutter\.pub-cache\hosted\pub.dartlang.org\url_launcher_web-0.1.1+1\
[  +10 ms] Generating C:\Users\saad4\AndroidStudioProjects\chacha\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +45 ms] <- reset
[  +10 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\flutter\bin\cache\flutter_web_sdk/ --incremental --target=dartdevc -Ddart.developer.causal_async_stacks=true
--output-dill C:\Users\saad4\AppData\Local\Temp\flutter_tool.9d6469ba-62fa-11ea-988d-d4258be92734\app.dill --libraries-spec file:///C:/flutter/bin/cache/flutter_web_sdk/libraries.json --packages C:\Users\saad4\AndroidStudioProjects\chacha\.packages
-Ddart.vm.profile=false -Ddart.vm.product=false --bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts --track-widget-creation --filesystem-root
C:\Users\saad4\AppData\Local\Temp\flutter_tools.9d6469bb-62fa-11ea-988d-d4258be92734 --filesystem-scheme org-dartlang-app --platform file:///C:/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[  +15 ms] <- compile org-dartlang-app:///web_entrypoint.dart
[+22462 ms] Syncing files to device Chrome... (completed in 22,669ms, longer than expected)
[   +1 ms] Synced 33.0MB.
[   +1 ms] <- accept
[ +376 ms] [CHROME]:
[   +2 ms] [CHROME]:DevTools listening on ws://127.0.0.1:55655/devtools/browser/c0d92aef-c06d-4151-8b09-3662fdc8e2b6
[+9780 ms] Debug service listening on ws://127.0.0.1:55701/nZ5TK9C86DA=

[ +523 ms] Debug service listening on ws://127.0.0.1:55701/nZ5TK9C86DA=
[   +2 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[        ] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[   +1 ms]   To hot restart changes while running, press "r". To hot restart (and refresh the browser), press "R".
[   +1 ms] For a more detailed help message, press "h". To quit, press "q".
[+26950 ms] Stopped debug service on ws://127.0.0.1:55701

[  +54 ms] Application finished.
[   +2 ms] "flutter run" took 61,361ms.

flutter analyze
Analyzing chacha...

   info - The value of the field '_lastPlaylist' isn't used - lib\logic\audioplayer\abstract_audio_player.dart:14:12 - unused_field
   info - The value of the field '_dio' isn't used - lib\logic\genius.dart:4:20 - unused_field
   info - The value of the local variable 'isThisPlaying' isn't used - lib\ui\tile_widgets\playlist_tile.dart:454:10 - unused_local_variable
   info - The declaration '_printDuration' isn't referenced - lib\ui\tile_widgets\tile_playlist.dart:20:8 - unused_element

4 issues found. (ran in 28.2s)
flutter doctor -v
[√] Flutter (Channel dev, v1.15.18, on Microsoft Windows [Version 10.0.19041.113], locale en-US)
    • Flutter version 1.15.18 at C:\flutter
    • Framework revision 9437639590 (4 days ago), 2020-03-06 10:24:23 -0800
    • Engine revision 5aff311948
    • Dart version 2.8.0 (build 2.8.0-dev.12.0 9983424a3c)


[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\saad4\AppData\Local\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = C:\Users\saad4\AppData\Local\Android\Sdk
    • ANDROID_SDK_ROOT = C:\Users\saad4\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 41.0.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] IntelliJ IDEA Community Edition (version 2019.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.3
    • Flutter plugin version 40.2.4
    • Dart plugin version 192.7402

[√] IntelliJ IDEA Community Edition (version 2019.3)
    • IntelliJ at C:\Users\saad4\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\193.6015.39
    • Flutter plugin version 42.1.4
    • Dart plugin version 193.5731

[√] IntelliJ IDEA Ultimate Edition (version 2019.3)
    • IntelliJ at C:\Users\saad4\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\193.5662.53
    • Flutter plugin version 41.1.5
    • Dart plugin version 193.4697.16

[√] Connected device (3 available)
    • AOSP on IA Emulator • emulator-5554 • android-x86    • Android 9 (API 28) (emulator)
    • Chrome              • chrome        • web-javascript • Google Chrome 80.0.3987.132
    • Web Server          • web-server    • web-javascript • Flutter Tools

• No issues found!

Metadata

Metadata

Assignees

Labels

P3Issues that are less important to the Flutter projectcustomer: crowdAffects or could affect many people, though not necessarily a specific customer.customer: web10p: google_sign_inThe Google Sign-In pluginpackageflutter/packages repository. See also p: labels.platform-webWeb applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions