在Android上应用StrictMode时setUidCleartextNetworkPolicy上出现非法状态异常
我们最近在开发人员控制台中看到了以下堆栈跟踪,这是针对运行Android 10(华为p smart 2019(HWPOT-H)、2816MB RAM和Android 10的华为设备的唯一报告 确切地说): 如果我理解正确的话,我已经追溯到我们在应用程序上使用StrictMode的事实在Android上应用StrictMode时setUidCleartextNetworkPolicy上出现非法状态异常,android,kotlin,huawei-mobile-services,Android,Kotlin,Huawei Mobile Services,我们最近在开发人员控制台中看到了以下堆栈跟踪,这是针对运行Android 10(华为p smart 2019(HWPOT-H)、2816MB RAM和Android 10的华为设备的唯一报告 确切地说): 如果我理解正确的话,我已经追溯到我们在应用程序上使用StrictMode的事实 val strictModeVMPolicyBuilder = StrictMode.VmPolicy.Builder() .detectActivityLeaks(
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())
让我困惑的是,正在导致/报告一个异常,尽管我希望它只会记录惩罚。这是一个操作系统错误还是有办法缓解这个问题
谢谢你的信息 最有可能的是,这是华为对安卓系统修改的一个缺陷。“我们最近在开发人员控制台中看到了以下堆栈跟踪”--您应该完全禁用生产应用程序的
StrictMode
。仅用于开发版本。谢谢@commonware,+1。我为将来的构建禁用了它。我想说,这表明纯Android图像总是更好。我开始在Pixel 3 XL上出现完全相同的错误-尽管禁用了StrictMode
@scana same,但仍然崩溃。这让我发疯。我尝试了清理/重建、使缓存无效、重新启动IDE等各种方法。从Pixel 3上卸载应用程序,然后重新安装,最终解决了这个问题。
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())