Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cannot find symbol import com.google.firebase.iid.FirebaseInstanceIdService error in ionic3

I Have no idea why I am getting this error whenever I try to create my app's build.I have tried many solutions but I was unable to solve this.i don't know if any plugins is causing issues or if there's any issue with my Code or firebase or firebase connectivity.I have deleted node modules and run npm install and removed and re-added android platform but still i am getting this error.

import com.google.firebase.iid.FirebaseInstanceIdService;                               ^   symbol:   class FirebaseInstanceIdService   location: package com.google.firebase.iid C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePluginInstanceIDService.java:9: error: cannot find symbol public class FirebasePluginInstanceIDService extends FirebaseInstanceIdService {                                                      ^   symbol: class FirebaseInstanceIdService C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePlugin.java:508: error: method getByteArray in class FirebaseRemoteConfig cannot be applied to given types;                             : FirebaseRemoteConfig.getInstance().getByteArray(key, namespace);                                                                 ^   required: String   found: String,String   reason: actual and formal argument lists differ in length C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePlugin.java:525: error: method getValue in class FirebaseRemoteConfig cannot be applied to given types;                             : FirebaseRemoteConfig.getInstance().getValue(key, namespace);                                                                 ^   required: String   found: String,String   reason: actual and formal argument lists differ in length C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePlugin.java:579: error: no suitable method found for setDefaults(Map<String,Object>,String)                         FirebaseRemoteConfig.getInstance().setDefaults(defaultsToMap(defaults), namespace);                                                           ^     method FirebaseRemoteConfig.setDefaults(Map<String,Object>) is not applicable       (actual and formal argument lists differ in length)     method FirebaseRemoteConfig.setDefaults(int) is not applicable       (actual and formal argument lists differ in length) C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePluginInstanceIDService.java:18: error: method does not override or implement a method from a supertype     @Override     ^ Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\io\card\cordova\sdk\CardIOCordovaPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 6 errors :app:compileDebugJavaWithJavac FAILED  FAILURE: Build failed with an exception.  * What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'. 27 actionable tasks: 1 executed, 26 up-to-date > 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.  * Get more help at https://help.gradle.org  BUILD FAILED in 54s cmd: Command failed with exit code 1 Error output: C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePluginInstanceIDService.java:6: error: cannot find symbol import com.google.firebase.iid.FirebaseInstanceIdService;                               ^   symbol:   class FirebaseInstanceIdService   location: package com.google.firebase.iid C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePluginInstanceIDService.java:9: error: cannot find symbol public class FirebasePluginInstanceIDService extends FirebaseInstanceIdService {                                                      ^   symbol: class FirebaseInstanceIdService C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePlugin.java:508: error: method getByteArray in class FirebaseRemoteConfig cannot be applied to given types;                             : FirebaseRemoteConfig.getInstance().getByteArray(key, namespace);                                                                 ^   required: String   found: String,String   reason: actual and formal argument lists differ in length C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePlugin.java:525: error: method getValue in class FirebaseRemoteConfig cannot be applied to given types;                             : FirebaseRemoteConfig.getInstance().getValue(key, namespace);                                                                 ^   required: String   found: String,String   reason: actual and formal argument lists differ in length C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePlugin.java:579: error: no suitable method found for setDefaults(Map<String,Object>,String)                         FirebaseRemoteConfig.getInstance().setDefaults(defaultsToMap(defaults), namespace);                                                           ^     method FirebaseRemoteConfig.setDefaults(Map<String,Object>) is not applicable       (actual and formal argument lists differ in length)     method FirebaseRemoteConfig.setDefaults(int) is not applicable       (actual and formal argument lists differ in length) C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\org\apache\cordova\firebase\FirebasePluginInstanceIDService.java:18: error: method does not override or implement a method from a supertype     @Override     ^ Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\Users\user\Downloads\mosque\platforms\android\app\src\main\java\io\card\cordova\sdk\CardIOCordovaPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 6 errors  FAILURE: Build failed with an exception.  * What went wrong: Execution failed for task ':app: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.  * Get more help at https://help.gradle.org  BUILD FAILED in 54s [ERROR] An error occurred while running subprocess cordova.          cordova build android exited with exit code 1. 
like image 461
theCoder Avatar asked May 21 '19 04:05

theCoder


1 Answers

Yes, it's depreciated. The fix it quite simple, just move the code...

From onTokenRefresh() in your FirebaseInstanceIdService subclass

To onNewToken() in your FirebaseMessagingService subclass

Info on depreciation: https://firebase.google.com/support/release-notes/android#update_-_april_02_2019

I would recommend making this small code change over using old versions of firebase. Probably a good idea to also migrate to AndroidX [https://developer.android.com/jetpack/androidx/migrate] while you're at it.

like image 151
Kaitlyn Hanrahan Avatar answered Oct 01 '22 03:10

Kaitlyn Hanrahan