PENGECUALIAN FATAL: Firebase-Messaging-Intent-Handle - java.lang.NoClassDefFoundError
Saya tidak menggunakan kode / pustaka Firebase atau Youtube dalam proyek saya. Namun baru-baru ini, di Laporan Pra-Rilis Android saya melihat error dengan ini:
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)
Berikut log lain dengan lebih detail, tetapi masalah berbeda:
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)
...
Ada ide?
Saya tidak tahu apa itu dkp: libelements.so". Googling tidak menunjukkan hasil.
Saya mengupload versi ke Google Play dengan minifyEnableddan shrinkResourceskeduanya disetel ke false, namun error Firebase / Youtube di Laporan Pra-Peluncuran masih disamarkan. Dan itu hanya mempengaruhi dua perangkat: Nokia 1 dan Huawei P8 青春 版.
Saat saya mengunggah file yang tidak disamarkan ke Google Play, saya diperingatkan bahwa aplikasi saya berisi kode yang dikaburkan dan saya harus mengunggah file peta. Saya tidak tahu bagaimana kode Firebase / Youtube ada di biner saya, dan melihat melalui commit saya, tidak ada pembaruan ke salah satu perpustakaan saya sekitar waktu kesalahan mulai muncul.
MEMPERBARUI:
Masalah ini telah ditambahkan ke laporan bug ini:
https://issuetracker.google.com/issues/160907013
Jawaban
Solusi: abaikan
Semua tanda menunjukkan bahwa ini adalah masalah dengan Laporan Pra-peluncuran Google Play dan bukan kode kami.
Edit: tim produk dan teknik Google https://issuetracker.google.com/issues/160907013#comment25masalah ini. Tetapi tampaknya mereka mungkin membutuhkan beberapa orang lagi untuk memberi mereka gambaran tentang skala masalahnya. Mungkin pertimbangkan untuk memposting di laporan bug.
Saya juga memiliki masalah yang sama ketika mencoba menerbitkan versi baru dari aplikasi saya yang juga dikembangkan di java dengan android studio, di pra peluncuran kesalahan ditampilkan untuk perangkat Huawei P8 青春 版 dengan Android 5.0 (SDK 21). Kesalahannya adalah sebagai berikut:
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)
Tetapi ketika mengunduh log lengkap saya menemukan bahwa kesalahan muncul sebelum aplikasi dimulai:
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
...
Namun dalam video yang dibuat Google untuk pengujian, aplikasinya tidak pernah gagal dan Anda dapat melihat dengan jelas bahwa itu dimulai pada 06:57:07, jadi waktunya tidak cocok.
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.
Periksa registri secara mendetail, jika kasusnya sama, kami hanya dapat menunggu Google memperbaiki masalah pada perangkat uji mereka atau menerbitkan aplikasi dan beberapa pengguna dengan perangkat tersebut memiliki kesalahan yang sama.
Bagi saya, ini terjadi karena saya menghapus sebuah kelas, tetapi lupa untuk menghapus referensinya di AndroidManifest.xml.
Pergi melalui AndroidManifest.xml Anda dan pastikan itu tidak mereferensikan kelas yang tidak ada, mereka kemungkinan akan ditampilkan sebagai merah, tetapi yang mengejutkan proyek masih akan dibangun.
Nama tersebut kemungkinan ditampilkan sebagai aewt karena minifikasi / obfuscation build. Saya sama sekali tidak tahu mengapa pesan kesalahan merujuk ke youtube, itu juga berlaku untuk saya ketika saya tidak menggunakan youtube di aplikasi.
Log kerusakan dalam laporan pra-rilis sama sekali tidak berguna, tetapi log kerusakan di firebase crashlytics mengungkapkan sumber masalahnya.
Saya masih menunggu laporan pra-rilis untuk memastikannya, yang akan saya dapatkan hari ini, tetapi tampaknya sangat mungkin berdasarkan laporan crashlytics firebase dan situasinya.
Sunting: Laporan pra-rilis saya tidak lagi menampilkan kesalahan ini dan benar-benar lewat setelah menghapus referensi gantung dari androidmanifest.xml
Saya mengalami masalah ini setelah memperbarui ke SDK terbaru firebase. Masalahnya adalah, saya tidak menghapus referensi layanan yang sebelumnya dihapus dari aplikasi.
- periksa manifes Anda dan hapus referensi yang tidak perlu yang akan ditunjukkan dengan warna merah.
Dengan melakukan itu, saya dapat menghapus kesalahan ini dari laporan prapeluncuran.