치명적 예외 : Firebase-Messaging-Intent-Handle — java.lang.NoClassDefFoundError

Nov 06 2020

내 프로젝트에서 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 Play에 버전을 업로드 minifyEnabled하고 shrinkResources둘 다로 설정 false했지만 사전 출시 보고서의 Firebase / Youtube 오류가 여전히 난독 화되어 있습니다. 그리고 Nokia 1과 Huawei P8 青春 版의 두 장치에만 영향을 미칩니다.

난독 처리되지 않은 파일을 Google Play에 업로드 할 때 내 앱에 난독 처리 된 코드가 포함되어 있으며지도 파일을 업로드해야한다는 경고를 받았습니다. Firebase / Youtube 코드가 내 바이너리에 어떻게 포함되어 있는지 알 수 없으며 커밋을 살펴보면 오류가 나타나기 시작했을 때 내 라이브러리에 대한 업데이트가 없었습니다.

최신 정보:

이 버그 보고서에이 문제가 추가되었습니다.
https://issuetracker.google.com/issues/160907013

답변

27 grolschie Nov 15 2020 at 05:54

해결책 : 무시

모든 징후는 이것이 Google 코드가 아닌 Google Play의 사전 출시 보고서에 문제가 있음을 나타냅니다.

편집 : Google의 제품 및 엔지니어링 팀 https://issuetracker.google.com/issues/160907013#comment25문제의. 그러나 문제의 규모를 파악하기 위해 몇 사람이 더 필요할 수 있습니다. 버그 보고서에 게시하는 것을 고려해보십시오.

6 DanielVega Nov 09 2020 at 07:58

또한 Android 스튜디오와 함께 Java로 개발 된 새 버전의 애플리케이션을 게시하려고 할 때도 동일한 문제가 발생합니다. 사전 출시시 Android 5.0 (SDK 21)이 설치된 Huawei P8 青春 版 장치에 오류가 표시됩니다. 오류는 다음과 같습니다.

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이 테스트 장치에서 문제를 해결하거나 응용 프로그램을 게시 할 때까지만 기다릴 수 있으며 해당 장치를 사용하는 일부 사용자에게 동일한 오류가 있습니다.

3 Karl Nov 06 2020 at 19:08

나를 위해 이것은 클래스를 삭제했지만 AndroidManifest.xml에서 클래스에 대한 참조를 제거하는 것을 잊었 기 때문에 발생했습니다.

AndroidManifest.xml을 살펴보고 존재하지 않는 클래스를 참조하지 않는지 확인하세요. 빨간색으로 표시 될 가능성이 있지만 놀랍게도 프로젝트는 계속 빌드됩니다.

빌드 축소 / 난독 화로 인해 이름이 aewt로 표시 될 수 있습니다. 오류 메시지가 YouTube를 참조하는 이유를 전혀 모르겠습니다. 앱에서 YouTube를 사용하지 않을 때도 마찬가지입니다.

사전 출시 보고서의 오류 로그는 전혀 쓸모가 없었지만 firebase crashlytics의 오류 로그를 통해 문제의 원인이 밝혀졌습니다.

의심 할 여지없이 오늘 늦게 발표 할 사전 출시 보고서를 기다리고 있지만, firebase crashlytics 보고서와 상황을 기반으로 할 가능성이 높습니다.

편집 : 내 시험판 보고서에 더 이상이 오류가 표시되지 않으며 androidmanifest.xml에서 중단 된 참조를 제거한 후 완전히 전달됩니다.

shanzAD Nov 13 2020 at 15:30

firebase 최신 SDK로 업데이트 한 후이 문제가 발생했습니다. 문제는 이전에 앱에서 제거 된 서비스 참조를 제거하지 않았다는 것입니다.

  • 매니페스트를 확인 하고 빨간색으로 표시되는 불필요한 참조제거하십시오 .

그렇게함으로써 사전 출시 보고서에서이 오류를 제거 할 수있었습니다.