基于 ADB Logcat 的跨平台 Android 日志查看工具,提供 Android Studio Logcat 风格的 GUI 界面。
Powered by DeepSeek V4 Pro
- 设备自动发现 — 自动检测并列出已连接的 Android 设备
- 实时日志流 —
adb logcat -v threadtime流式输出,虚拟滚动支持海量日志 - 日志级别过滤 — V/D/I/W/E/F 六档独立 toggle,参照 Android Studio 配色
- 搜索与正则 — 文本搜索 + 正则表达式,匹配内容黄色高亮
- 双模式搜索 — 过滤模式(隐藏不匹配行)+ 搜索模式(仅高亮不过滤)
- 包名过滤 — 从设备拉取已安装应用列表,单选过滤目标应用日志
- 包名列 — 可按 PID 自动解析并显示日志来源包名
- TAG 精准过滤 — 点击任意日志行的 TAG 列即可按该 TAG 过滤
- 行详情 — 单击日志行展开底部面板查看完整内容
- 右键复制 — 右键弹出菜单:复制整行 / 按 TAG 过滤
- 亮暗主题 — 一键切换深色 / 浅色主题
- 窗口置顶 — 支持 Always-on-Top
- 日志导出 — 过滤后日志导出为
.txt文件 - 设置持久化 — 设备选择、包名、搜索条件、主题等自动记忆
- 跨平台 — Flutter 构建,当前支持 Windows,可扩展 macOS / Linux
- adb — Android Debug Bridge,需确保在系统
PATH中可访问 - 至少一台通过 USB / Wi-Fi 连接的 Android 设备
git clone https://github.com/YOUR_USER/logcat-wingui.git
cd logcat-gui
flutter pub get
flutter build windows
编译产物位于 build\windows\x64\runner\Release\logcat_gui.exe。
开发调试:
flutter run -d windows
将 build\windows\x64\runner\Release\ 目录整体拷贝至目标机器,运行 logcat_gui.exe。
| 包 | 用途 |
|---|---|
| flutter_riverpod | 状态管理 |
| window_manager | 窗口控制 |
| shared_preferences | 设置持久化 |
| path_provider | 文件路径 |
| intl | 日期格式化 |
lib/
├── main.dart # 入口
├── models/
│ ├── log_entry.dart # 日志条目
│ ├── log_level.dart # 日志级别 + 颜色
│ ├── device_info.dart # 设备信息
│ └── filter_state.dart # 过滤状态
├── services/
│ ├── adb_service.dart # ADB 命令封装
│ ├── logcat_stream.dart # logcat 流管理
│ ├── log_parser.dart # 日志解析
│ └── settings_service.dart # 持久化
├── providers/
│ ├── device_provider.dart # 设备状态
│ ├── filter_provider.dart # 过滤条件
│ ├── log_provider.dart # 日志缓存 + 过滤
│ └── settings_provider.dart # UI 设置状态
├── widgets/
│ ├── toolbar.dart # 工具栏容器
│ ├── device_selector.dart # 设备选择
│ ├── package_input.dart # 包名选择
│ ├── filter_bar.dart # 搜索 + 级别过滤
│ ├── log_row.dart # 单行日志渲染
│ ├── log_list.dart # 虚拟滚动列表
│ └── status_bar.dart # 状态栏
└── theme/
└── app_theme.dart # 亮/暗主题
提交到 main 分支或推送 tag 自动触发 Windows 编译,产物上传至 GitHub Actions Artifacts。
MIT