flutter_umeFlutter 应用调试套件
flutter_ume 是 Flutter 应用内调试工具平台,由字节跳动的 Flutter 团队制作。
功能介绍
当前开源版 UME 内置了 13 个插件
UI 工具包
- Widget 信息
- Widget 详情
- 对齐标尺
- 颜色吸管(新)
- 颜色吸管
- 触控标记
性能工具包
- 内存信息
- 性能浮层
设备信息工具包
- CPU 信息
- 设备信息
其他
- 代码查看
- 日志展示
- Dio 网络请求调试工具
为 UME 开发插件
UME 插件位于
./kits
目录下,每个插件包都是一个package
本小节示例可参考./custom_plugin_example
-
flutter create -t package custom_plugin
创建一个插件包,可以是package
,也可以是plugin
-
修改插件包的
pubspec.yaml
,添加依赖dependencies: flutter_ume: '>=0.3.0 <0.4.0'
-
创建插件配置,实现
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'); // 插件图标 }
-
在工程中引入自定义插件
-
修改
pubspec.yaml
,添加依赖dev_dependencies: custom_plugin: path: path/to/custom_plugin
-
执行
flutter pub get
-
引入包
import 'package:custom_plugin/custom_plugin.dart';
-
-
在工程中注册插件
if (kDebugMode) { PluginManager.instance ..register(CustomPlugin()); runApp( UMEWidget( child: MyApp(), enable: true ) ); } else { runApp(MyApp()); }
-
运行代码
快速集成嵌入式插件
自 0.3.0
版本起引入了 PluggableWithNestedWidget
,用以实现在 Widget tree 中插入嵌套 Widget,快速接入嵌入式插件。
集成重点如下:
- 插件主体类实现
PluggableWithNestedWidget
- 实现
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 | |||
flutter_ume_kit_device | |||
flutter_ume_kit_perf | |||
flutter_ume_kit_show_code | |||
flutter_ume_kit_ui | |||
flutter_ume_kit_console | |||
flutter_ume_kit_dio | N/A |
版本号规则
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 |
评论