Android9 HTTP请求出现cleartext错误
原因
android9开始所有的数据传输和接收都禁止使用明文,而HTTP是明文传输,所以会出现cleartext错误。HTTPS则是加密传输,不会出现cleartext错误。
解决办法
但是我们自己的一些传输或是一些第三方应用会用到HTTP传输,所以有下面的解决办法:
1、在AndroidManifest.xml文件中添加networkSecurityConfig属性
<application
android:networkSecurityConfig="@xml/network_sercurity_config">
</application>
2、创建network_sercurity_config.xml文件,放置在res目录的xml目录下(没有就创建一个)
<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:tools="http://schemas.android.com/tools">
<base-config cleartextTrafficPermitted="true"
tools:ignore="InsecureBaseConfiguration" />
</network-security-config>