<h2 dir="auto">Steps to Reproduce</h2>
<p dir="auto"><code class="notranslate">await linkWithGoogleCredential</code>  gets stuck - this used to work up to <code class="notranslate">0.5.20</code></p>
<p dir="auto">In the example below it never reaches log step <code class="notranslate">---------------------- 4</code>, BUT is also doesn't catch any exception.</p>
<div class="highlight highlight-source-dart notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="  final FirebaseAuth _auth = FirebaseAuth.instance;
  final GoogleSignIn _googleSignIn = GoogleSignIn();

    GoogleSignInAuthentication googleAuth;
    try {
      print(&quot;---------------------- 1&quot;);
      final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
      print(&quot;---------------------- 2&quot;);
      googleAuth = await googleUser.authentication;
      print(&quot;---------------------- 3&quot;);
      final FirebaseUser user = await _auth.linkWithGoogleCredential(
        accessToken: googleAuth.accessToken,
        idToken: googleAuth.idToken,
      );
      print(&quot;---------------------- 4&quot;);
    } catch (err) {
      print(&quot;---------------------- 5&quot;);
      print(err);
    }"><pre class="notranslate">  <span class="pl-k">final</span> <span class="pl-c1">FirebaseAuth</span> _auth <span class="pl-k">=</span> <span class="pl-c1">FirebaseAuth</span>.instance;
  <span class="pl-k">final</span> <span class="pl-c1">GoogleSignIn</span> _googleSignIn <span class="pl-k">=</span> <span class="pl-c1">GoogleSignIn</span>();

    <span class="pl-c1">GoogleSignInAuthentication</span> googleAuth;
    <span class="pl-k">try</span> {
      <span class="pl-en">print</span>(<span class="pl-s">"---------------------- 1"</span>);
      <span class="pl-k">final</span> <span class="pl-c1">GoogleSignInAccount</span> googleUser <span class="pl-k">=</span> <span class="pl-k">await</span> _googleSignIn.<span class="pl-en">signIn</span>();
      <span class="pl-en">print</span>(<span class="pl-s">"---------------------- 2"</span>);
      googleAuth <span class="pl-k">=</span> <span class="pl-k">await</span> googleUser.authentication;
      <span class="pl-en">print</span>(<span class="pl-s">"---------------------- 3"</span>);
      <span class="pl-k">final</span> <span class="pl-c1">FirebaseUser</span> user <span class="pl-k">=</span> <span class="pl-k">await</span> _auth.<span class="pl-en">linkWithGoogleCredential</span>(
        accessToken<span class="pl-k">:</span> googleAuth.accessToken,
        idToken<span class="pl-k">:</span> googleAuth.idToken,
      );
      <span class="pl-en">print</span>(<span class="pl-s">"---------------------- 4"</span>);
    } <span class="pl-k">catch</span> (err) {
      <span class="pl-en">print</span>(<span class="pl-s">"---------------------- 5"</span>);
      <span class="pl-en">print</span>(err);
    }</pre></div>
<h2 dir="auto">Logs</h2>
<div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="  # Firebase
  firebase_auth: ^0.6.6
  firebase_core: ^0.2.5+1
  firebase_dynamic_links: ^0.1.0+1
  cloud_firestore: ^0.8.2+3

  # Social login providers
  flutter_facebook_login: ^1.1.1
  google_sign_in: ^3.2.4"><pre class="notranslate">  <span class="pl-c"><span class="pl-c">#</span> Firebase</span>
  <span class="pl-ent">firebase_auth</span>: <span class="pl-s">^0.6.6</span>
  <span class="pl-ent">firebase_core</span>: <span class="pl-s">^0.2.5+1</span>
  <span class="pl-ent">firebase_dynamic_links</span>: <span class="pl-s">^0.1.0+1</span>
  <span class="pl-ent">cloud_firestore</span>: <span class="pl-s">^0.8.2+3</span>

  <span class="pl-c"><span class="pl-c">#</span> Social login providers</span>
  <span class="pl-ent">flutter_facebook_login</span>: <span class="pl-s">^1.1.1</span>
  <span class="pl-ent">google_sign_in</span>: <span class="pl-s">^3.2.4</span></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 10.0.17134.407], locale en-NZ)
    • Flutter version 1.0.0 at C:\Users\b\git\flutter
    • Framework revision 5391447fae (12 days ago), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at C:\Users\b\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = C:\Users\b\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_152-release-1136-b06)
    • All Android licenses accepted.

