react-native-push-notification: Task :react-native-push-notification:compileDebugJavaWithJavac FAILED all of a sudden

Bug

Two projects that uses this library. But suddenly we can’t build them on Android anymore. Task :react-native-push-notification:compileDebugJavaWithJavac FAILED

It seems like other people are having this issue too. But it might be related to react-native-fcm. https://github.com/evollu/react-native-fcm/issues/1111#issuecomment-839178980 Anyone know how to fix it?

Environment info

react-native info output:


System:
    OS: macOS 10.15.7
    CPU: (8) x64 Intel(R) Core(TM) i5-1038NG7 CPU @ 2.00GHz
    Memory: 82.62 MB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 13.8.0 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 6.4.1 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.0 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK:
      API Levels: 29, 30
      Build Tools: 28.0.3, 29.0.2, 30.0.2
      System Images: android-30 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.1 AI-201.8743.12.41.6858069
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 15.0.1 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: 0.63.4 => 0.63.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Library version: 7.2.3

Error:

> Task :react-native-push-notification:compileDebugJavaWithJavac FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
148 actionable tasks: 146 executed, 2 up-to-date
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-background-downloader/android/src/main/java/com/eko/RNBackgroundDownloaderModule.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/helenzhang/projects/akufen_icc_react-native/node_modules/@react-native-community/async-storage/android/src/main/java/com/reactnativecommunity/asyncstorage/AsyncStorageModule.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-fs/android/src/main/java/com/rnfs/RNFSManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-localize/android/src/main/java/com/reactcommunity/rnlocalize/RNLocalizeModule.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
/Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java:39: error: cannot find symbol
import com.google.firebase.iid.FirebaseInstanceId;
                              ^
  symbol:   class FirebaseInstanceId
  location: package com.google.firebase.iid
/Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java:40: error: cannot find symbol
import com.google.firebase.iid.InstanceIdResult;
                              ^
  symbol:   class InstanceIdResult
  location: package com.google.firebase.iid
/Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java:143: error: cannot find symbol
              .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                                                            ^
  symbol:   class InstanceIdResult
  location: class RNPushNotification
/Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java:145: error: cannot find symbol
                  public void onComplete(@NonNull Task<InstanceIdResult> task) {
                                                       ^
  symbol: class InstanceIdResult
/Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java:142: error: cannot find symbol
      FirebaseInstanceId.getInstance().getInstanceId()
      ^
  symbol:   variable FirebaseInstanceId
  location: class RNPushNotification
/Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java:289: error: cannot find symbol
                  FirebaseInstanceId.getInstance().deleteInstanceId();
                  ^
  symbol: variable FirebaseInstanceId
Note: /Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationHelper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/helenzhang/projects/akufen_icc_react-native/node_modules/react-native-push-notification/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
6 errors
3 warnings

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-push-notification:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

Steps To Reproduce

  1. npx react-native run-android

Describe what you expected to happen:

  1. App should build successfully on Android

Reproducible sample code

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 51
  • Comments: 74

Most upvoted comments

Try to add implementation com.google.firebase:firebase-messaging:21.1.0 to app/build.gradle and firebaseMessagingVersion=21.1.0 to gradle.properties. Worked for me

Hi, I’m looking into this issue and will provide a fix soon. Regards

FYI: https://stackoverflow.com/questions/51125169/what-to-use-now-that-firebaseinstanceid-getinstance-gettoken-is-deprecated#answer-51125384

I think this is the issue probably.

Fix is already in dev branch, just stuck in meeting

The fix will be available in the next hour, please wait!

The fix is available in the version 7.3.0. No breaking change in this release, only the fix and a PR #1959.

Clean your build cache after upgrade and remove the hacky workaround which will get you stuck in a old version.

If the error persist please share more details here.

Thanks @nikolaywithpara! Worked perfect. You can also add firebaseMessagingVersion in android/build.gradle along with other library versions instead of gradle.properties:

ext {
        firebaseMessagingVersion = "21.1.0"
        googlePlayServicesLocationVersion = "17.0.0"
        buildToolsVersion = "29.0.2"
        minSdkVersion = 21
        compileSdkVersion = 29
        targetSdkVersion = 29
        supportLibVersion = "28.0.0"
}

@emrecanozkok try this solution work for me

ext {
        firebaseMessagingVersion = "21.1.0" // Add this is android/build.gradle
        
}

Hi, I’m looking into this issue and will provide a fix soon. Regards

I have same problem. I tried upgrading to the

"react-native-push-notification": "^7.3.0"

it works fine for me, the error no longer appears.

I’m getting the same error, it started about an hour ago out of nowhere

upgrading to 7.3.0 solves for me too.

Thanks for the quick release, I cleared my cache with cd android && ./gradlew clean still I get the following error:

* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> 1 exception was raised by workers:
  java.lang.RuntimeException: Duplicate class com.google.android.gms.internal.firebase_messaging.zza found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzb found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzc found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzd found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zze found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzf found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzg found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzh found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzi found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzj found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzk found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzl found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzm found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)
  Duplicate class com.google.firebase.iid.FirebaseInstanceIdReceiver found in modules jetified-firebase-iid-16.0.0-runtime.jar (com.google.firebase:firebase-iid:16.0.0) and jetified-firebase-messaging-22.0.0-runtime.jar (com.google.firebase:firebase-messaging:22.0.0)

  Go to the documentation to learn how to <a href="d.android.com/r/tools/classpath-sync-errors">Fix dependency resolution errors</a>.

when will version 7.3.0 release

@raaidkh-tsa It has been released.

@Dallas62 Are you have some solution for the problem?

@Dallas62 open the app with version 7.3.0 and error happen Captura de pantalla 2021-05-12 a las 13 49 17

can i use it without firebase ? @Dallas62