在使用okhttp3中遇到一个问题:CLEARTEXT communication to XX not permitted by network security policy,查阅了大量资料,了解到是我们的baseUrl因为是内部测试环境所以使用的是ip地址,或者http://
原因:Android P系统限制了明文流量的网络请求,之下的版本没有影响,所以okhttp3会抛出该异常。
方法一
1、在res文件中创建xml文件
2、在xml文件中创建一个network_security_config.xml文件
<?xml version ="1.0" encoding ="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
3、在配置文件中引用
android:networkSecurityConfig="@xml/network_security_config"
方法二
未测试,将安卓版本降到27以下
在Android P及以上版本,系统默认禁止了明文流量的网络请求,导致使用OkHttp3时出现'CLEARTEXT communication not permitted by network security policy'异常。解决方法包括:创建network_security_config.xml配置文件,设置允许明文流量;或者将应用兼容性降至Android 27以下。这两种方案可以帮助开发者在测试环境中继续使用HTTP协议或IP地址的baseUrl。
1791

被折叠的 条评论
为什么被折叠?



