java.net.unknown域名_java.net.UnknownServiceException

Android API 28 配置 networkSecurityConfig

错误原因:这个错误是在安卓P系统上当调用远程接口进行网络通信时报的错误。

解释:由于 Android P(版本27以上) 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。所以如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求。

解决方式一

项目改用https请求;

解决方式二

项目的targetSdkVersion改为27以下;

解决方式三

在 application 元素中添加:

android:usesCleartextTraffic="true"

注: 不推荐

为了安全,不建议上面的使用明文的通信方式,不过上面的这种方法可以作为一种临时的通信策略

如果声明不使用明文通信,则可以在application元素中添加:android:usesCleartextTraffic=”false” 此声明指示该应用不使用明文网络通信。例如,如果您的应用意外尝试通过 HTTP 明文请求登录用户,该请求将被阻止,该用户的身份和密码信息不会泄露到网络上。

解决方式四

在res的xml目录下,新建一个xml文件(名称自定义,如:network_security_config.xml),内容如下:

XXX.XXX.XXX.XXX

XXX.XXX.XXX.XXX填域名或者ip 表示只将本服务XXX.XXX.XXX.XXX器放开。

注: 推荐

解决方式五

在res的xml目录下,新建一个xml文件(名称自定义,如:network_security_config.xml),内容如下:

```xml

在manifest清单文件配置application:

...

android:networkSecurityConfig="@xml/network_security_config"

...

/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值