告别抓包!纯 Dart、高颜值的 Flutter 应用内调试神器 —— Easy Debug

176 阅读3分钟

新版本0.0.4更新,支持应用内日志查看,全新UI

开发 Flutter 应用时,查看网络请求总是件麻烦事。连接电脑用 Charles/Fiddler 抓包?配置繁琐还容易断连。用 Logcat 看日志?刷屏太快眼睛看花。

自测方便 前端还是后端的问题 一目了然

于是,我决定自己造一个轮子:easy_debug

✨ what is Easy Debug?

easy_debug 是一个 纯 Dart 编写的 Flutter 应用内网络调试工具。 它不需要你连接电脑,不需要配置代理,无论是在真机、模拟器还是 Web 端,只要集成进去,网络请求的一举一动都在你的掌控之中。

简单来说,它长这样:(原谅粗糙的设计😅)

悬浮按钮 液态玻璃悬浮窗 请求详情

🚀 核心亮点

1. 💎 颜值即正义 (Glassmorphism UI)

拒绝千篇一律的黑色控制台!采用了现代的毛玻璃 (Frosted Glass) 拟态设计,半透明的悬浮窗不仅显得“高级”,而且不会完全遮挡底部内容,调试体验极佳。

2. ⚡️ Pure Dart,全平台制霸

很多调试插件依赖原生代码 (Java/Kotlin/Swift),导致在 Web 或 Desktop 平台无法使用。 easy_debug 100% 由 Dart 编写。这意味着:

  • Android / iOS:完美运行。
  • Web:直接能用。
  • MacOS / Windows / Linux:统统支持!

3. 🛠 实用功能,直击痛点

  • 悬浮球 (Floating Overlay):一键呼出,位置随心拖动,不占地。
  • 智能筛选 (Smart Filtering):提供 All / Success / Error 三个 Tab。只想看报错?点一下 Error,世界瞬间清净。
  • 详情透视 (Detailed Inspection):Headers、Body、状态码、耗时...所有细节一览无余,而且支持 JSON 格式化高亮显示。
  • 一键复制 (Smart Copy):详情页右上角自带复制按钮,它会智能识别你当前看的是 Request 还是 Response,直接把整理好的 JSON 复制到剪贴板,发给后端甩锅只需 1 秒。
  • 自动清理:支持手动一键清空日志,强迫症福音。

📦 极速接入 (30秒搞定)

第一步:添加依赖

pubspec.yaml 中添加:

dependencies:
  easy_debug: ^0.0.1

第二步:配置 Dio

把你常用的 Dio 实例加上拦截器:

dio.interceptors.add(EasyDebugDioInterceptor());

第三步:全局注入

MaterialAppbuilder 中包裹一下:

MaterialApp(
  // 1. 必填:加上 builder
  builder: (context, child) {
    return EasyDebugWidget(child: child!);
  },
  // 2. 选填:加上 observer 可以更智能地处理页面跳转
  navigatorObservers: [
    EasyDebugNavigatorObserver(),
  ],
  home: HomePage(),
);

搞定!现在运行 App,你会看到一个可爱的小甲虫 🐞 悬浮球,点开它,新世界的大门打开了。

🔗 开源地址

项目已发布到 pub.dev,且代码完全开源。如果你觉得好用,或者单纯觉得 UI 好看,欢迎 Star 支持一下!

💬 写在最后

造这个轮子的初衷就是为了让调试变得“赏心悦目”一点。如果你在使用过程中遇到 Bug,或者有更骚的 UI 建议,欢迎在 GitHub 提 Issue,或者在评论区留言,我们一起把它打磨得更完美!


Created by [JasonBoolean]