背景
由于手头没有合适的真机,所有经常使用雷神模拟器来跑项目,模拟器也需要能够抓包看看接口返回的数据,以便自测调试。本文记录了如何在雷电模拟器安卓7.0+上使用Charles抓包,其他模拟器没试过。
最终效果
模拟器上浏览器打开百度网页,能抓到百度页面数据
具体步骤
模拟器开启root权限
安装Charles根证书到本地计算机
- 点击Charles->Help->SSL Proxying->Install Charles Root Certificate弹出如下界面
- 点击安装证书->存储位置选本地计算机->下一步,选择将所有的证书放入下列存储,选择浏览,弹出的弹窗选择受信任的根证书颁布机构
导出Charles根证书
- 点击Charles->Help->SSL Proxying->Save Charles Root Certificate
- 导出文件类型选.cer,文件名自定义,如mcert
模拟器安装Charles根证书
- 将上一步的mcert证书拖入模拟器,并双击安装,证书名称随意
模拟器上安装的用户证书转移到系统根证书内
- 依次进模拟器的文件管理器目录/data/misc/user/0/cacerts-added,找到.0文件,右键复制它
- 粘贴到目录/system/etc/security/cacerts内
Charles端口配置
- Proxy->Proxy Settings,配置如下,端口号自定义
- Proxy->SSL Proxy Settings,配置如下
勾选Enable SSL Proxying后确认
模拟器wifi配置代理
cmd查看电脑ip地址
- 模拟器wifi打开代理,主机名为电脑ipv4地址,代理端口号与charles配置的http proxy一致
模拟器安装ProxyDroid app
- Host为电脑ipv4地址,port与Charles配置的socks proxy端口一致,proxy type选socks5
- Proxy Switch打开
该软件需要后台保持运行,确保代理打开了
模拟器配置网络桥接(可选)
- 桥接网卡选电脑网卡
- IP地址跟电脑ipv4同一网段,如ipv4为192.168.1.0,则填192.168.1.1
- 网关与电脑默认网关一致
- 子网掩码与电脑子网掩码一致