FATAL EXCEPTION: Firebase-Messaging-Intent-Handle -- java.lang.NoClassDefFoundError
Solution: ignore
All signs point to this being a problem with Google Play's Pre-launch Reports and not our code.
Edit:
Google's product and engineering teams are now aware of the issue. But it seems they might need a few more people to give them a sense of the scale of the issue. Perhaps consider posting on the bug report.
Update:
Google have fixed it now by adding a filter for the process. See comment 256 on the bug report.
I have uploaded a few versions of my app and the problem is now gone.
FATAL EXCEPTION: Firebase-Messaging-Intent-Handle Process: com.google.android.youtube on pre launch google play console
It seems to be a problem on google devices, the solution is to wait for them to fix it. For more information see the following question:
Link
Java.Lang.NoClassDefFoundError when implementing firebase cloud messaging
Installing the Xamarin.Google.Dagger package solved this problem for me.
Firebase Messaging Error(Android only) - Fatal Exception on new Push Notification
the error message hints for iid
; the instance ID service. this might be provided by firebase-core
; while it could also be incompatible versions, which occassionaly lead to unknown methods and fields.
try to update:
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:3.2.1'
to the current versions:
classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'com.google.gms:google-services:4.1.0'
the firebase-perf
plugin has to be at the top, not the bottom:
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'
also the library is outdated (possibly might require firebase-core
):
implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-perf:16.1.2'
while I really wonder, why there is no dependency for FCM
(as one would expect it):
implementation 'com.google.firebase:firebase-messaging:17.3.3'
once targeting API level 28, it is also suggested to setup a notification channel:
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/default_notification_channel_id" />
... the support libraries would be at version 28.0.0
currently.
remark: the invalid JSON syntax might (most likely) come from posting it wrongfully - otherwise other platforms would not function either; I've just added an explanation what is wrong with it and removed the hard-coded values. the stack-trace tells a whole other story, not hinting for any invalid syntax.
Cannot handle exception in firebase function
The exception which is thrown in OnCompleteListener
will not propagate to the outer scope, it is scoped to OnCompleteListener
block. To achieve your objective I would recommend to rewrite the code to something like the following:
coroutineScope.launch {
try {
val token: String = FirebaseMessaging.getInstance().token.await()
if (token.isNotEmpty) {
getUsers().await()
}
} catch (e: Exception){
// ...
}
}
await
function waits for task to complete.
Related Topics
Multiple Dex Files Define Landroid/Support/Annotation/Animres
How to Apply Custom Filters in a Camera [Surfaceview Preview]...
How to Transform Currenttimemillis to a Readable Date Format
Deadobjectexception on Android App
How to Implement the Android Actionbar Back Button
Getlocationonscreen() VS Getlocationinwindow()
Android Call a Method from Another Class
Choosing Java VS Python on Google App Engine
"Invalid Privatekey" When Using Jsch
How to Increase the Number of Displayed Lines of a Java Stack Trace Dump
Open Gallery App from Android Intent
How to Update One Field from All Documents Using Pojo in Firestore
Center Message in Android Dialog Box
How to Remove a Specific Element from a JSONarray
Should I Strictly Avoid Using Enums on Android
Multidex Noclassdeffound Error
Serializing with Jackson (JSON) - Getting "No Serializer Found"