启用Charles SSL
首先设置Charles SSL, 这一步和其他SSL网络请求调试一样:
1. 在Proxy的Proxy Settings配置代理:
2. 在SSL Proxy Settings中配置SSL:
3. 在Help->SSL Proxy中安装自定义证书:
Tips: 完成后, 本地的SSL请求应当可以在Charles正常显示。
设置Android模拟器/终端
1. 通过以下命令启动带proxy的模拟器
emulator -netdelay none -netspeed full -avd <emulator> -http-proxy http://<ip-proxy>:8888
, 或者在终端的高级网络设置中设置proxy为http://<ip-proxy>:8888
2. 在Android浏览器中打开 http://www.charlesproxy.com/getssl/ 并安装证书,名称随意:
Tips: 完成后,Android浏览器中SSL请求应当可以在Charles中正常显示。
配置Android项目
由于Android 7开始采用了新的网络安全性配置, 需要更改项目设置:
1. 在 AndroidManifest.xml
中添加
android:networkSecurityConfig="@xml/network_security_config"
tools:targetApi="n"
2. 在 (debug)res/xml
下新建 network_security_config.xml
:
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
Time to enjoy!