ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: Firebase-Messaging-Intent-Handle - java.lang.NoClassDefFoundError
Я не использую в своем проекте код / библиотеки Firebase или Youtube. Еще недавно в предварительных отчетах 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 не дал результатов.
Я загрузил версию в Google Play с minifyEnabledи shrinkResourcesоба набора к false, но ошибки Firebase / Youtube в Pre-Launch Reports по - прежнему запутанным. И это касается только двух устройств: Nokia 1 и Huawei P8 青春.
Когда я загрузил необфусцированный файл в Google Play, меня предупредили, что мое приложение содержит обфусцированный код и что я должен загрузить файл карты. Я понятия не имею, как код Firebase / Youtube находится в моем двоичном файле, и, просматривая мои коммиты, не было обновлений ни в одной из моих библиотек примерно в то время, когда начали появляться ошибки.
ОБНОВИТЬ:
Эта проблема была добавлена в этот отчет об ошибке:
https://issuetracker.google.com/issues/160907013
Ответы
Решение: игнорировать
Все признаки указывают на то, что это проблема с отчетами о предварительном запуске Google Play, а не с нашим кодом.
Изменить: команда разработчиков и разработчиков Google https://issuetracker.google.com/issues/160907013#comment25вопроса. Но похоже, что им может понадобиться еще несколько человек, чтобы они смогли понять масштаб проблемы. Возможно, рассмотрите возможность публикации отчета об ошибке.
У меня также возникает та же проблема при попытке опубликовать новую версию моего приложения, также разработанного на java с помощью студии Android, при предварительном запуске отображается ошибка для устройства Huawei P8 Version с 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 исправит проблему на своих тестовых устройствах или опубликует приложение, и что у какого-то пользователя с этим устройством такая же ошибка.
Для меня это произошло, потому что я удалил класс, но забыл удалить ссылку на него в AndroidManifest.xml.
Просмотрите свой AndroidManifest.xml и убедитесь, что он не ссылается на какие-либо несуществующие классы, они, скорее всего, будут отображаться красным, но, что удивительно, проект все равно будет построен.
Имя, вероятно, отображается как aewt из-за минификации / обфускации сборки. Я совершенно не понимаю, почему сообщение об ошибке ссылается на YouTube, это относится и ко мне, когда я не использую YouTube в приложении.
Журнал сбоев в отчете о предварительном выпуске был совершенно бесполезен, но журнал сбоев в аварийной аналитике firebase выявил источник проблемы.
Я все еще жду отчета о предварительном выпуске, который, несомненно, подтвердит, что я получу позже сегодня, но это кажется весьма вероятным на основе отчета о сбоях firebase и обстоятельств.
Изменить: мой предварительный отчет больше не показывает эту ошибку и полностью проходит после удаления зависшей ссылки из androidmanifest.xml
У меня возникла эта проблема после обновления до последней версии SDK Firebase. Проблема заключалась в том, что я не удалил ссылку на службу, которая ранее была удалена из приложения.
- проверьте свой манифест и удалите ненужные ссылки, которые будут показаны красным цветом.
Таким образом, я смог удалить эту ошибку из отчета перед запуском.