Fiddler拦截安卓App内https请求

应用场景:安卓App开发完成后提交给测试,测试人员发现问题时,需要初步确认是后端数据问题,还是页面展示问题,从而方便指定对应开发人员排查,提高修复效率。

更新配置文件

  1. 修改android\app\src\main\AndroidManifest.xml
    新增配置项android:networkSecurityConfig="@xml/network_security_config", 代码如下:
1
2
3
4
5
6
7
8
9
10
<!-- android\app\src\main\AndroidManifest.xml  -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="cn.wangxiao.ztb">
<application
android:networkSecurityConfig="@xml/network_security_config"
......
>
</application>
</manifest>
  1. 新增配置文件android\app\src\main\res\xml\network_security_config.xml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!-- android\app\src\main\res\xml\network_security_config.xml -->
    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
    <domain-config>
    <!-- 配置域名白名单 -->
    <domain includeSubdomains="true">xxx.com</domain>
    <trust-anchors>
    <!-- 配置证书, 全部小写 -->
    <certificates src="@raw/charles"/>
    <certificates src="@raw/fiddler"/>
    <certificates src="system"/>
    </trust-anchors>
    </domain-config>
    </network-security-config>

生成证书

  1. fiddler生成证书
    图片

图片

图片

把上一步导出到桌面的fiddler证书重命名后复制到android\app\src\main\res\raw\fiddler.cer

图片