Flutter android app crashes after adding Firebase library

Viewed 1536

After adding Firebase Authentication library in flutter app, the app fails to compile and crashes with the error below

Launching lib/main.dart on TECNO LA7 in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:8: error: package android.support.annotation does not exist
import android.support.annotation.NonNull;
                                 ^
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:534: error: cannot find symbol
    public void onComplete(@NonNull Task<AuthResult> task) {
                            ^
  symbol:   class NonNull
  location: class FirebaseAuthPlugin.SignInCompleteListener
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:554: error: cannot find symbol
    public void onComplete(@NonNull Task<Void> task) {
                            ^
  symbol:   class NonNull
  location: class FirebaseAuthPlugin.TaskVoidCompleteListener
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:572: error: cannot find symbol
    public void onComplete(@NonNull Task<ProviderQueryResult> task) {
                            ^
  symbol:   class NonNull
  location: class FirebaseAuthPlugin.ProvidersCompleteListener
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:168: error: cannot find symbol
                      public void onComplete(@NonNull Task<AuthResult> task) {
                                              ^
  symbol: class NonNull
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:263: error: cannot find symbol
          public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                                          ^
  symbol: class NonNull
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:416: error: cannot find symbol
              public void onComplete(@NonNull Task<GetTokenResult> task) {
                                      ^
  symbol: class NonNull
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:445: error: cannot find symbol
              public void onComplete(@NonNull Task<Void> task) {
                                      ^
  symbol: class NonNull
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:467: error: cannot find symbol
              public void onComplete(@NonNull Task<Void> task) {
                                      ^
  symbol: class NonNull
/Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java:483: error: cannot find symbol
          public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                                          ^
  symbol: class NonNull
Note: /Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/mac/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.20/android/src/main/java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
10 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':firebase_auth:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
*******************************************************************************************
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
*******************************************************************************************
Finished with error: Gradle task assembleDebug failed with exit code 1
1 Answers

The problem is Firebase plugin uses AndroidX. You have to edit your gradle.properties file and add this two lines:

android.useAndroidX=true
android.enableJetifier=true

Flutter clean might be needed then too.

Related