今天公司反馈有个用户的手机网络正常却怎么也用不了app,一直网络失败,最后测试到这部手机(华为p20)确实存在这个网络失败问题,框架输出CLEARTEXT communication to * not permitted by network 。
原因是Android P系统限制了明文流量的网络请求,之下的版本没有影响,所以okhttp3会抛出该异常。
解决方法(亲测有效):
在res目录下新建xml文件夹,文件夹里面创建network_security_config.xml 文件;
文件内容
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
然后在 AndroidManifest.xml 的application 标签加上
android:networkSecurityConfig="@xml/network_security_config"
完事。
另外两个方法:
服务器和本地应用都改用 https(但是我的接口确实是https)
targetSdkVersion 降级回到 27
网友评论