Debug Flutter, React Native & Android apps — network, state, logs, storage, database — all in one beautiful desktop tool.
Features · Download · Quick Start · Desktop Guide · Mock Server · SDKs · Support
If you've used Reactotron, Flipper, or Flutter DevTools — you know they're powerful but limited to one framework. DevConnect Manage Kit is a single desktop app that works with all of them.
| DevConnect Manage Kit | Reactotron | Flipper | Flutter DevTools | |
|---|---|---|---|---|
| Flutter support | ✅ | ❌ | ✅ | |
| React Native support | ✅ | ✅ | ✅ | ❌ |
| Android Native support | ✅ | ❌ | ✅ | ❌ |
| Network inspector | ✅ | ✅ | ✅ | ✅ |
| State debugging | ✅ Redux/MobX/Zustand/BLoC/Riverpod/GetX | ✅ Redux/MobX | ✅ | ❌ |
| Log viewer | ✅ | ✅ | ✅ | ✅ |
| Storage viewer | ✅ | ✅ | ✅ | ❌ |
| Database browser | ✅ | ❌ | ✅ | ❌ |
| Performance profiling | ✅ FPS/CPU/Memory/Jank | ❌ | ❌ | ✅ |
| Memory leak detection | ✅ | ❌ | ❌ | ✅ |
| Benchmark timing | ✅ | ✅ | ❌ | ✅ |
| Custom commands | ✅ | ✅ | ❌ | ❌ |
| Multi-device | ✅ | ❌ | ✅ | ❌ |
| Zero-config setup | ✅ auto-detect | ❌ manual | ||
| macOS + Windows | ✅ | ✅ | ✅ | |
| Dark + Light theme | ✅ | ✅ | ✅ | ✅ |
| Active maintenance | ✅ | ❌ deprecated | ✅ |
TL;DR — One tool to replace Reactotron + Flipper + DevTools. Works with Flutter, React Native, and Android Native. Auto-detects everything.
- Network Inspector — HTTP request/response viewer with headers, body (tree + JSON), timing bar, copy as cURL, status badges
- State Inspector — Real-time state change timeline with before/after diff for Redux, MobX, Zustand, Jotai, Valtio, XState, BLoC, Riverpod, GetX, Provider, ViewModel, StateFlow, LiveData
- Console / Logs — Log viewer with level filters (debug/info/warn/error), search, tags, metadata, stack traces
- Storage Viewer — Browse and monitor SharedPreferences, AsyncStorage, Hive, MMKV, SecureStorage, DataStore
- Database Browser — SQLite, Drift, Room, Isar table viewer with SQL query editor
- Performance Profiling — Real-time FPS, CPU, memory usage charts with jank frame detection
- Memory Leak Detection — Detect undisposed controllers, streams, timers, growing collections with severity levels and stack traces
- Benchmark — Performance timing with step markers
- Custom Commands — Send commands from desktop to app and get results
- Multi-Device — Connect multiple apps simultaneously, per-device filtering
- All Events — Unified timeline of all events across features
- Mock Server — Push mock HTTP responses down to devices, audit every intercepted request with full URL/method/status/rule-name
- Screenshot — Full-content screenshot capture of any detail panel
- ADB Reverse — One-click USB connection for Android devices
- Auto-detect — SDK auto-discovers desktop IP, zero configuration needed
- Dual Theme — Dark and light mode
| All Events | State Inspector |
|---|---|
![]() |
![]() |
| Network Inspector | Network Detail |
|---|---|
![]() |
![]() |
| Performance Profiler | Benchmark |
|---|---|
![]() |
![]() |
| Storage Viewer |
|---|
![]() |
| Platform | File | Architecture |
|---|---|---|
| macOS | DevConnectManageTool-macOS-v1.0.1-universal.dmg |
arm64 + x86_64 |
| Windows | DevConnectManageTool-Windows-v1.0.1.zip |
x64 |
Download from Releases.
import 'package:devconnect_manage_kit/devconnect_manage_kit.dart';
void main() async {
await DevConnect.initAndRunApp(
appName: 'MyApp',
runApp: () => runApp(const MyApp()),
);
// Done. Network + logs auto-captured.
}import { DevConnect } from "devconnect-manage-kit";
await DevConnect.init({ appName: "MyApp" });
// Done. fetch + XHR + console auto-captured.// Application.onCreate()
DevConnect.installForApp(
context = this,
appName = "MyApp",
enabled = BuildConfig.DEBUG,
)That's it. Open DevConnect Manage Tool desktop, run your app, and everything appears.
git clone https://github.com/ridelinktechs/devconnect-manage-kit.git
cd devconnect
flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter build macos --release # macOS
flutter build windows --release # Windows
# Output: build/macos/Build/Products/Release/DevConnectManageTool.app- Console/Logs - real-time log viewer, level filters, search, clear
- Network Inspector - request/response, headers, body, timing, copy cURL, copy response
- State Inspector - state change timeline, before/after diff, snapshot + restore
- Storage Viewer - SharedPreferences, AsyncStorage, Hive, MMKV, SecureStorage
- Database Viewer - SQLite, Drift, Room, Isar with query editor
- Performance Profiling - real-time FPS, CPU, memory charts with jank detection
- Memory Leak Detection - severity-based leak viewer with stack traces and metadata
- Benchmark - performance timing with steps
- Custom Commands - send commands from desktop to app
- Device Panel - connected devices with platform badge, OS version
- ADB Reverse - one-click for Android USB
- Port Config - change WebSocket port in Settings
- Auto-detect Host - SDK auto-finds desktop IP
- Dual Theme - dark / light
Each SDK ships as its own package with a complete install + API guide. Pick yours:
# pubspec.yaml
dependencies:
devconnect_manage_kit: ^1.0.6- Network (dio, http, GraphQL, gRPC) · State (Riverpod, BLoC, GetX, Provider, ViewModel) · Storage (SharedPreferences, Hive, MMKV) · Database (Drift, Isar, SQLite) · Performance + Memory Leak Detection + Benchmark · Mock server
npm install devconnect-manage-kit
# or
yarn add devconnect-manage-kit- Network (fetch, XHR, axios, Apollo, urql, TanStack Query, SWR) · State (Redux, MobX, Zustand, Jotai, Valtio, XState) · Storage (AsyncStorage, MMKV) · Performance + Memory Leak Detection + Benchmark · Mock server
📖 Full React Native SDK guide →
// app/build.gradle.kts
dependencies {
implementation("io.github.buivietphi:devconnect-android:1.1.0")
}- Network (OkHttp, Ktor, Volley) · State (ViewModel/StateFlow/LiveData) · Storage (SharedPreferences, DataStore, MMKV) · Database (Room) · Crash & ANR detection (native signal handler, pre-built in AAR) · Compose, GraphQL, gRPC, WebSocket inspector
The native crash handler ships inside the AAR — no NDK setup required. Optional deps (OkHttp, lifecycle, kotlin-reflect…) are
compileOnly; see Android SDK README → Runtime dependencies.
See Architecture for protocol details.
SDK tries these addresses in order:
localhost(iOS simulator, macOS)10.0.2.2(Android emulator)10.0.3.2(Genymotion)- Scan local network subnet
Check your desktop IP in Settings page (click to copy), then:
await DevConnect.init(appName: 'MyApp', host: '192.168.1.5');In desktop Settings > Android Device (USB), click "Run ADB Reverse".
Or manually: adb reverse tcp:9090 tcp:9090
Open DevConnect, run your app with the SDK — data appears automatically. The sidebar shows all features, the bottom bar shows connected devices.
| Tab | What it shows | Key actions |
|---|---|---|
| Console | Real-time logs from your app | Filter by level (debug/info/warn/error), search, click to expand |
| Network | HTTP requests & responses | Filter by method (GET/POST/PUT/PATCH/DELETE), filter by source (App/Library/System), click request to see headers + body + timing |
| State | State changes timeline | Click to see before/after diff, snapshot & restore state |
| Storage | Key/value storage entries | Filter by operation (READ/WRITE/DELETE), filter by type (AS/SP/HV/SQL), click to see full value |
| Database | SQLite tables & queries | Browse tables, view schema, run SQL queries |
| Performance | Real-time FPS, CPU, memory charts | Hover for exact values, jank frames highlighted |
| Memory Leaks | Detected leaks with severity | Sorted by severity (critical/warning/info), stack traces |
| Benchmark | Timing measurements with steps | Start/step/stop lifecycle with duration |
| Mock Server | Push mock HTTP responses to device | Add rule → push to SDK → audit shows every intercepted request |
| All Events | Unified timeline across all features | Filter by type, search across everything |
Replace real network responses with mock data for testing edge cases without touching the backend. The desktop pushes rules down; the SDK intercepts matching requests before they hit the network and audits every hit back to the desktop.
Creating a rule
- Open Mock Server tab
- Click + Add rule
- Fill in:
- Rule name — human-readable label (e.g.
Get user 404) - Method — GET / POST / PUT / PATCH / DELETE
- URL pattern — regex (e.g.
^/api/users/999$) - Status — HTTP status code (200, 404, 500, ...)
- Response headers — one per line,
key: value - Response body — raw string or JSON
- Rule name — human-readable label (e.g.
- Optional wire-only fields:
- Delay (ms) — sleep before returning the mocked response
- Scope deviceIds — comma-separated; empty means every device
- Expires at — ISO-8601 timestamp; rule is ignored past this time
- Click Push all to push the full list, or Push this for just the selected rule
On the device
No code changes needed. The SDK's MockServerInterceptor (already installed alongside dio / axios / okHttp interceptors) listens for server:mock_rules_update and caches the rule list in memory. When a matching request fires, the interceptor returns the mocked response immediately — the real network stack is never touched.
Auditing
Every intercepted request emits client:mocked_request back to the desktop. The Audit panel (inside the Mock Server tab) shows:
- Method + URL pattern that matched
- HTTP status returned
- Rule name (looked up locally by
ruleId) - Timestamp
Click any row for the full entry detail.
Example
| Field | Value |
|---|---|
| Name | Get user 404 |
| Method | GET |
| URL | ^/api/users/999$ |
| Status | 404 |
| Body | {"error":"not found"} |
| Delay | 500 |
In the app, calling GET /api/users/999 returns 404 instantly with the mock body — the desktop audit row appears the moment the SDK intercepts it.
Every list page has these controls in the toolbar:
- Filter chips — Click to filter (single-select for methods, multi-select for types)
- Search — Filter by text content
- Auto-scroll — Pin to newest entries (click to toggle)
- Sort direction — Newest first or oldest first
- Clear — Delete all entries (trash icon)
When multiple apps are connected, use the device selector in the bottom bar to filter by device or view "All Devices".
- Server — Start/stop WebSocket server, change port (default: 9090)
- Network IPs — Your desktop IP addresses (click to copy)
- ADB Reverse — One-click USB setup for Android
- Appearance — Dark/light theme, scroll direction
- Tab Visibility — Show/hide tabs you don't need
All SDKs are disabled by default in production builds — zero runtime overhead.
| SDK | Guard | Behavior in production |
|---|---|---|
| Flutter | kDebugMode |
Returns immediately, no WebSocket, no interceptors |
| React Native | __DEV__ |
Creates dummy instance, all methods are no-ops |
| Android | BuildConfig.DEBUG |
Returns immediately, nothing initialized |
You can also manually disable:
DevConnect.init(appName: 'MyApp', enabled: false); // FlutterDevConnect.init({ appName: "MyApp", enabled: false }); // React NativeDevConnect.init(context = this, appName = "MyApp", enabled = false) // AndroidNo need to remove SDK code for release builds. The compiler strips dead code paths automatically.
- Desktop: Flutter Desktop (macOS/Windows) + Riverpod + go_router + Freezed
- Protocol: JSON over WebSocket (default port 9090)
- SDKs: Flutter (pub.dev), React Native (npm), Android (Maven Central — AAR)
DevConnect Manage Kit is open source under the MIT License. Contributions are welcome!
- Fork the repo
- Create your branch (
git checkout -b feature/my-feature) - Commit changes (
git commit -m 'feat: add my feature') - Push (
git push origin feature/my-feature) - Open a Pull Request
See CONTRIBUTING.md for development setup and guidelines.
Looking for mobile debugging tools? Here's how DevConnect compares:
- Reactotron — Great for React Native + Redux, but no Flutter/Android support. DevConnect covers all three.
- Flipper — Facebook's extensible debugger, now deprecated. DevConnect is actively maintained.
- Flutter DevTools — Official Flutter debugging, but no React Native or Android Native. DevConnect adds cross-platform support.
Searching for: reactotron alternative, flipper replacement, flutter debugging tool, react native debugger, android debug inspector, mobile app debugger, cross-platform debugging, network inspector, state debugger, redux devtools mobile? DevConnect is built for you.
DevConnect Manage Kit is free and open source. If it saves you debugging time, consider supporting development:
MIT License — Everything in this repository (desktop app + all SDKs) is free for any use, including commercial. Use it, modify it, ship it — no restrictions.
MIT License
Copyright (c) 2026 MTI ridelinktechs
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
See LICENSE and client_sdks/*/LICENSE for the full text.
DevConnect Manage Tool — Debug Flutter, React Native & Android apps from one desktop tool.
A modern alternative to Reactotron, Flipper, and platform-specific debugging tools.






