DEV.co
Open-Source Observability · didi

DoKit

DoKit is an open-source developer efficiency platform from Didi that provides debugging, monitoring, and testing tools for Android, iOS, Flutter, mini-programs, and web applications. It integrates performance metrics, visual inspection, mock data, and custom business tool support into a unified panel.

Source: GitHub — github.com/didi/DoKit
20.4k
GitHub stars
3.2k
Forks
Java
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorydidi/DoKit
Ownerdidi
Primary languageJava
LicenseApache-2.0 — OSI-approved
Stars20.4k
Forks3.2k
Open issues275
Latest release3.1.7 (2025-06-20)
Last updated2025-08-12
Sourcehttps://github.com/didi/DoKit

What DoKit is

DoKit comprises modular SDKs for multiple platforms (Android, iOS, Flutter, WeChat mini-programs) that intercept network traffic, monitor performance (CPU, memory, frame rate, startup time), detect layout issues, and enable function-level profiling. It includes an optional web platform (dokit.cn) for data mocking, health checks, file sync, and multi-device control.

Quickstart

Get the DoKit source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/didi/DoKit.gitcd DoKit# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Multi-platform mobile development teams

Organizations developing for Android, iOS, and mini-programs can centralize debugging and performance monitoring across all platforms using a single integration framework rather than building separate tools.

Performance optimization workflows

Engineering teams needing rapid identification of frame rate drops, memory leaks, CPU bottlenecks, and network inefficiencies via real-time graphical monitoring and heap analysis.

QA and integration testing in debug builds

Quality assurance teams can use mock data injection, GPS spoofing, weak network simulation, and UI hierarchy inspection to validate app behavior across edge cases without modifying production code.

Implementation considerations

  • Requires explicit SDK integration per platform (Android Gradle, iOS CocoaPods, Flutter pubspec, mini-program npm); integration steps differ significantly across platforms.
  • Network and memory profiling use AOP/bytecode instrumentation (Android) and method swizzling (iOS), which may interfere with other instrumentation tools or profilers.
  • Floating UI panel and device-level permissions (GPS mock, file access) must be properly scoped to debug builds only; misconfiguration risks leaking to release builds.
  • Platform fragmentation: Android (3.5.0), iOS (3.0.7), Flutter (0.6.0), and mini-program (0.0.1) versions have different feature sets and release cadences.
  • Custom business tool integration requires writing platform-specific adapter code and familiarity with DoKit's extension API.

When to avoid it — and what to weigh

  • Release/production deployment required — Official documentation explicitly warns that DoKit is intended for debug environments only and release builds have not been validated. Using in production is unsupported and requires independent testing.
  • Minimal dependencies or lightweight tooling is critical — DoKit integrates multiple heavy monitoring subsystems (network interception, bytecode instrumentation, memory profiling) that increase APK/app size and runtime overhead, unsuitable for resource-constrained environments.
  • Regulated or security-sensitive applications — Projects handling PII, financial data, or subject to strict compliance requirements should carefully review DoKit's interception capabilities (GPS spoofing, network mocking, file access) before integration.
  • Stable, minimal-change codebases — DoKit requires explicit SDK integration and may conflict with existing custom testing frameworks; teams with locked legacy codebases may face compatibility or maintenance friction.

License & commercial use

Licensed under Apache License 2.0 (Apache-2.0), a permissive open-source license that permits commercial use, modification, and distribution with minimal restrictions. License is clear and widely recognized.

Apache-2.0 permits commercial use in proprietary applications without restriction, provided the license notice and copyright are retained. No patent grant issues identified from the license text itself. However, users should independently verify that DoKit's capabilities (network interception, mock data injection, GPS spoofing) comply with their organization's security and regulatory policies; the license does not guarantee suitability for regulated or security-sensitive use.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

DoKit includes capabilities that should not reach production: GPS spoofing, network traffic mocking, file system access, and bytecode instrumentation can be misused or leak sensitive data if misconfigured. No formal security audit or threat model is mentioned. Network interception (similar to Charles proxy) could expose API keys or credentials in debug logs; ensure logs are stripped before any pre-release build. Evaluate compliance with security policies for applications handling PII or financial data.

Alternatives to consider

Android Studio Profiler / Xcode Instruments

Platform-native tools for CPU, memory, and network profiling. Lighter weight, officially supported, but require IDE integration and lack the unified UI panel or cross-platform feature set.

Charles Proxy / Fiddler

Best-in-class network interception and mocking; proxy-based so works across all platforms. Heavier external tool (desktop), less integrated into app workflows, more manual setup.

Firebase Performance Monitoring / Datadog RUM

Cloud-based production performance monitoring. Designed for release builds, not debug builds; costlier, less granular local debugging (no GPU/UI inspection).

Software development agency

Build on DoKit with DEV.co software developers

DoKit integrates performance monitoring, network mocking, and visual inspection into a unified panel for iOS, Android, Flutter, and mini-programs. Review the official documentation and evaluate compatibility with your debug-only workflows before integration.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

DoKit FAQ

Can I use DoKit in production or release builds?
No. Official documentation explicitly states DoKit is for debug environments only and release builds have not been validated. Using it in production is unsupported and requires independent testing; DoKit maintainers assume no responsibility for failures.
Does DoKit work on all Android/iOS versions?
Unknown. Documentation lists latest SDK versions (Android 3.5.0, iOS 3.0.7) but does not specify minimum OS requirements or tested version ranges. Bytecode instrumentation and method swizzling may have platform-specific limitations.
How much does DoKit add to app size and startup time?
Not clearly stated. Multiple instrumentation subsystems (AOP, profiling, interception) will increase binary size and potentially impact cold startup; benchmark data is not provided in the repository or README.
Can I integrate DoKit with my existing custom debugging tools?
Partially. DoKit supports custom business tool integration via its extension API, but conflicts with other instrumentation tools (proxies, profilers, AOP frameworks) are possible and require validation.

Custom software development services

From first prototype to production, DEV.co delivers software development services around tools like DoKit. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source observability and beyond.

Ready to streamline mobile debugging and testing?

DoKit integrates performance monitoring, network mocking, and visual inspection into a unified panel for iOS, Android, Flutter, and mini-programs. Review the official documentation and evaluate compatibility with your debug-only workflows before integration.