Android 在引导过程中挂起并出现致命异常 WifiStateMachine 和 JavaBinder

Android hangs with fatal exceptions WifiStateMachine and JavaBinder during boot process

我正在开发的应用程序崩溃了。崩溃导致系统重启。
烦人的部分是有时系统甚至不再启动。它永远挂在动画上,而不是进入主屏幕。所以我必须恢复整个数据分区。

Logcat 当系统在引导过程中停止时抛出以下内容:
.
.
-------- 崩溃开始
03-08 16:42:33.431 1031 3168 E Android运行时:*** 系统进程中的致命异常:WifiStateMachine
03-08 16:42:33.431 1031 3168 E Android运行时间:java.lang.StringIndexOutOfBoundsException:长度=0;指数=0
03-08 16:42:33.431 1031 3168 E Android运行时:在 java.lang.String.charAt(本机方法)
03-08 16:42:33.431 1031 3168 E Android运行时:在 com.android.server.wifi.WifiNetworkHistory.readNetworkHistory(WifiNetworkHistory.java:352)
.
.
03-08 16:42:34.011 3850 3850 E JavaBinder:!!!失败的 BINDER 交易 !!! (包裹大小 = 4700)
03-08 16:42:34.013 3850 3850 E Android运行时:致命异常:main
03-08 16:42:34.013 3850 3850 E Android运行时:进程:com.android.cellbroadcastreceiver,PID:3850
03-08 16:42:34.013 3850 3850 E Android运行时:DeadSystemException:系统已死;较早的日志将指向根本原因
.
.
03-08 16:42:34.069 3623 3623 E Android运行时:致命异常:main
03-08 16:42:34.069 3623 3623 E Android运行时:进程:com.android.phone,PID:3623
03-08 16:42:34.069 3623 3623 E Android运行时:DeadSystemException:系统已死;较早的日志将指向根本原因
.
.

我的应用程序根本没有对 WiFi 执行任何操作。 Binder 用于 Android 中任何类型的进程间通信。但无论如何,这不是我的应用程序。在这种启动过程状态下,我的应用程序不参与。
可能有一些系统文件因崩溃而损坏?
正如上面的 logcat 输出状态 "earlier logs will point to the root cause"。但是有这么多错误似乎是正常的。即使在一个健康的系统上,也有大约 800 行带有 'E' 错误...

有人知道发生了什么事吗?
谢谢

上面发布的日志中的 readNetworkHistory() 指出了解决方案:
当 phone 崩溃时,文件 /data/misc/wifi/networkHistory.txt 有时会损坏。它只包含零。
解决方案是简单地删除这个文件。这可以通过 TWRP、高级、文件管理器来完成。或者使用亚行。
该文件将自动恢复。我认为它只是 WifiConfiguration 的可读形式的副本(参见 WifiNetworkHistory.java)。

这似乎是一个普遍的问题。前段时间我有另一个死系统。由于电池耗尽而崩溃,之后无法启动
我还有它的 TWRP 备份。同样这里的文件 networkHistory.txt 已损坏。

希望这对某人有所帮助, 茨维凯克斯