Android зависает с фатальными исключениями WifiStateMachine и JavaBinder во время процесса загрузки - PullRequest
0 голосов
/ 19 октября 2019

У меня возникают сбои приложения, которое я разрабатываю. Сбои приводят к перезагрузке системы.
Раздражает то, что иногда система даже не запускается. Он висит с анимацией навсегда, не выходя на домашний экран. Поэтому мне нужно восстановить весь раздел данных.

Logcat выдает следующее, когда система останавливается в процессе загрузки:
.
.
--------- начало сбоя
03-08 16: 42: 33.431 1031 3168 E AndroidRuntime: *** ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ В ПРОЦЕССЕ СИСТЕМЫ: WifiStateMachine
03-08 16: 42: 33.431 1031 3168 E AndroidRuntime: java. lang.StringIndexOutOfBoundsException: length = 0;index = 0
03-08 16: 42: 33.431 1031 3168 E AndroidRuntime: at java.lang.String.charAt (собственный метод)
03-08 16: 42: 33.431 1031 3168 E AndroidRuntime: at com. android.server.wifi.WifiNetworkHistory.readNetworkHistory (WifiNetworkHistory.java:352)
.
.
03-08 16: 42: 34.011 3850 3850 E JavaBinder: !!! СБОЙ СДЕЛКИ БИНДЕРА !!! (размер посылки = 4700)
03-08 16: 42: 34.013 3850 3850 E AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: главная
03-08 16: 42: 34.013 3850 3850 E AndroidRuntime: Процесс: com.android.cellbroadcastreceiver,PID: 3850
03-08 16: 42: 34.013 3850 3850 E AndroidRuntime: DeadSystemException: система не работает;более ранние журналы будут указывать на основную причину
.
.
03-08 16: 42: 34.069 3623 3623 E AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: main
03-08 16: 42: 34.069 3623 3623 EAndroidRuntime: процесс: com.android.phone, PID: 3623
03-08 16: 42: 34.069 3623 3623 E AndroidRuntime: DeadSystemException: система умерла;более ранние журналы будут указывать на основную причину
.
.

Мое приложение вообще ничего не делает с WiFi. Binder используется для любого вида межпроцессного взаимодействия в Android. Но, конечно, это не мое приложение. В этом состоянии процесса загрузки мое приложение не задействовано.
Возможно, некоторые системные файлы повреждены из-за сбоя?
Как указано в выводе logcat, приведенном выше, "более ранние журналы будут указывать на основную причину". Но есть так много ошибок, которые кажутся нормальными. Даже в исправной системе есть около 800 строк с буквой E для ошибки ...

Кто-нибудь знает, что происходит?
Спасибо

1 Ответ

0 голосов
/ 19 октября 2019

readNetworkHistory () из журнала, опубликованного выше, указывает мне на решение:
Файл /data/misc/wifi/networkHistory.txt иногда повреждается при сбое телефона. Он содержит только нули.
Решение состоит в том, чтобы просто удалить этот файл. Это можно сделать с помощью TWRP, Advanced, File Manager. Или с помощью ADB.
Файл будет автоматически восстановлен. Я думаю, что это просто копия в читаемой форме WifiConfiguration (см. WifiNetworkHistory.java).

Это, кажется, общая проблема. Некоторое время назад у меня была другая мертвая система. Он сломался из-за разряженной батареи, после чего не смог загрузиться
У меня все еще есть резервные копии TWRP. Также здесь файл networkHistory.txt поврежден.

Надеюсь, это кому-нибудь поможет, Zweikeks

...