[√] Android Studio (version 3.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 31.1.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[√] IntelliJ IDEA Community Edition (version 2017.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3
    • Flutter plugin version 19.1
    • Dart plugin version 173.3727.108

[√] Connected device (1 available)
    • Nexus 6P • ENU7N15A27004986 • android-arm64 • Android 8.1.0 (API 27)

• No issues found!"><pre class="notranslate"><code class="notranslate">[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 10.0.17134.407], locale en-NZ)
    • Flutter version 1.0.0 at C:\Users\b\git\flutter
    • Framework revision 5391447fae (12 days ago), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at C:\Users\b\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = C:\Users\b\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_152-release-1136-b06)
    • All Android licenses accepted.

[√] Android Studio (version 3.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 31.1.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[√] IntelliJ IDEA Community Edition (version 2017.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3
    • Flutter plugin version 19.1
    • Dart plugin version 173.3727.108

[√] Connected device (1 available)
    • Nexus 6P • ENU7N15A27004986 • android-arm64 • Android 8.1.0 (API 27)

• No issues found!
</code></pre></div>
<div class="highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="buildscript {
    ext.kotlin_version = '1.3.11'
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
        maven {
            url 'https://dl.bintray.com/android/android-tools'
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath &quot;org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version&quot;
        classpath 'com.google.gms:google-services:4.2.0' // Google Services plugin
    }
}"><pre class="notranslate"><span class="pl-en">buildscript</span> {
    ext<span class="pl-k">.</span>kotlin_version <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">'</span>1.3.11<span class="pl-pds">'</span></span>
    repositories {
        google()
        jcenter()
        maven {
            url <span class="pl-s"><span class="pl-pds">'</span>https://maven.fabric.io/public<span class="pl-pds">'</span></span>
        }
        maven {
            url <span class="pl-s"><span class="pl-pds">'</span>https://dl.bintray.com/android/android-tools<span class="pl-pds">'</span></span>
        }
    }

    dependencies {
        classpath <span class="pl-s"><span class="pl-pds">'</span>com.android.tools.build:gradle:3.2.1<span class="pl-pds">'</span></span>
        classpath <span class="pl-s"><span class="pl-pds">"</span>org.jetbrains.kotlin:kotlin-gradle-plugin:<span class="pl-smi">$k<span class="pl-smi">otlin_version</span></span><span class="pl-pds">"</span></span>
        classpath <span class="pl-s"><span class="pl-pds">'</span>com.google.gms:google-services:4.2.0<span class="pl-pds">'</span></span> <span class="pl-c"><span class="pl-c">//</span> Google Services plugin</span>
    }
}</pre></div>
<p dir="auto">I'm using <code class="notranslate">0.7.0</code> with <code class="notranslate">AuthCredential</code> API. The code that causes the exception on Android (only) is this:</p>
<div class="highlight highlight-source-dart notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="Future&lt;String&gt; verifyPhoneComplete(String code, String verifyId) {
    firebase.AuthCredential phoneCred =
      firebase.PhoneAuthProvider.getCredential(
        verificationId: verifyId,
        smsCode: code
      );
    return _auth.linkWithCredential(phoneCred).then((user) =&gt; user.uid);"><pre class="notranslate"><span class="pl-c1">Future</span>&lt;<span class="pl-c1">String</span>&gt; <span class="pl-en">verifyPhoneComplete</span>(<span class="pl-c1">String</span> code, <span class="pl-c1">String</span> verifyId) {
    firebase.<span class="pl-c1">AuthCredential</span> phoneCred <span class="pl-k">=</span>
      firebase.<span class="pl-c1">PhoneAuthProvider</span>.<span class="pl-en">getCredential</span>(
        verificationId<span class="pl-k">:</span> verifyId,
        smsCode<span class="pl-k">:</span> code
      );
    <span class="pl-k">return</span> _auth.<span class="pl-en">linkWithCredential</span>(phoneCred).<span class="pl-en">then</span>((user) <span class="pl-k">=&gt;</span> user.uid);</pre></div>
<p dir="auto">Exception:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): Failed to handle method call
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): java.lang.IllegalArgumentException: Given String is empty or null
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.google.firebase.auth.EmailAuthProvider.getCredential(Unknown Source)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.handleLinkWithEmailAndPassword(FirebaseAuthPlugin.java:272)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.onMethodCall(FirebaseAuthPlugin.java:122)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.view.FlutterNativeView$PlatformMessageHandlerImpl.handlePlatformMessage(FlutterNativeView.java:188)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:202)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.os.MessageQueue.next(MessageQueue.java:143)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.os.Looper.loop(Looper.java:122)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)"><pre class="notranslate"><code class="notranslate">E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): Failed to handle method call
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): java.lang.IllegalArgumentException: Given String is empty or null
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.google.firebase.auth.EmailAuthProvider.getCredential(Unknown Source)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.handleLinkWithEmailAndPassword(FirebaseAuthPlugin.java:272)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.onMethodCall(FirebaseAuthPlugin.java:122)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.view.FlutterNativeView$PlatformMessageHandlerImpl.handlePlatformMessage(FlutterNativeView.java:188)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:202)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.os.MessageQueue.next(MessageQueue.java:143)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.os.Looper.loop(Looper.java:122)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at android.app.ActivityThread.main(ActivityThread.java:5254)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at java.lang.reflect.Method.invoke(Method.java:372)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/MethodChannel#plugins.flutter.io/firebase_auth( 1893): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
</code></pre></div>
<p dir="auto"><code class="notranslate">flutter doctor -v</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[✓] Flutter (Channel dev, v1.1.8, on Mac OS X 10.13.6 17G3025, locale en-US)
    • Flutter version 1.1.8 at /Volumes/ExtStripe/Scratch/flutter
    • Framework revision 985ccb6d14 (4 days ago), 2019-01-08 13:45:55 -0800
    • Engine revision 7112b72cc2
    • Dart version 2.1.1 (build 2.1.1-dev.0.1 ec86471ccc)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/kika/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 31.3.3
    • Dart plugin version 182.5124
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] VS Code (version 1.28.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.20.0

[✓] Connected device (2 available)
    • Android SDK built for x86 • emulator-5554                        • android-x86 • Android 5.1.1 (API 22) (emulator)
    • iPhone 5s                 • D0A87E46-DDD7-46CF-B400-B4A4799315FF • ios         • iOS 12.1 (simulator)

• No issues found!"><pre class="notranslate"><code class="notranslate">[✓] Flutter (Channel dev, v1.1.8, on Mac OS X 10.13.6 17G3025, locale en-US)
    • Flutter version 1.1.8 at /Volumes/ExtStripe/Scratch/flutter
    • Framework revision 985ccb6d14 (4 days ago), 2019-01-08 13:45:55 -0800
    • Engine revision 7112b72cc2
    • Dart version 2.1.1 (build 2.1.1-dev.0.1 ec86471ccc)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/kika/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 31.3.3
    • Dart plugin version 182.5124
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] VS Code (version 1.28.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.20.0

[✓] Connected device (2 available)
    • Android SDK built for x86 • emulator-5554                        • android-x86 • Android 5.1.1 (API 22) (emulator)
    • iPhone 5s                 • D0A87E46-DDD7-46CF-B400-B4A4799315FF • ios         • iOS 12.1 (simulator)

• No issues found!
</code></pre></div>