Repository: flutter
Issue: Issues on Android with google_sign_in
Labels: platform-android,d: api docs,p: google_sign_in,package,P3,team-android,triaged-android

I have an app using the google_sign_in package with Firebase.

I have absolutely no issues with iOS Devices in simulation or test flight, they work as expected and sign the user in.

I am having very inconsistent experiences with android devices though.

Debugging the app either in the android simulator OR using a connected device works as expected. User is presented with a list of Google accounts, selects and is signed in.

However, on real devices when deployed via PlayStore Internal Testing some users are able to login while majority are not. I have downloaded the app via PlayStore to the same device I was using for testing and it does not work.

Where login fails, the screen flashes then just reloads the app login screen.

I have noticed it seems to be pretty widespread but Google Pixel devices seem to work fine.

Given it works on simulators, debugging and iOS devices I am not really sure where to look anymore. I have Sentry running on the release candidate but am not getting any errors come back so its not error-ring out.

## Steps to Reproduce

1. Run app on Android device from PlayStore.
2. Tap sign in with Google
3. App returns to login screen after brief flash.

**Expected results:** 
User should be logged in or asked to select Google account.

**Actual results:** 
App returns to login screen.

<details>
  <summary>Logs</summary>

<!--
      Run your application with `flutter run --verbose` and attach all the
      log output below between the lines with the backticks. If there is an
      exception, please see if the error message includes enough information
      to explain how to solve the issue.
-->
No errors are produced during build and run, have included the log output below from Android simulator device successfully logging into the app. 

```
[   +1 ms] Flutter run key commands.
[   +1 ms] r Hot reload. 🔥🔥🔥
[   +1 ms] 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 sdk gphone x86 is available at: http://127.0.0.1:56748/o_i4Ao9nB8U=/
[ +301 ms] I/Choreographer(24790): Skipped 353 frames!  The application may be doing too much work on its main thread.
[+1847 ms] I/flutter (24790): [2020-10-06 00:13:28.064415 | Catcher | FINE] Using debug config
[  +69 ms] I/flutter (24790): [2020-10-06 00:13:28.160129 | Catcher | FINE] Catcher configured successfully.
[+16929 ms] I/BiChannelGoogleApi(24790): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms:
com.google.firebase.auth.api.internal.zzaq@749d90
[+1910 ms] D/FirebaseAuth(24790): Notifying id token listeners about user ( Vl867wYCQ9fF194M7eDCqNjwpXK2 ).
[  +54 ms] I/flutter (24790): signInWithGoogle succeeded: User(displayName: User Name, email: ***********@*********.com.au,
emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2020-09-21 23:15:40.558, lastSignInTime: 2020-10-06
00:13:46.660), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/a-/AOh14GhuawMIsSccmMHlspKKFs4bah8xUHcl8hu6aeMY=s96-c,
providerData, [UserInfo(displayName: User Name, email: **********@*******.com.au, phoneNumber: null, photoURL:
https://lh3.googleusercontent.com/a-/AOh14GhuawMIsSccmMHlspKKFs4bah8xUHcl8hu6aeMY=s96-c, providerId: google.com, uid:
113989377345629527269)], refreshToken: , tenantId: null, uid: Vl867wYCQ9fF194M7eDCqNjwpXK2)
[ +310 ms] W/DynamiteModule(24790): Local module descriptor class for providerinstaller not found.
[  +12 ms] I/TetheringManager(24790): registerTetheringEventCallback:com.avcga.avcgacontentapp
[  +63 ms] I/DynamiteModule(24790): Considering local module providerinstaller:0 and remote module providerinstaller:0
[   +8 ms] W/ProviderInstaller(24790): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and
remote version is 0.
[ +315 ms] I/avcgacontentap(24790): The ClassLoaderContext is a special shared library.
[ +136 ms] I/avcgacontentap(24790): The ClassLoaderContext is a special shared library.
[ +228 ms] V/NativeCrypto(24790): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 286 native methods...
[  +53 ms] W/avcgacontentap(24790): Accessing hidden method Ljava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String;
(greylist, reflection, allowed)
[  +49 ms] I/ProviderInstaller(24790): Installed default security provider GmsCore_OpenSSL
[ +897 ms] W/avcgacontentap(24790): Accessing hidden field Ljava/net/Socket;->impl:Ljava/net/SocketImpl; (greylist, reflection,
allowed)
[  +19 ms] W/avcgacontentap(24790): Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard;
(greylist,core-platform-api, linking, allowed)
[  +17 ms] W/avcgacontentap(24790): Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V
(greylist,core-platform-api, linking, allowed)
[   +7 ms] W/avcgacontentap(24790): Accessing hidden field Ljava/io/FileDescriptor;->descriptor:I (greylist, JNI, allowed)
[ +223 ms] W/avcgacontentap(24790): Accessing hidden method Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V
(greylist, reflection, allowed)
[ +104 ms] W/avcgacontentap(24790): Accessing hidden method
Ldalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy; (greylist,core-platform-api, linking, allowed)
[        ] W/avcgacontentap(24790): Accessing hidden method Ldalvik/system/BlockGuard$Policy;->onNetwork()V (greylist, linking,
allowed)
[  +15 ms] I/avcgacontentap(24790): Background concurrent copying GC freed 75668(4190KB) AllocSpace objects, 54(2356KB) LOS objects,
49% free, 4162KB/8324KB, paused 2.176ms total 202.189ms
[+133824 ms] D/CompatibilityChangeReporter(24790): Compat change id reported: 150939131; UID 10152; state: ENABLED

```

<!--
     Run `flutter analyze` and attach any output of that command below.
     If there are any analysis errors, try resolving them before filing this issue.
-->

```
No issues found! (ran in 5.5s)
```

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

```
[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.15.7 19H2, locale en-AU)
    • Flutter version 1.20.2 at /Users/jeremywest/Documents/Code/sdk/flutter
    • Framework revision bbfbf1770c (8 weeks ago), 2020-08-13 08:33:09 -0700
    • Engine revision 9d5b21729f
    • Dart version 2.9.1

 
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/jeremywest/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.10.0.beta.2

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.49.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.15.0

[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.
```

</details>