配置cleartext清单,将使用的域名添加到头文件中去,允许明文传输。
1. 在res目录下创建 xml文件夹,并在xml内创建xml文件名为 nextwork_security_config.xml
复制一下代码,baidu.com是个例子,你需要将你需要的域名添加到其中,这样http的网络请求也被运行了。
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">baidu.com</domain>
<domain includeSubdomains="true">添加域名</domain>
</domain-config>
</network-security-config>
网上很多说是像下面这样写即可:这种是将所有的网络请求都允许了,不行的,不安全。像是ios如果这样写在app里,app store审核都通不过,但是你可以用来测试,比较省事。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
2. 找到项目的manifests文件夹下的
AndroidManifest.xml 文件。
将下面这行添加到 <application 里去即可。
android:networkSecurityConfig="@xml/network_security_config"
另外参数还有其他的类型:
1、system 设备中预装的系统证书
2、user 用户自装证书
3、resourceID /raw文件下的证书
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
Android技术生活交流
q群