阅读 409

Android版本28使用http请求报错 not permitted by network security policy

Android版本 28 使用 http 请求报错 not permitted by network security policy

报错信息

CLEARTEXT communication to to xx.xx.xx.xxx not permitted by network security policy
复制代码

问题: 由于 Android P(版本27以上) 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。 如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求

推荐的做法是服务器和本地应用都改用 https ,测试时为了方便使用http,上线时应该都会用https才比较安全。

解决办法:

  1. res 下新建一个 xml 目录,然后创建一个名为:network_security_config.xml 文件 ,该文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true"/>
</network-security-config>
复制代码

然后,在 AndroidManifest.xmlapplication 节点下配置如下代码:

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config"
    ...>
    
    ...
    
</application>
复制代码
  1. 服务器和本地应用都改用 https (推荐)

  2. targetSdkVersion 降级回到 27

关于我


关注下面的标签,发现更多相似文章
评论