解决okhttp或者retrofit出现UnknownHostException的问题

首先确认你的设备能否解析该域名,可以直接ping这个域名,如果能ping通则代表设备所处的网络是没有问题的,如果不能ping通可以尝试接入阿里云或者其他云服务厂商提供的http dns服务,或者检查一下网络状况。
在排除掉以上问题以后,检查一下是否添加了网络访问权限

<uses-permission android:name="android.permission.INTERNET" />

如果网络权限也添加了,仍然出现该问题,确认是否使用的http协议而不是https协议,如果是http协议的话,需要在AndroidManifest中的application标签添加一个usesCleartextTraffic属性

 <application
        android:name=".xx.xxx"
        android:allowBackup="true"
        android:icon="@drawable/app_logo"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:usesCleartextTraffic="true"
        android:theme="@style/ImageTranslucentTheme">
       
 </application>

当然也可以把你的targetSDK改到28以下,或者升级到https协议,从安全的角度来看升级到https协议是最好的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值