android 开发中的 charles 使用技巧

charles 是一个抓包工具,可以记录当前网络的请求。在 android 开发中使用 charles 能给我们提供很多便利。

如何使用

在电脑上打开 charles,在顶部的工具栏中选择 Proxy/Proxy Settings,设置端口号,勾选 Enable transparent HTTP proxying。

android 开发中的 charles 使用技巧android 开发中的 charles 使用技巧

然后为手机设置代理,打开 wifi 管理,进入高级选项,设置代理为手动,填写主机名和端口号,主机名就是电脑的ip地址(Mac 可在网络实用工具中查看),端口号就是上面设置 charles 时填的端口号,一般都设为 8888。

android 开发中的 charles 使用技巧

手机设置代理后访问网络,charles 会弹出对话框询问是否允许该设备接入,选择允许。

然后就可以看到手机的请求了。

使用场景

查看接口数据

这是最简单的用法,如果 app 上数据显示异常,不用急着调试,可以先看看数据源对不对。

map remote

当产品给了一个广告链接,让你测试一下在应用里是否显示正常,一般的做法是直接修改代码,让 Webview 直接 load 这个链接,然后再安装到手机上查看,又费时又费力。这时可以使用 charles 的 map remote,它可以替换一个请求 url 为另外一个 url ,这样就可以不用安装新包,直接查看效果了。

android 开发中的 charles 使用技巧

map local

当开发一个新功能,客户端已经完成了,但服务端还没有做好,我们一般使用自己造的假数据进行调试,这样的数据写在代码里灵活性太差,也可以用 charles 辅助完成。map local 可以讲请求映射到本地的文件上,每次请求,都返回本地文件的值回去,这样我们就可以不用等待服务端,自己灵活控制数据进行测试。

android 开发中的 charles 使用技巧

no caching

当服务端修改了数据,因为缓存迟迟看不到效果,这时可以使用 charles 的 no caching,这会禁用 浏览器 或是 Webview 的缓存,让我们看到最新的数据。

android 开发中的 charles 使用技巧

更多用法

更多用法当然是查看官方文档咯。

https://www.charlesproxy.com/documentation/