当前位置: 首页 > 知识库问答 >
问题:

Android上不允许到MyServer.com的明文HTTP通信N预览

危裕
2023-03-14
java.io.IOException: Cleartext HTTP traffic to myserver.com not permitted
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">myserver.com</domain>
    </domain-config>
</network-security-config>
Error:(35) No resource identifier found for attribute 'networkSecurityConfig' in package 'android'

共有1个答案

罗安宁
2023-03-14

在Android N Developer Preview 4中存在一个已知的问题,如果应用程序修改了其applicationinfo.flags,则会触发阻止该应用程序的明文通信,即使该应用程序没有请求阻止明文通信。修补程序在下一个开发人员预览中。因此,这与您的网络安全配置无关。实际上,看起来您甚至不需要声明自定义的网络安全配置。

如果你迫不及待地等到下一个Android N开发人员预览,检查一下你的应用程序中修改自己的applicationinfo.flags的地方。通常采用getapplicationinfo().flags&=applicationinfo.flag_debuggablegetapplicationinfo().flags=applicationinfo.flag_debuggable的形式。解决这些用法的方法是(getApplicationInfo().flags&ApplicationInfo.flag_debuggable)

或者,作为一种解决办法,在应用程序生命周期的早期调用NetworkSecurityPolicy.isClearTextTrafficPermited()。如果在篡改applicationinfo.flags的代码之前调用此解决办法,则该解决办法应该有效。

 类似资料: