EXCEÇÃO FATAL: Firebase-Messaging-Intent-Handle - java.lang.NoClassDefFoundError

Nov 06 2020

Não estou usando nenhum código / biblioteca do Firebase ou do Youtube no meu projeto. Ainda recentemente, nos relatórios de pré-lançamento do Android, estou vendo falhas com isto:

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)

Aqui está outro registro com mais detalhes, mas problemas diferentes:

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)
    ...

Alguma ideia, por favor?

Não tenho ideia do que dkp: libelements.soé ". O Google não mostra resultados.

Eu carreguei uma versão para o Google Play com minifyEnablede shrinkResourcesconfigurada para false, mas os erros do Firebase / Youtube nos relatórios de pré-lançamento ainda estão ofuscados. E isso afeta apenas dois dispositivos: Nokia 1 e Huawei P8 青春 版.

Quando carreguei o arquivo não ofuscado no Google Play, fui avisado de que meu aplicativo continha código ofuscado e que deveria fazer upload de um arquivo de mapa. Não tenho ideia de como o código Firebase / Youtube está em meu binário e, olhando meus commits, não houve atualizações em nenhuma das minhas bibliotecas na época em que os erros começaram a aparecer.

ATUALIZAR:

Este problema foi adicionado a este relatório de bug:
https://issuetracker.google.com/issues/160907013

Respostas

27 grolschie Nov 15 2020 at 05:54

Solução: ignore

Todos os sinais apontam para que este seja um problema com os relatórios de pré-lançamento do Google Play e não com o nosso código.

Editar: equipes de produto e engenharia do Google https://issuetracker.google.com/issues/160907013#comment25do problema. Mas parece que eles podem precisar de mais algumas pessoas para lhes dar uma noção da escala do problema. Talvez considere postar no relatório de bug.

6 DanielVega Nov 09 2020 at 07:58

Também tenho o mesmo problema ao tentar publicar uma nova versão do meu aplicativo também desenvolvido em java com android studio, no pré-lançamento é mostrado um erro para o dispositivo Huawei P8 青春 版 com Android 5.0 (SDK 21). O erro é o seguinte:

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)

Mas, ao baixar o log completo, acho que o erro aparece antes de o aplicativo iniciar:

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
...

Mas no vídeo que o google faz para o teste o aplicativo nunca falha e você pode ver claramente que começa às 06:57:07, então os horários não batem.

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.

Verifique o registro em detalhes, se for o mesmo caso, só podemos esperar que o google conserte o problema em seus dispositivos de teste ou publique o aplicativo e que algum usuário com esse dispositivo tenha o mesmo erro.

3 Karl Nov 06 2020 at 19:08

Para mim, isso estava acontecendo porque eu excluí uma classe, mas esqueci de remover uma referência a ela em AndroidManifest.xml.

Vá até o seu AndroidManifest.xml e certifique-se de que ele não faz referência a nenhuma classe inexistente, elas provavelmente serão exibidas em vermelho, mas surpreendentemente o projeto ainda será compilado.

O nome provavelmente está sendo exibido como alterado por causa da redução / ofuscação da versão. Não tenho absolutamente nenhuma ideia de por que a mensagem de erro faz referência ao youtube, isso também acontece comigo quando não uso o youtube no aplicativo.

O registro de travamento no relatório de pré-lançamento era totalmente inútil, mas um registro de travamento no crashlytics do firebase revelou a origem do problema.

Ainda estou esperando por um relatório de pré-lançamento para confirmar, sem dúvida, o que terei mais tarde hoje, mas parece altamente provável com base no relatório de crashlytics do firebase e as circunstâncias.

Edit: Meu relatório de pré-lançamento não mostra mais este erro e está totalmente passando depois de remover a referência de travamento do androidmanifest.xml

shanzAD Nov 13 2020 at 15:30

Tive esse problema depois de atualizar para o SDK mais recente do Firebase. O problema era que não removi a referência de um serviço que foi removido anteriormente do aplicativo.

  • verifique seu manifesto e remova as referências desnecessárias que serão mostradas em vermelho.

Ao fazer isso, consegui remover esse erro do relatório de pré-lançamento.