Android 7版本及以上的系统,不再信任用户级的证书,只信任系统级的证书。如果您需要录制App的HTTPS请求,需要App开启网络安全配置,让App信任用户级的证书。本文介绍Android 7版本及以上的系统如何信任用户证书。
操作步骤
- 在清单文件
AndroidManifest.xml
中添加以下代码,开启网络安全配置。<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
- 信任用户证书。
您可以任选以下一种方式信任用户证书:
- 新建文件
res/xml/network_security_config.xml
进行网络安全的配置,通过trust-anchors
设置信任的证书,代码如下:<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="user" />
<certificates src="system"/>
</trust-anchors>
</base-config>
</network-security-config>
说明 其中的<certificates src="user" />就是让App信任用户的证书。
- 新建文件
res/xml/network_security_config.xml
进行网络安全的配置,只配置在Debug阶段才信任用户的证书,代码如下:<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
- 配置完成后,重新打包App,即可录制HTTPS请求。