Flutter 应用内调试工具 ume

34 min read

快速接入

所有名称前缀为 flutter_ume_kit_ 的 package 都是 UME 的功能插件, 用户可按需接入。

  1. 修改 pubspec.yaml,添加依赖

    1.0.0 版本开始适配 Flutter 3。

    dev_dependencies:
      flutter_ume: ^1.0.1
      flutter_ume_kit_ui: ^1.0.0
      flutter_ume_kit_device: ^1.0.0
      flutter_ume_kit_perf: ^1.0.0
      flutter_ume_kit_show_code: ^1.0.0
      flutter_ume_kit_console: ^1.0.0
      flutter_ume_kit_dio: ^1.0.0
    

    ↓ Null-safety 版本,适用于 Flutter 2.x

    dev_dependencies:
      flutter_ume: ^0.3.0+1
      flutter_ume_kit_ui: ^0.3.0+1
      flutter_ume_kit_device: ^0.3.0
      flutter_ume_kit_perf: ^0.3.0
      flutter_ume_kit_show_code: ^0.3.0
      flutter_ume_kit_console: ^0.3.0
      flutter_ume_kit_dio: ^0.3.0
    

    ↓ 非 Null-safety 版本,适用于 Flutter 1.x

    dev_dependencies:
      flutter_ume: ^0.1.1
      flutter_ume_kit_ui: ^0.1.1
      flutter_ume_kit_device: ^0.1.1
      flutter_ume_kit_perf: ^0.1.1
      flutter_ume_kit_show_code: ^0.1.1
      flutter_ume_kit_console: ^0.1.1
    
  2. 执行 flutter pub get

  3. 引入包

    import 'package:flutter_ume/flutter_ume.dart'; // UME 框架
    import 'package:flutter_ume_kit_ui/flutter_ume_kit_ui.dart'; // UI 插件包
    import 'package:flutter_ume_kit_perf/flutter_ume_kit_perf.dart'; // 性能插件包
    import 'package:flutter_ume_kit_show_code/flutter_ume_kit_show_code.dart'; // 代码查看插件包
    import 'package:flutter_ume_kit_device/flutter_ume_kit_device.dart'; // 设备信息插件包
    import 'package:flutter_ume_kit_console/flutter_ume_kit_console.dart'; // debugPrint 插件包
    import 'package:flutter_ume_kit_dio/flutter_ume_kit_dio.dart'; // Dio 网络请求调试工具
    
  4. 修改程序入口,增加初始化方法及注册插件代码

    void main() {
      if (kDebugMode) {
        PluginManager.instance                                 // 注册插件
          ..register(WidgetInfoInspector())
          ..register(WidgetDetailInspector())
          ..register(ColorSucker())
          ..register(AlignRuler())
          ..register(ColorPicker())                            // 新插件
          ..register(TouchIndicator())                         // 新插件
          ..register(Performance())
          ..register(ShowCode())
          ..register(MemoryInfoPage())
          ..register(CpuInfoPage())
          ..register(DeviceInfoPanel())
          ..register(Console())
          ..register(DioInspector(dio: dio));                  // 传入你的 Dio 实例
        // flutter_ume 0.3.0 版本之后
        runApp(UMEWidget(child: MyApp(), enable: true)); // 初始化
        // flutter_ume 0.3.0 版本之前
        runApp(injectUMEWidget(child: MyApp(), enable: true)); // 初始化
      } else {
        runApp(MyApp());
      }
    }
    
  5. flutter run 运行代码 或 flutter build apk --debugflutter build ios --debug 构建产物

部分功能依赖 VM Service,本地运行需要添加额外参数,以确保能够连接到 VM Service。

Flutter 2.0.x、2.2.x 等版本在真机上运行,flutter run 需要添加 --disable-dds 参数。 在 Pull Request #80900 合入之后,--disable-dds 参数被更名为 --no-dds

功能介绍

当前开源版 UME 内置了 13 个插件

UI 工具包
Widget 信息 Widget 信息 Widget 详情 Widget 详情 对齐标尺 对齐标尺
颜色吸管(新) 颜色吸管(新) 颜色吸管 颜色吸管 触控标记 触控标记
性能工具包
内存信息 内存信息 性能浮层 性能浮层
设备信息工具包
CPU 信息 CPU 信息 设备信息 设备信息
代码查看
代码查看 代码查看
日志展示
日志展示 日志展示
Dio 网络请求调试工具
Dio 网络请求调试工具 Dio 网络请求调试工具