- Notifications
You must be signed in to change notification settings - Fork1
UME is an in-app debug kits platform for Flutter.https://pub.dev/packages/ume
License
ume-community/ume
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
[Community Version] UME is an in-app debug kits platform for Flutter apps.
Since^1.0.0
, ume starts adapting to the Flutter 3. See [Quick Start] to learn more.
Scan QR code or click link to download apk. Try it now!https://github.com/ume-community/ume/releases
There are 13 plugin kits built in the latest open source version of UME.Developer could create custom plugin kits, and integrate them into UME.VisitDevelop plugin kits for UME for more details.
Please seePlugins from community to make your ume stronger.
- ume
All packages whose names are prefixed withume_kit_
are functionplug-ins of UME, and users can access them according to demand
Edit
pubspec.yaml
, and add dependencies.Compatible with Flutter 3 since version
1.0.0
.dev_dependencies:ume:^2.0.0
Run
flutter pub get
Import packages
import'package:ume/ume.dart';// UME framework
Edit main method of your app, register plugin kits and initial UME
voidmain() {if (kDebugMode) {PluginManager.instance// Channel monitor ..register(ChannelMonitor())// Channel observer ..register(ChannelObserver())// Clean local data ..register(DataCleanPanel())// Console ..register(Console())// Database ..register(DatabasePanel(databases: []))// Designer check ..register(DesignerCheck())// Device ..register(CpuInfoPage()) ..register(DeviceInfoPanel())// Dio ..register(DioInspector(dio: dio))// GetConnect ..register(GetConnectInspector(connect: get_connect))// Memory detector ..register(MemoryDetectorButton())// ..register(const DBViewer())// Monitor ..register(MonitorPlugin()) ..register(constMonitorActionsPlugin())// Perf ..register(Performance()) ..register(MemoryInfoPage())// SharedPreferences ..register(SharedPreferencesInspector())// Show code ..register(ShowCode())// Slow animation ..register(SlowAnimation())// UI inspector ..register(WidgetInfoInspector()) ..register(WidgetDetailInspector()) ..register(ColorSucker()) ..register(AlignRuler()) ..register(ColorPicker()) ..register(TouchIndicator())// Custom router ..register(CustomRouterPluggable());runApp(UMEWidget(child:MyApp(), enable:true)); }else {runApp(MyApp()); }}
flutter run
for runningorflutter build apk --debug
、flutter build ios --debug
for building productions.
Some functions rely on VM Service, and additional parameters need to be added for local operation to ensure that it can connect to the VM Service.
Flutter 2.0.x, 2.2.x and other versions run on real devices,
flutter run
needs to add the--disable-dds
parameter.AfterPull Request #80900 merging,--disable-dds
was renamed to--no-dds
.
From0.1.1
/0.2.1
version,we don't need setuseRootNavigator: false
.The following section only applies to versions before version0.1.1
/0.2.1
.
Since UME manages the routing stack at the top level, methods such asshowDialog
userootNavigator
to pop up by default,thereforemust pass in the parameteruseRootNavigator: false
inshowDialog
,showGeneralDialog
and other 'show dialog' methods to avoid navigator errors.
showDialog( context: context, builder: (ctx)=>AlertDialog( title:constText('Dialog'), actions:<Widget>[TextButton( onPressed: ()=>Navigator.pop(context), child:constText('OK')) ], ), useRootNavigator:false);// <===== It's very IMPORTANT!
There are 13 plugin kits built in the current open source version of UME.
Once you use ume in Release/Profile mode, you agree that you willbear the relevant risks by yourself.
The maintainer of ume does not assume any responsibility for the accidentcaused by this.
We recommend not to use it in Release/Profile mode for the following reasons:
- VM Service is not available in these environments, so some functions are not available
- In this environment, developers need to isolate the app distribution channels by themselves to avoid submitting relevant debugging code to the production environment
In order to use in Release/Profile mode, the details that need to be adjusted in the normal access process:
- In
pubspec.yaml
,ume
and plugins should be write belowdependencies
rather thandev_dependencies
. - Don't put the code which call
PluginManager.instance.register()
andUMEWidget(child: App())
into conditionals which represent debug mode. (Such askDebugMode
) - Ensure the above details, run
flutter clean
andflutter pub get
, then build your app.
UME version | 1.12.13 | 1.22.3 | 2.0.1 | 2.2.3 | 2.5.3 | 2.8.0 | 3.0.5 | 3.3.1 |
---|---|---|---|---|---|---|---|---|
0.1.x | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ||
0.2.x | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | |
0.3.x | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
1.0.x | ❌ | ❌ | ✅ | ✅ | ||||
1.1.x | ❌ | ❌ | ✅ | ✅ |
- Please use
ume_kit_ui: ^1.1.0
and above version when you are using Flutter 3.7 and above.
Package | master | develop | develop_nullsafety |
---|---|---|---|
ume | |||
ume_kit_device | |||
ume_kit_perf | |||
ume_kit_show_code | |||
ume_kit_ui | |||
ume_kit_console | |||
ume_kit_dio | N/A |
Please refer toSemantic versions for details.
Contributing rules:Contributing
Thanks to the following contributors (names not listed in order):
ShirelyC | |
lpylpyleo | |
Alex Li | |
Swain | |
mengdouer | |
LAIIIHZ | |
XinLei | |
suli | |
wei-spring |
- ume_kit_channel_monitor
- Channel communication monitor
- Cource code:https://github.com/bytedance/ume/tree/master/kits/ume_kit_channel_monitor
- ume_kit_slow_animation
- Animation speed control
- Cource code:https://github.com/cfug/ume_kits
- ume_kit_shared_preferences
- shared_preferences tool
- Cource code:https://github.com/cfug/ume_kits
- ume_kit_designer_check
- Comparing tool for Design UI and real UI
- Cource code:https://github.com/cfug/ume_kits
- ume_kit_clean_local_data
- Clean local data
- Cource code:https://github.com/cfug/ume_kits 。
- ume_kit_database
- DB tool
- Cource code:https://github.com/cfug/ume_kits 。
- ume_kit_monitor
- Parameters monitor tools
- Cource code:https://github.com/fastcode555/ume_kit_monitor 。
- json2dart_viewerffi
- DB tool
- Cource code:https://github.com/fastcode555/Json2Dart_Null_Safety 。
- json2dart_viewer
- DB tool
- Cource code:https://github.com/fastcode555/Json2Dart_Null_Safety 。
- ume_kit_memory_detector
- Leaks tool
- ume_kit_channel_observer
- Channel communication monitor
- flutter-ume-kit-dio-enhance
- Plugin base on ume_kit_dio
- The TouchIndicator use the pubtouch_indicator, the ColorPicker use the pubcyclop.
- Wefork the packagecyclop and modify some code meet our functional needs. We should depend cyclop by pub version after thePR being merged.
This project is licensed under the MIT License - visit theLICENSE for details.
Maybe...
- Found a bug in the code, or an error in the documentation
- Produces an exception when you use the UME
- UME is not compatible with the new version Flutter
- Have a good idea or suggestion
You cansubmit an issue in any of the above situations.
Maybe...
- Communicate with the author
- Communicate with more community developers
- Cooperate with UME
Welcome toJoin the ByteDance Flutter Exchange Group.
Or contactauthor.
About
UME is an in-app debug kits platform for Flutter.https://pub.dev/packages/ume
Topics
Resources
License
Stars
Watchers
Forks
Releases
Packages0
Languages
- Dart32.9%
- C++31.7%
- CMake24.6%
- Swift3.8%
- Ruby3.5%
- C1.8%
- Other1.7%