Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter and Firebase: Execution failed for task ':firebase_auth:compileDebugJavaWithJavac'

I am trying to build my flutter application to interact with firebase. I have placed my google-services.json in the right place. However whenever i try to build the Android application i get the following run log:

Running "flutter packages get" in smart_diet_flutter...          2.6s
Launching lib\main.dart on ONEPLUS A6003 in debug mode...
Initializing gradle...
Resolving dependencies...
Gradle task 'assembleDebug'...
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:9: error: cannot find symbol
import androidx.annotation.NonNull;
                          ^
  symbol:   class NonNull
  location: package androidx.annotation
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:10: error: cannot find symbol
import androidx.annotation.Nullable;
                          ^
  symbol:   class Nullable
  location: package androidx.annotation
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:638: error: cannot find symbol
  private void reportException(Result result, @Nullable Exception exception) {
                                               ^
  symbol:   class Nullable
  location: class FirebaseAuthPlugin
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:550: error: cannot find symbol
    public void onComplete(@NonNull Task<AuthResult> task) {
                            ^
  symbol:   class NonNull
  location: class FirebaseAuthPlugin.SignInCompleteListener
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:569: error: cannot find symbol
    public void onComplete(@NonNull Task<Void> task) {
                            ^
  symbol:   class NonNull
  location: class FirebaseAuthPlugin.TaskVoidCompleteListener
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:587: error: cannot find symbol
    public void onComplete(@NonNull Task<SignInMethodQueryResult> task) {
                            ^
  symbol:   class NonNull
  location: class FirebaseAuthPlugin.GetSignInMethodsCompleteListener
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:186: error: cannot find symbol
                      public void onComplete(@NonNull Task<AuthResult> task) {
                                              ^
  symbol: class NonNull
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:445: error: cannot find symbol
              public void onComplete(@NonNull Task<GetTokenResult> task) {
                                      ^
  symbol: class NonNull
C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:499: error: cannot find symbol
          public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                                          ^
  symbol: class NonNull
Note: C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
9 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 22s
Finished with error: Gradle task assembleDebug failed with exit code 1

From my research I found that i might need to upgrade to AndroidX. I followed this link to upgrade my android. However i still got the same errors when trying to build and run the app.

I am using InteliJ as my IDE with a flutter project and my pubspec.yaml is as follows:

name: smart_diet_flutter
description: A new Flutter project.

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# Read more about versioning at semver.org.
version: 1.0.0+1

environment:
  sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2
  firebase_auth: 0.8.0
  firebase_database: 1.1.0+1

dev_dependencies:
  flutter_test:
    sdk: flutter


# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  # assets:
  #  - images/a_dot_burr.jpeg
  #  - images/a_dot_ham.jpeg

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.io/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.io/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.io/custom-fonts/#from-packages

assets:
  - assets/flutter-icon.png
like image 984
Eoin Molloy Avatar asked Feb 07 '19 13:02

Eoin Molloy


3 Answers

You need add this lines in your file graddle.properties

android.useAndroidX=true
android.enableJetifier=true
like image 60
CrsCaballero Avatar answered Oct 10 '22 15:10

CrsCaballero


Checkout that your gradle plugin is compatible with your gradle version.

https://developer.android.com/studio/releases/gradle-plugin#updating-gradle

I have faced the same error when my gradle version was 6.6.1 while my plugin was 4.0.2. Updating the plugin to 4.1.0 solved it for me.

  • The gradle plugin version is located on android/build.gradle as classpath 'com.android.tools.build:gradle:{your version}' on the dependencies.

  • The gradle version is located on android/gradle/wrapper/gradle-wrapper.properties under distributionUrl.

Hopes it will help other.

like image 5
genericUser Avatar answered Nov 05 '22 02:11

genericUser


You either need to migrate to AndroidX or downgrade to the plugin versions that are compatible with pre-AndroidX.

Follow https://github.com/flutter/flutter/issues/27106 about issues related to the migration (see also https://github.com/flutter/flutter/issues/27146, https://github.com/flutter/flutter/issues/27128 for the same error output as in your question)

See also

Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.

like image 2
Günter Zöchbauer Avatar answered Nov 05 '22 02:11

Günter Zöchbauer