首页 > 解决方案 > 神秘的 java.lang.RuntimeException:在 android.os.PowerManager$WakeLock.acquireLocked (PowerManager.java:2212)

问题描述

已经在生产环境中运行多年的应用突然决定抛出一次 RuntimeException。

这是由 Play 管理中心崩溃跟踪页面报告的。我所知道的只是它发生在运行 Android 8.0 的 Galaxy S7 上

完整的堆栈跟踪是

java.lang.RuntimeException: 
  at android.app.ActivityThread.handleReceiver (ActivityThread.java:3399)
  at android.app.ActivityThread.-wrap18 (Unknown Source)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1780)
  at android.os.Handler.dispatchMessage (Handler.java:105)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6944)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
Caused by: java.lang.RuntimeException: 
  at android.os.PowerManager$WakeLock.acquireLocked (PowerManager.java:2212)
  at android.os.PowerManager$WakeLock.acquire (PowerManager.java:2193)
  at android.support.v4.content.WakefulBroadcastReceiver.startWakefulService (WakefulBroadcastReceiver.java:111)
  at com.google.firebase.iid.zzav.zzd (Unknown Source:56)
  at com.google.firebase.iid.zzav.zzb (Unknown Source:33)
  at com.google.firebase.iid.FirebaseInstanceIdReceiver.zza (Unknown Source:39)
  at com.google.firebase.iid.FirebaseInstanceIdReceiver.zza (Unknown Source:30)
  at com.google.firebase.iid.FirebaseInstanceIdReceiver.onReceive (Unknown Source:10)
  at android.app.ActivityThread.handleReceiver (ActivityThread.java:3392)

抛出的异常中很可能包含一条很好的描述性消息,但不幸的是,异常消息没有也从未包含在 Play 管理中心崩溃报告中。

如果我知道如何找到 PowerManager 类的这个特定版本的源代码,我可以在那里查找。但可惜,这也被证明超出了我的能力范围。

任何帮助或建议将不胜感激。

谢谢

标签: javaandroidfirebase-cloud-messagingruntimeexceptionpowermanager

解决方案


推荐阅读