安卓P网络请求中CLEARTEXT communication not supported问题解决

安卓P网络请求中CLEARTEXT communication not supported问题解决

OKhttp在高版本请求过程中会出现CLEARTEXT communication not supported问题。

其实这个问题非常简单。

这个问题是由于安卓9开始,不容许未加密就进行网络数据交互。

所以使用http的朋友,会遇到这个问题。

解决这个问题的方法很多。

第一,跟公司讲,把APP请求的http改用https请求。后台应该不会屌你。

第二,把你的targetSdkVersion 降到27以下。对这个问题在高版本的targetSdkVersion 和高版本安卓机才会出现。所以更改一下。但是不能从根本上解决问题。

第三,更改网络安全配置。

有2种方式。

第一:

在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件(名字随便取。这里是告诉你网络安全配置)

这个文件的内容如下:

<?xml version="1.0" encoding="utf-8"?>

<network-security-config>

    <base-config cleartextTrafficPermitted="true" />

</network-security-config>


或者是这样:

<?xml version="1.0" encoding="utf-8"?><network-security-config>

    <domain-config cleartextTrafficPermitted="true">

        <domain includeSubdomains="true">Your URL(ex: 127.0.0.1。填写你的URL的host)</domain>

    </domain-config></network-security-config>

然后再清单文件中添加这个配置:

android:networkSecurityConfig="@xml/network_security_config"

这里的配置就是刚才让你创建的xml文件。这是第一种方式

第二种就是直接在清单文件添加这个属性:

清单文件配置

就完成了。

最后提醒一下各位,不要忘了添加权限。

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容