Repolode
ChuckerTeam

ChuckerTeam/chucker

面向 Android 应用的端内 HTTP 检查工具,记录 OkHttp 请求与响应,功能类似 Charles 但运行在设备上。

可替代:Charles Proxy

Star
4,588
Fork
468
未关闭 Issue
83
最近提交
16天前

这是什么?

Chucker 是一个用于检查 Android 应用 HTTP(S) 请求与响应的库。它以 OkHttp 拦截器的形式接入,将每次请求和响应保存在应用内部,并提供应用内界面用于浏览、搜索和分享内容。由于运行在设备上,无需额外配置桌面端代理。

记录期间,应用会显示一条通知,汇总正在进行的 HTTP 活动,点击即可打开 Chucker 界面。应用也可以关闭通知,改为从自身页面中打开。可配置的内容包括数据保留时长、响应体最大长度、敏感请求头脱敏,以及针对 Protobuf、Thrift 等二进制格式的自定义解码器。

release 版本使用 no-op 构件,生产包中不包含 Chucker 代码。由于存储的数据可能含有凭证和报文内容,项目定位为开发阶段使用。

核心功能

  • 01拦截 OkHttp 请求与响应,并保存在应用内部。
  • 02应用内界面支持报文文本搜索与高亮。
  • 03可在 HTTP 响应中显示图片。
  • 04支持为二进制格式编写自定义报文解码器。
  • 05可对敏感请求头脱敏,并限制保存的报文长度。
  • 06提供 no-op release 构件,发布包中不包含 Chucker 代码。

适用场景

  • 开发阶段调试 Android 应用发出的 API 请求。
  • 在真机上无需代理即可检查 Retrofit 或 OkHttp 的网络流量。
  • 将抓取到的请求与响应数据分享给同事,用于问题排查。

快速上手

  1. 1

    在 Android 应用模块的 build.gradle 中添加 debug 版本依赖

    debugImplementation "com.github.chuckerteam.chucker:library:4.2.0"
  2. 2

    为 release 构建添加 no-op 版本依赖

    releaseImplementation "com.github.chuckerteam.chucker:library-no-op:4.2.0"
  3. 3

    将 ChuckerInterceptor 添加到 OkHttp 客户端构建器中

使用前须知

  • 仅适用于开发阶段;存储的数据可能包含敏感的请求头和报文内容。
  • 依赖 OkHttp,需要 Android API 21 及以上版本,低于 21 的版本不再支持。

收录于专题

标签

常见问题

chucker 是什么?
面向 Android 应用的端内 HTTP 检查工具,记录 OkHttp 请求与响应,功能类似 Charles 但运行在设备上。 Chucker 是一个用于检查 Android 应用 HTTP(S) 请求与响应的库。它以 OkHttp 拦截器的形式接入,将每次请求和响应保存在应用内部,并提供应用内界面用于浏览、搜索和分享内容。由于运行在设备上,无需额外配置桌面端代理。
chucker 可以免费使用吗?用的什么许可证?
chucker 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
chucker 还在维护吗?
活跃维护中。chucker 最近一次提交是在 2026年10月22日。
chucker 适合用来做什么?
开发阶段调试 Android 应用发出的 API 请求。 在真机上无需代理即可检查 Retrofit 或 OkHttp 的网络流量。 将抓取到的请求与响应数据分享给同事,用于问题排查。
chucker 怎么安装和运行?
在 Android 应用模块的 build.gradle 中添加 debug 版本依赖: debugImplementation "com.github.chuckerteam.chucker:library:4.2.0" 为 release 构建添加 no-op 版本依赖: releaseImplementation "com.github.chuckerteam.chucker:library-no-op:4.2.0" 将 ChuckerInterceptor 添加到 OkHttp 客户端构建器中
在哪里获取 chucker?
源代码和安装说明在 GitHub 上:https://github.com/ChuckerTeam/chucker

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目