【Android】【网络请求】解决cleartext communication not permitted问题

董阳平
2023-12-01

androidSDK从9.0开始,强制要求使用https协议
如果使用了9.0以上的SDK,但没有使用https协议,就会报以下错误:
CLEARTEXT communication not permitted by network security policy

有的请求库不会抛出这个错误,如果应用无故连接超时,抛出SocketTimeoutException,很可能也是这个原因引起的

我们可以通过在manifest的application标签中加入以下设置,来修改默认策略


    <application
        android:usesCleartextTraffic="true"">
	</application>

网上很多教程要求建立一个配置请求策略的xml,然后在application中引用,其实和这个作用是一样的
如果有多个选项需要设置,可以放到xml中统一管理,如果只要解决https问题,配置usesCleartextTraffic是最简便的方法

 类似资料: