В последнее время мы видим следующую трассировку стека в нашей консоли разработчика, уникально представленную для устройств Huawei, работающих Android 10 (Huawei HUAWEI P smart 2019 (HWPOT-H), 2816 МБ ОЗУ, если быть точным, Android 10) ):
java.lang.IllegalStateException:
at android.os.Parcel.createException (Parcel.java:2079)
at android.os.Parcel.readException (Parcel.java:2039)
at android.os.Parcel.readException (Parcel.java:1987)
at android.os.INetworkManagementService$Stub$Proxy.setUidCleartextNetworkPolicy (INetworkManagementService.java:2754)
at android.os.StrictMode.setVmPolicy (StrictMode.java:1974)
at android.os.StrictMode.initVmDefaults (StrictMode.java:1414)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6923)
at android.app.ActivityThread.access$2200 (ActivityThread.java:292)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2195)
at android.os.Handler.dispatchMessage (Handler.java:107)
at android.os.Looper.loop (Looper.java:213)
at android.app.ActivityThread.main (ActivityThread.java:8147)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1101)
Caused by: android.os.RemoteException:
at com.android.server.NetworkManagementService.applyUidCleartextNetworkPolicy (NetworkManagementService.java:1577)
at com.android.server.NetworkManagementService.setUidCleartextNetworkPolicy (NetworkManagementService.java:1612)
at android.os.INetworkManagementService$Stub.onTransact (INetworkManagementService.java:1319)
at com.android.server.HwNetworkManagementService.onTransact (HwNetworkManagementService.java:886)
at android.os.Binder.execTransactInternal (Binder.java:1028)
Я проследил это - если я правильно понял - к тому факту, что мы используем StrictMode в нашем приложении.
val strictModeVMPolicyBuilder = StrictMode.VmPolicy.Builder()
.detectActivityLeaks()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
strictModeVMPolicyBuilder.detectCleartextNetwork()
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
strictModeVMPolicyBuilder.detectContentUriWithoutPermission()
}
StrictMode.setVmPolicy(strictModeVMPolicyBuilder
.penaltyLog()
.build())
Что меня сбивает с толку, так это вызывает / сообщает об исключении, хотя я ожидал бы, что он просто запишет штраф. Это ошибка ОС или есть способ уменьшить проблему?
Спасибо за информацию!