致命异常:Firebase-Messaging-Intent-Handle -- java.lang.NoClassDefFoundError
FATAL EXCEPTION: Firebase-Messaging-Intent-Handle -- java.lang.NoClassDefFoundError
我没有在我的项目中使用任何 Firebase 或 Youtube code/libraries。然而最近,在 Android 预发布报告中,我看到了崩溃:
FATAL EXCEPTION: Firebase-Messaging-Intent-Handle
Process: com.google.android.youtube, PID: 26820
java.lang.NoClassDefFoundError: aewt
at aewu.b(PG:1)
at duc.a(PG:230)
at duc.get(PG:247)
at aevw.b(PG:1)
at dud.al(PG:5)
at dud.aw(PG:4)
at dud.bg(PG:8)
at duc.a(PG:232)
at duc.get(PG:247)
at afke.a(PG:1)
at aeri.b(PG:1)
at dud.fv(PG:4)
at duc.c(PG:269)
at duc.get(PG:247)
at amfk.a(PG:1)
at eiu.K(PG:5)
at dud.fV(PG:7)
at duc.d(PG:334)
at duc.get(PG:247)
at com.google.android.apps.youtube.app.common.notification.FcmMessageListenerService.b(PG:1)
at com.google.firebase.messaging.FirebaseMessagingService.g(PG:53)
at avgp.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at usj.run(PG:2)
at java.lang.Thread.run(Thread.java:831)
这是另一个更详细但问题不同的日志:
Process: com.google.android.youtube, PID: 16751
java.lang.NoClassDefFoundError: aewt
[redacted]
at com.google.android.apps.youtube.app.common.notification.FcmMessageListenerService.b(PG:1)
at com.google.firebase.messaging.FirebaseMessagingService.g(PG:53)
at avgp.run(Unknown Source:7)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at usj.run(PG:2)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ExceptionInInitializerError
[redacted]
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5767)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1680)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
Caused by: dkp: libelements.so
at dks.c(PG:52)
...
有什么想法吗?
我不知道 dkp: libelements.so
" 是什么。谷歌搜索没有结果。
我上传了一个版本到 Google 播放 minifyEnabled
和 shrinkResources
都设置为 false
,但是发布前报告中的 Firebase/Youtube 错误仍然很困惑。而且只影响诺基亚1和华为P8青春版两台设备。
当我将未混淆的文件上传到 Google Play 时,系统警告我我的应用程序包含混淆代码,我应该上传地图文件。我不知道 Firebase/Youtube 代码是如何在我的二进制文件中的,并且通过查看我的提交,在错误开始出现时我的任何库都没有更新。
更新:
再次标记为已修复:
https://issuetracker.google.com/issues/160907013#comment256
对我来说,这是因为我删除了 class,但忘记删除 AndroidManifest.xml 中对它的引用。
仔细检查您的 AndroidManifest.xml 并确保它没有引用任何 non-existent classes,它们可能会显示为红色,但令人惊讶的是该项目仍会构建。
由于构建缩小/混淆,该名称可能显示为 aewt。我完全不知道为什么错误消息引用了 youtube,当我不在应用程序中使用 youtube 时,它对我也是如此。
pre-release 报告中的崩溃日志完全没有用,但 firebase crashlytics 中的崩溃日志揭示了问题的根源。
我仍在等待 pre-release 毫无疑问的确认报告,今天晚些时候我会收到,但根据 firebase crashlytics 报告和当时的情况,这似乎很有可能。
编辑:我的 pre-release 报告不再显示此错误,并且在从 androidmanifest.xml
中删除悬挂引用后完全通过
我在尝试发布我的应用程序的新版本时也遇到了同样的问题,该应用程序也是在 java 中使用 android studio 开发的,在预启动中显示了华为 P8 青春的错误带有 Android 5.0 (SDK 21) 的版本设备。错误如下:
FATAL EXCEPTION: Firebase-Messaging-Intent-Handle
Process: com.google.android.youtube, PID: 27648
java.lang.NoClassDefFoundError: aewt
at aewu.b(PG:1)
at duc.a(PG:230)
at duc.get(PG:247)
at aevw.b(PG:1)
at dud.al(PG:5)
at dud.aw(PG:4)
at dud.bg(PG:8)
at duc.a(PG:232)
at duc.get(PG:247)
at afke.a(PG:1)
at aeri.b(PG:1)
at dud.fv(PG:4)
at duc.c(PG:269)
at duc.get(PG:247)
at amfk.a(PG:1)
at eiu.K(PG:5)
at dud.fV(PG:7)
at duc.d(PG:334)
at duc.get(PG:247)
at com.google.android.apps.youtube.app.common.notification.FcmMessageListenerService.b(PG:1)
at com.google.firebase.messaging.FirebaseMessagingService.g(PG:53)
at avgp.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at usj.run(PG:2)
at java.lang.Thread.run(Thread.java:831)
但是在下载完整的日志时,我发现在应用程序启动之前就出现了错误:
11-08 06:57:29.438: E/AndroidRuntime(27648): FATAL EXCEPTION: Firebase-Messaging-Intent-Handle
11-08 06:57:29.438: E/AndroidRuntime(27648): Process: com.google.android.youtube, PID: 27648
11-08 06:57:29.438: E/AndroidRuntime(27648): java.lang.NoClassDefFoundError: aewt
...
但是在google进行测试的视频中,应用程序从未失败,您可以清楚地看到它是从06:57:07开始的,所以时间不匹配。
1-08 06:59:07.758: W/PGApi_client(3556): recv actoionId = 10000, action = com.huawei.pgmng.PGAction@13714f2a actionId =10000 pkg =com.MYAPP.MYAPP extend1 =0 extend2 = flag =3 type =1
11-08 06:59:07.758: W/PGMiddleWare jhh(3556): in handleAction method, action = 10000
11-08 06:59:07.758: W/PGMiddleWare jhh(3556): in handleAction, invoke client = com.huawei.pgmng.middleware.AudioEffectLowPowerImpl@2725ca70, action = com.huawei.pgmng.PGAction@13714f2a actionId =10000 pkg =com.MYAPP.MYAPP extend1 =0 extend2 = flag =3 type =1
11-08 06:59:07.758: I/AudioEffectLowPowerImpl jhh(3556): jhh handle default mActionId = 10000, action = com.huawei.pgmng.PGAction@13714f2a actionId =10000 pkg =com.MYAPP.MYAPP extend1 =0 extend2 = flag =3 type =1
11-08 06:59:07.758: W/AudioEffectLowPowerImpl jhh(3556): enter into DEFAULT_FRONT Scene.
详细检查注册表,如果是同样的情况只能等google在他们的测试设备上修复问题或者发布应用,并且该设备的某些用户出现相同的错误.
我在更新到 firebase 最新版 SDK 后遇到了这个问题。问题是,我没有删除之前从应用程序中删除的服务的引用。
- 检查您的清单并删除不必要的引用,这将以红色显示。
通过这样做,我能够从预启动报告中删除此错误。
解决方法:忽略
所有迹象都表明这是 Google Play 的预发布报告的问题,而不是我们的代码。
编辑:
Google 的产品和工程团队 are now aware 的问题。但似乎他们可能需要更多的人来让他们了解问题的严重性。也许考虑在错误报告上发帖。
更新:
Google 现在已通过为进程添加过滤器来修复它。请参阅错误报告中的 comment 256。
我已经上传了几个版本的应用程序,现在问题已经解决了。
我有同样的问题,这个问题是在特定设备(Nokia Nokia 1 和 Huawei P8)上引起的,问题是 Google 预启动测试实验室的错误,如果这个问题是独一无二的告诉你,你真的只需要忽略,这个问题出现大约三个月,Google 会解决它,我们不知道什么时候...
从支持的设备列表中删除诺基亚 1 应该会有帮助
我认为这个问题与 Firebase 库无关,因为许多不使用 Firebase 库的用户都会遇到这个问题,经过几天尝试了解这个问题后,我认为这个问题与 google 播放有关服务应用程序更新方法(应用程序包)。为什么我认为问题出在 google 播放服务中?因为这个问题发生在 2020 年 11 月 1 日左右开始的用户,我想在这个日期 google 更新 google 播放服务,问题从这里开始,我还有另一个原因,当我做一些在我的代码中的某个地方进行了更改,然后我在 Playstore 中重新发布了该应用程序,问题突然消失了,当我重新发布它时,问题又出现了。由于所有这些原因,我认为问题出在 google 播放服务中。
-从 Manifest 文件中删除不必要的引用可暂时解决该问题,但如果您尝试重新发布您的应用,该问题会再次出现!
对我来说是因为标题和消息是空字符串。
我没有在我的项目中使用任何 Firebase 或 Youtube code/libraries。然而最近,在 Android 预发布报告中,我看到了崩溃:
FATAL EXCEPTION: Firebase-Messaging-Intent-Handle
Process: com.google.android.youtube, PID: 26820
java.lang.NoClassDefFoundError: aewt
at aewu.b(PG:1)
at duc.a(PG:230)
at duc.get(PG:247)
at aevw.b(PG:1)
at dud.al(PG:5)
at dud.aw(PG:4)
at dud.bg(PG:8)
at duc.a(PG:232)
at duc.get(PG:247)
at afke.a(PG:1)
at aeri.b(PG:1)
at dud.fv(PG:4)
at duc.c(PG:269)
at duc.get(PG:247)
at amfk.a(PG:1)
at eiu.K(PG:5)
at dud.fV(PG:7)
at duc.d(PG:334)
at duc.get(PG:247)
at com.google.android.apps.youtube.app.common.notification.FcmMessageListenerService.b(PG:1)
at com.google.firebase.messaging.FirebaseMessagingService.g(PG:53)
at avgp.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at usj.run(PG:2)
at java.lang.Thread.run(Thread.java:831)
这是另一个更详细但问题不同的日志:
Process: com.google.android.youtube, PID: 16751
java.lang.NoClassDefFoundError: aewt
[redacted]
at com.google.android.apps.youtube.app.common.notification.FcmMessageListenerService.b(PG:1)
at com.google.firebase.messaging.FirebaseMessagingService.g(PG:53)
at avgp.run(Unknown Source:7)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at usj.run(PG:2)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ExceptionInInitializerError
[redacted]
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5767)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1680)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
Caused by: dkp: libelements.so
at dks.c(PG:52)
...
有什么想法吗?
我不知道 dkp: libelements.so
" 是什么。谷歌搜索没有结果。
我上传了一个版本到 Google 播放 minifyEnabled
和 shrinkResources
都设置为 false
,但是发布前报告中的 Firebase/Youtube 错误仍然很困惑。而且只影响诺基亚1和华为P8青春版两台设备。
当我将未混淆的文件上传到 Google Play 时,系统警告我我的应用程序包含混淆代码,我应该上传地图文件。我不知道 Firebase/Youtube 代码是如何在我的二进制文件中的,并且通过查看我的提交,在错误开始出现时我的任何库都没有更新。
更新:
再次标记为已修复:
https://issuetracker.google.com/issues/160907013#comment256
对我来说,这是因为我删除了 class,但忘记删除 AndroidManifest.xml 中对它的引用。
仔细检查您的 AndroidManifest.xml 并确保它没有引用任何 non-existent classes,它们可能会显示为红色,但令人惊讶的是该项目仍会构建。
由于构建缩小/混淆,该名称可能显示为 aewt。我完全不知道为什么错误消息引用了 youtube,当我不在应用程序中使用 youtube 时,它对我也是如此。
pre-release 报告中的崩溃日志完全没有用,但 firebase crashlytics 中的崩溃日志揭示了问题的根源。
我仍在等待 pre-release 毫无疑问的确认报告,今天晚些时候我会收到,但根据 firebase crashlytics 报告和当时的情况,这似乎很有可能。
编辑:我的 pre-release 报告不再显示此错误,并且在从 androidmanifest.xml
中删除悬挂引用后完全通过我在尝试发布我的应用程序的新版本时也遇到了同样的问题,该应用程序也是在 java 中使用 android studio 开发的,在预启动中显示了华为 P8 青春的错误带有 Android 5.0 (SDK 21) 的版本设备。错误如下:
FATAL EXCEPTION: Firebase-Messaging-Intent-Handle
Process: com.google.android.youtube, PID: 27648
java.lang.NoClassDefFoundError: aewt
at aewu.b(PG:1)
at duc.a(PG:230)
at duc.get(PG:247)
at aevw.b(PG:1)
at dud.al(PG:5)
at dud.aw(PG:4)
at dud.bg(PG:8)
at duc.a(PG:232)
at duc.get(PG:247)
at afke.a(PG:1)
at aeri.b(PG:1)
at dud.fv(PG:4)
at duc.c(PG:269)
at duc.get(PG:247)
at amfk.a(PG:1)
at eiu.K(PG:5)
at dud.fV(PG:7)
at duc.d(PG:334)
at duc.get(PG:247)
at com.google.android.apps.youtube.app.common.notification.FcmMessageListenerService.b(PG:1)
at com.google.firebase.messaging.FirebaseMessagingService.g(PG:53)
at avgp.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at usj.run(PG:2)
at java.lang.Thread.run(Thread.java:831)
但是在下载完整的日志时,我发现在应用程序启动之前就出现了错误:
11-08 06:57:29.438: E/AndroidRuntime(27648): FATAL EXCEPTION: Firebase-Messaging-Intent-Handle
11-08 06:57:29.438: E/AndroidRuntime(27648): Process: com.google.android.youtube, PID: 27648
11-08 06:57:29.438: E/AndroidRuntime(27648): java.lang.NoClassDefFoundError: aewt
...
但是在google进行测试的视频中,应用程序从未失败,您可以清楚地看到它是从06:57:07开始的,所以时间不匹配。
1-08 06:59:07.758: W/PGApi_client(3556): recv actoionId = 10000, action = com.huawei.pgmng.PGAction@13714f2a actionId =10000 pkg =com.MYAPP.MYAPP extend1 =0 extend2 = flag =3 type =1
11-08 06:59:07.758: W/PGMiddleWare jhh(3556): in handleAction method, action = 10000
11-08 06:59:07.758: W/PGMiddleWare jhh(3556): in handleAction, invoke client = com.huawei.pgmng.middleware.AudioEffectLowPowerImpl@2725ca70, action = com.huawei.pgmng.PGAction@13714f2a actionId =10000 pkg =com.MYAPP.MYAPP extend1 =0 extend2 = flag =3 type =1
11-08 06:59:07.758: I/AudioEffectLowPowerImpl jhh(3556): jhh handle default mActionId = 10000, action = com.huawei.pgmng.PGAction@13714f2a actionId =10000 pkg =com.MYAPP.MYAPP extend1 =0 extend2 = flag =3 type =1
11-08 06:59:07.758: W/AudioEffectLowPowerImpl jhh(3556): enter into DEFAULT_FRONT Scene.
详细检查注册表,如果是同样的情况只能等google在他们的测试设备上修复问题或者发布应用,并且该设备的某些用户出现相同的错误.
我在更新到 firebase 最新版 SDK 后遇到了这个问题。问题是,我没有删除之前从应用程序中删除的服务的引用。
- 检查您的清单并删除不必要的引用,这将以红色显示。
通过这样做,我能够从预启动报告中删除此错误。
解决方法:忽略
所有迹象都表明这是 Google Play 的预发布报告的问题,而不是我们的代码。
编辑: Google 的产品和工程团队 are now aware 的问题。但似乎他们可能需要更多的人来让他们了解问题的严重性。也许考虑在错误报告上发帖。
更新: Google 现在已通过为进程添加过滤器来修复它。请参阅错误报告中的 comment 256。
我已经上传了几个版本的应用程序,现在问题已经解决了。
我有同样的问题,这个问题是在特定设备(Nokia Nokia 1 和 Huawei P8)上引起的,问题是 Google 预启动测试实验室的错误,如果这个问题是独一无二的告诉你,你真的只需要忽略,这个问题出现大约三个月,Google 会解决它,我们不知道什么时候...
从支持的设备列表中删除诺基亚 1 应该会有帮助
我认为这个问题与 Firebase 库无关,因为许多不使用 Firebase 库的用户都会遇到这个问题,经过几天尝试了解这个问题后,我认为这个问题与 google 播放有关服务应用程序更新方法(应用程序包)。为什么我认为问题出在 google 播放服务中?因为这个问题发生在 2020 年 11 月 1 日左右开始的用户,我想在这个日期 google 更新 google 播放服务,问题从这里开始,我还有另一个原因,当我做一些在我的代码中的某个地方进行了更改,然后我在 Playstore 中重新发布了该应用程序,问题突然消失了,当我重新发布它时,问题又出现了。由于所有这些原因,我认为问题出在 google 播放服务中。
-从 Manifest 文件中删除不必要的引用可暂时解决该问题,但如果您尝试重新发布您的应用,该问题会再次出现!
对我来说是因为标题和消息是空字符串。