温馨提示×

Flutter在Debian上的调试工具

小樊
40
2025-11-22 15:45:32
栏目: 智能运维

Debian 上可用的 Flutter 调试工具与用法

一 核心工具与场景

  • Dart DevTools:用于检查 Widget 树性能时间线网络请求应用体积等,适合深度排查 UI 与性能问题。
  • IDE 断点调试(VS Code / Android Studio):图形化设置断点、单步执行、观察变量,配合热重载提升迭代效率。
  • 应用内调试工具 UME:字节跳动开源,集成 UI 检查、标尺与取色、性能/内存/CPU 面板、控制台、Dio 网络拦截 等,适合真机/嵌入式场景快速定位。
  • 日志与错误边界:使用 debugPrintdart:developer.logLogger 规范输出;在 main 中使用 try-catch 捕获启动期异常并展示错误界面。
  • 网络抓包协同调试 Reqable:在 Android/iOS 设备上配合桌面端进行 HTTPS 抓包与 API 调试,便于排查接口问题。
  • 构建与体积分析:使用 flutter build apk --analyze-size 定位大体积资源与依赖。
  • 嵌入式 Linux 调试(flutter-elinux):非官方方案,用于在嵌入式设备上运行与调试 Flutter 应用。

二 快速上手步骤

  1. 准备环境

    • 安装 Flutter SDK 并配置环境变量(如将 $HOME/flutter/bin 加入 PATH)。
    • 运行 flutter doctor 检查依赖;连接设备或启动模拟器后执行 flutter devices 确认可用目标。
  2. 启动与连接调试

    • 终端运行 flutter run 启动应用;需要附加到已运行实例时使用 flutter attach
    • 启动 DevTools:执行 flutter pub global activate devtools,然后运行 flutter devtools,在界面中选择目标应用进行检查。
  3. 使用 IDE 断点调试

    • VS CodeAndroid Studio 中打开项目,设置断点后以 Debug 模式运行,利用 热重载 快速验证修复。
  4. 应用内调试与日志

    • 集成 UME(仅调试构建启用),在 kDebugMode 下注册所需插件并在 main 中用 UMEWidget 包裹根组件。
    • 规范日志:优先使用 debugPrintdart:developer.log/Logger,避免生产使用 print

三 常用命令与示例

  • 环境准备与设备检查
    • 命令:
      • sudo apt update && sudo apt install flutter
      • echo ‘export PATH=“$PATH:/home/your_username/flutter/bin”’ >> ~/.bashrc && source ~/.bashrc
      • flutter doctor
      • flutter devices
  • 运行与附加
    • 命令:
      • flutter run
      • flutter attach
  • 启动 DevTools
    • 命令:
      • flutter pub global activate devtools
      • flutter devtools
  • 体积分析(Android 示例)
    • 命令:flutter build apk –analyze-size --target-platform=android-arm64
  • UME 快速集成(仅调试)
    • 依赖:
      • flutter pub add flutter_ume
      • flutter pub add flutter_ume_kit_perf
      • flutter pub add flutter_ume_kit_ui
      • flutter pub add flutter_ume_kit_device
      • flutter pub add flutter_ume_kit_console
      • flutter pub add flutter_ume_kit_dio
    • 启用:
      • 在 main.dart 的 kDebugMode 分支中注册所需插件,并用 UMEWidget(enable: true, child: MyApp()) 包裹。

四 网络抓包与嵌入式场景

  • Reqable 抓包协同(Android/iOS)
    • 在电脑安装 Reqable 客户端并启动,移动端选择 协同模式 扫码连接;在手机上安装并信任根证书后,即可对 App 的 HTTPS 请求进行抓包与断点调试。
  • 嵌入式 Linux(flutter-elinux)
    • 适用于 嵌入式设备 的运行与调试,属于 非官方 方案,需按插件文档进行环境准备与构建。

0