flutter_umeFlutter 应用调试套件

联合创作 · 2023-10-01 21:29

flutter_ume 是 Flutter 应用内调试工具平台,由字节跳动的 Flutter 团队制作。


功能介绍


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


UI 工具包



  • Widget 信息

  • Widget 详情

  • 对齐标尺

  • 颜色吸管(新)

  • 颜色吸管

  • 触控标记


性能工具包



  • 内存信息

  • 性能浮层


设备信息工具包



  • CPU 信息

  • 设备信息


其他



  • 代码查看

  • 日志展示

  • Dio 网络请求调试工具


为 UME 开发插件



UME 插件位于 ./kits 目录下,每个插件包都是一个 package 本小节示例可参考 ./custom_plugin_example




  1. flutter create -t package custom_plugin 创建一个插件包,可以是 package,也可以是 plugin


  2. 修改插件包的 pubspec.yaml,添加依赖




    dependencies:
    flutter_ume: '>=0.3.0 <0.4.0'


  3. 创建插件配置,实现 Pluggable 虚类




    import 'package:flutter_ume/flutter_ume.dart';

    class CustomPlugin implements Pluggable {
    CustomPlugin({Key key});

    @override
    Widget buildWidget(BuildContext context) => Container(
    color: Colors.white
    width: 100,
    height: 100,
    child: Center(
    child: Text('Custom Plugin')
    ),
    ); // 返回插件面板

    @override
    String get name => 'CustomPlugin'; // 插件名称

    @override
    String get displayName => 'CustomPlugin';

    @override
    void onTrigger() {} // 点击插件面板图标时调用

    @override
    ImageProvider<Object> get iconImageProvider => NetworkImage('url'); // 插件图标
    }


  4. 在工程中引入自定义插件



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




      dev_dependencies:
      custom_plugin:
      path: path/to/custom_plugin


    2. 执行 flutter pub get


    3. 引入包




      import 'package:custom_plugin/custom_plugin.dart';



  5. 在工程中注册插件




    if (kDebugMode) {
    PluginManager.instance
    ..register(CustomPlugin());
    runApp(
    UMEWidget(
    child: MyApp(),
    enable: true
    )
    );
    } else {
    runApp(MyApp());
    }


  6. 运行代码



快速集成嵌入式插件


 0.3.0 版本起引入了 PluggableWithNestedWidget,用以实现在 Widget tree 中插入嵌套 Widget,快速接入嵌入式插件。


集成重点如下:



  1. 插件主体类实现 PluggableWithNestedWidget

  2. 实现 Widget buildNestedWidget(Widget child),在该方法中处理嵌套结构并返回 Widget


版本说明


兼容性







































UME 版本 Flutter 1.12.13 Flutter 1.22.3 Flutter 2.0.1 Flutter 2.2.3 Flutter 2.5.3
0.1.x ⚠️
0.2.x
0.3.x

⚠️ 意为未经过完整的兼容性测试,不建议使用。


单测覆盖率























































master develop develop_nullsafety
flutter_ume   Coverage Coverage
flutter_ume_kit_device Coverage Coverage Coverage
flutter_ume_kit_perf Coverage Coverage Coverage
flutter_ume_kit_show_code Coverage Coverage Coverage
flutter_ume_kit_ui Coverage Coverage Coverage
flutter_ume_kit_console Coverage Coverage Coverage
flutter_ume_kit_dio Coverage N/A Coverage

版本号规则


请参考 Semantic versions


Null-safety 版本







































null-safety 推荐版本号
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
浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报