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