今天早上一个一直使用的 Android APP 在联网时突然报错:java.net.UnknownServiceException: CLEARTEXT communication to not permitted by network security,很奇怪明明什么都没有改为什么会有这个错误。后来发现是 OkHttp 在使用在高版本的 Android API 时会有这个安全策略的限制,这里分享下解决方法。
1.在 AndroidManifest.xml 的 application 标签中新加:
android:usesCleartextTraffic="true"
2.在 res 下新建一个 xml 目录,并新建一个 network_security_config.xml 文件,文件内容如下:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
3.在 AndroidManifest.xml 的 application 标签中新加:
android:networkSecurityConfig="@xml/network_security_config"
搞定,再试就会发现没有这个问题了。