在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"
... >