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. 

My app keeps crashing when I run FirebaseAuth.instance.signInWithCredential(credential).

```
// 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");
});

```

Here is the Error Output:

> 
> 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...
> 
> 
> 

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.