安卓 网络安全策略不允许与 xxx 进行明文通信 解决方案
搭建好请求框架设置 baseUrl 开始请求,出现 Toast 报错
1CLEARTEXT communication to api.xxx.com not permitted by network security policy
原因是因为 Android P 之后限制了未经加密的明文网络流量,所以 OkHTTP3 会抛出该异常。更低的版本没有影响
解决方法 1
使用 HTTPS 安全连接,即在 baseUrl 前添加 https://
解决方法 2
配置网络安全策略,绕过明文流量限制
在 res/xml
下新建 network_security_config.xml
1<?xml version="1.0" encoding="utf-8"?>
2<network-security-config>
3 <base-config cleartextTrafficPermitted="true" />
4</network-security-config>
然后在 AndroidManifest.xml
中 application
节点中添加
1<application android:networkSecurityConfig="@xml/network_security_config">
2 ...
3</application>