communication to ... not permitted by network security policy

Android 9 CLEARTEXT communication to … not permitted

问题

最近遇到了个问题:手机系统版本是Android 9 登录时弹出提示:CLEARTEXT communication to guolin.tech not permitted by network security policy

image

解决

这句话意思很简单:网络安全策略不允许与guolin.tech之间进行明文通信,但是还是不知道修改哪里可以解决。网上搜索后发现也有人遇到了同样的问题:

由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉,如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求,如果 WebView 的 url 用 http 协议,同样会出现加载失败,https 不受影响。为此,OkHttp3 做了检查,所以如果使用了明文流量,默认情况下,在 Android P 版本 OkHttp3 就抛出异常: CLEARTEXT communication to ” + host + ” not permitted by network security policy。

至于具体解决方案他也讲的很清楚了。简单一点,直接在AndroidMainfest.xml下添加一句android:usesCleartextTraffic="true"即可解决。复杂一点如下:

image

其实最好还是使用HTTPS加密协议,就没有那么多问题了。

参考

  • CSDN博客:Android P 第二个测试版本请求网络 CLEARTEXT communication to host not permitted by network
  • Android Developers Blog:Protecting users with TLS by default in Android P
  • Android Docs:android:usesCleartextTraffic

The end.

你可能感兴趣的:(communication to ... not permitted by network security policy)