从 Android N 开始,您需要为您的应用添加配置,以使其信任由 Charles SSL Proxying 生成的 SSL 证书。这意味着您只能将 SSL 代理与您控制的应用程序一起使用。
为了将您的应用程序配置为信任 Charles,您需要将 网络安全配置文件 添加 到您的应用程序。该文件可以覆盖系统默认值,使您的应用程序能够信任用户安装的 CA 证书(例如 Charles Root 证书)。您可以指定这仅适用于应用程序的调试版本,以便生产版本使用默认信任配置文件。
将文件 res/xml/network_security_config.xml 添加到您的应用程序:
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
然后在您的应用清单中添加对此文件的引用,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config" ... >
...
</application>
</manifest>