java.net.UnknownServiceException: CLEARTEXT communication to * not permitted by network

在Android9版以上会发生如下异常

java.net.UnknownServiceException: CLEARTEXT communication to * not permitted by network

原因是Android9版本默认不允许http访问,他们认为http是不安全的,只能用https

 

解决办法

1:请求修改为https

2:targetSdkVersion 降到27以下

3:在 res 下新增一个 xml 目录,然后创建一个名为:network_security_config.xml 文件(名字自定) ,内容如下,大概意思就是允许开启http请求

<?xml version="1.0" encoding="utf-8"?>

<network-security-config>

   <base-config cleartextTrafficPermitted="true" />

</network-security-config>

在AndroidManifest.xml的Application中添加配置引用

<application

   ..

  android:networkSecurityConfig="@xml/network_security_config"

  ... >

上一篇:c# – params关键字是否保证项目与列出的顺序相同?


下一篇:进程间通信IPC(InterProcess Communication)