
DroidKit is a comprehensive macOS desktop application for Android developers that provides essential ADB (Android Debug Bridge) tools through an intuitive graphical interface.
- Auto-discovery of connected Android devices and emulators
- Real-time status monitoring with connection indicators
- Multiple device support with easy switching
- Device information display (model, Android version, API level, serial)
- List available AVDs from your Android SDK
- Launch emulators directly from the app
- Quick access AVD controls in sidebar
- Automatic device detection after AVD launch
- Automatic ANDROID_HOME detection from environment variables
- Common SDK path discovery (macOS standard locations)
- SDK path configuration with validation
- Persistent settings storage
- Browse device filesystem with intuitive navigation
- File and folder management with permissions display
- Download files from device to local machine
- Path navigation with breadcrumbs and history
- File size and permission details
- List all installed applications (system and user)
- Search and filter applications by name
- Distinguish system vs user apps with badges
- Package name and app info display
- Future: Install/uninstall APKs
- Real-time log monitoring with configurable line count
- Log level filtering with color-coded output
- Search and filter logs by keywords
- Export logs to text files
- Terminal-style display with syntax highlighting
- Frontend: React 19 + TypeScript + Tailwind CSS
- UI Components: Shadcn UI component library
- Backend: Tauri 2.0 + Rust
- ADB Integration:
adb_client
Rust crate - Build Tool: Bun for fast package management
- Platform: macOS (with potential for cross-platform expansion)
-
Node.js & Bun: Install Bun for package management
curl -fsSL https://bun.sh/install | bash
-
Rust: Required for Tauri backend
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Android SDK: Install Android Studio or standalone SDK
- Set
ANDROID_HOME
environment variable - Ensure
adb
is in your PATH
- Set
-
Clone the repository
git clone <repository-url> cd droidkit
-
Install dependencies
bun install
-
Run in development mode
bun run tauri dev
-
Build for production
bun run tauri build
- USB Devices: Enable USB debugging on your Android device and connect via USB
- Emulators: Launch AVDs directly from DroidKit or use Android Studio
- Network Devices: Future feature for wireless ADB connections
- Navigate using folder icons or path breadcrumbs
- Click files to view details, folders to navigate
- Use the download button to save files to your Desktop
- Use back/home buttons for quick navigation
- Adjust line count for log buffer size
- Use search to filter logs by keywords
- Export logs for debugging or sharing
- Color-coded log levels (Verbose, Debug, Info, Warning, Error, Fatal)
- Search installed apps by name or package
- View system vs user applications
- Future: Install APKs, view app details, manage permissions
droidkit/
โโโ src/ # React frontend
โ โโโ components/ # UI components
โ โ โโโ ui/ # Shadcn UI base components
โ โ โโโ Header.tsx # App header with branding
โ โ โโโ Sidebar.tsx # Device list and AVD controls
โ โ โโโ MainContent.tsx # Tabbed main interface
โ โ โโโ FileExplorer.tsx # File browser component
โ โ โโโ AppManager.tsx # App management interface
โ โ โโโ LogcatViewer.tsx # Log monitoring component
โ โ โโโ SettingsDialog.tsx # Configuration modal
โ โโโ lib/ # Utilities
โ โโโ App.tsx # Main application
โโโ src-tauri/ # Tauri backend
โ โโโ src/
โ โ โโโ adb_commands.rs # ADB operations
โ โ โโโ lib.rs # Tauri commands
โ โ โโโ main.rs # Application entry
โ โโโ Cargo.toml # Rust dependencies
โ โโโ tauri.conf.json # Tauri configuration
โโโ public/ # Static assets
โโโ README.md # Documentation
bun run dev
- Start Vite development serverbun run build
- Build for productionbun run preview
- Preview production build
bun run tauri dev
- Run app in development modebun run tauri build
- Build production appbun run tauri info
- Show environment info
- Basic device detection and information
- File browser with download capability
- App listing and management
- Logcat viewer with filtering
- AVD management and launching
- Settings and configuration
- Real-time logcat streaming
- APK installation and app uninstalling
- Screenshot capture and screen recording
- Network ADB connections
- Performance monitoring (CPU, memory, battery)
- Interactive ADB shell terminal
- Plugin system for custom tools
- Multi-device operations
- Automated testing integration
- Device farm management
- Cloud device support
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Tauri - For the excellent Rust-based app framework
- Shadcn UI - For beautiful, accessible UI components
- adb_client - For Rust ADB integration
- Lucide - For consistent iconography
- Android Open Source Project - For ADB and development tools
If you encounter any issues or have questions:
- Check the Issues page for existing solutions
- Create a new issue with detailed information
- Join our community discussions
Built with โค๏ธ for the Android developer community