title: FirebaseAuth.signInWithCredential is causing my Flutter app to crash when I call it
body: <p>I'm new to Flutter and Firebase. I'm trying to set up Phone Authentication with Firebase. I created a project on Firebase and my Flutter app is registered. </p>
  
  <p>My app keeps crashing when I run FirebaseAuth.instance.signInWithCredential(credential).</p>
  
  <pre><code>// Successfully ran this and got a verificationID back. 
  await FirebaseAuth.instance.verifyPhoneNumber(
      phoneNumber: '+18005558989',
      timeout: const Duration(seconds: 0),
      verificationCompleted: verificationCompleted,
      verificationFailed: verificationFailed,
      codeSent: codeSent,
      codeAutoRetrievalTimeout: codeAutoRetrievalTimeout);
  
  
  // This works
  final AuthCredential credential = PhoneAuthProvider.getCredential(
    verificationId: argVerificationID,
    smsCode: smsCode,
  );
  
  // This is where the app crashes.
  AuthResult authResult = await FirebaseAuth.instance
      .signInWithCredential(credential)
      .catchError((onError) {
    // Handle Errors here.
    var errorCode = onError.code;
    var errorMessage = onError.message;
  
    // The firebase.auth.AuthCredential type that was used.
    var credential = errorCode.credential;
  
    print("ERROR CODE:$errorCode");
    print("ERROR MESSAGE:$errorMessage");
    print("ERROR CREDENTIAL:$credential");
  });
  </code></pre>
  
  <p>Here is the Error Output:</p>
  
  <blockquote>
    <p>W/BiChannelGoogleApi(23681): [FirebaseAuth: ] getGoogleApiForMethod()
    returned Gms: com.google.firebase.auth.api.internal.zzak@30ab46a
    E/JavaBinder(23681): *** Uncaught remote exception!  (Exceptions are
    not yet supported across processes.) E/JavaBinder(23681):
    java.lang.NoClassDefFoundError: Failed resolution of:
    Landroid/support/v4/util/ArrayMap; E/JavaBinder(23681):   at
    com.google.firebase.auth.internal.zzam.zzc(Unknown Source:22)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.internal.zzam.zzde(Unknown Source:17)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.internal.zzam.zzdd(Unknown Source:8)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.internal.zzan.zzdf(Unknown Source:1)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.internal.zzm.isAnonymous(Unknown Source:47)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.internal.zzat.zzi(Unknown Source:57)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.internal.zzat.zzg(Unknown Source:10)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.FirebaseAuth.zza(Unknown Source:62)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.FirebaseAuth$zzb.zza(Unknown Source:5)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.api.internal.zzcv.zzdx(Unknown Source:14)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.api.internal.zzen.zzen(Unknown Source:35)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.api.internal.zzen.zza(Unknown Source:41)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.api.internal.zzep.zza(Unknown Source:9)
    E/JavaBinder(23681):  at
    com.google.firebase.auth.api.internal.zzdx.dispatchTransaction(Unknown
    Source:9) E/JavaBinder(23681):    at
    com.google.android.gms.internal.firebase_auth.zza.onTransact(Unknown
    Source:13) E/JavaBinder(23681):   at
    android.os.Binder.execTransactInternal(Binder.java:1021)
    E/JavaBinder(23681):  at
    android.os.Binder.execTransact(Binder.java:994) E/JavaBinder(23681):
    Caused by: java.lang.ClassNotFoundException: Didn't find class
    "android.support.v4.util.ArrayMap" on path: DexPathList[[zip file...</p>
  </blockquote>
  
  <p>I'm expecting a FirebaseUser return and successfully authenticated. It looks like Firebase updated their authentication because a lot of the  methods that are found used in tutorials are no longer there.</p>