Skip to content

DroidKit is a comprehensive macOS desktop application for Android developers that provides essential ADB (Android Debug Bridge) tools through an intuitive graphical interface.

Notifications You must be signed in to change notification settings

pavi2410/droidkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DroidKit ๐Ÿง‘โ€๐Ÿ’ป๐Ÿฉบ๐Ÿ“ฑ

DroidKit

Android Toolkit for macOS

DroidKit is a comprehensive macOS desktop application for Android developers that provides essential ADB (Android Debug Bridge) tools through an intuitive graphical interface.

โœจ Features

๐Ÿ“Ÿ Device Management

  • 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)

๐Ÿš€ AVD (Android Virtual Device) Management

  • 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

โš™๏ธ Configuration & Settings

  • Automatic ANDROID_HOME detection from environment variables
  • Common SDK path discovery (macOS standard locations)
  • SDK path configuration with validation
  • Persistent settings storage

๐Ÿ“ File Explorer

  • 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

๐Ÿ“‹ App Management

  • 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

๐Ÿ“Š Logcat Viewer

  • 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

๐Ÿ› ๏ธ Tech Stack

  • 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)

๐Ÿš€ Getting Started

Prerequisites

  1. Node.js & Bun: Install Bun for package management

    curl -fsSL https://bun.sh/install | bash
  2. Rust: Required for Tauri backend

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  3. Android SDK: Install Android Studio or standalone SDK

    • Set ANDROID_HOME environment variable
    • Ensure adb is in your PATH

Installation

  1. Clone the repository

    git clone <repository-url>
    cd droidkit
  2. Install dependencies

    bun install
  3. Run in development mode

    bun run tauri dev
  4. Build for production

    bun run tauri build

๐Ÿ“– Usage

Connecting Devices

  1. USB Devices: Enable USB debugging on your Android device and connect via USB
  2. Emulators: Launch AVDs directly from DroidKit or use Android Studio
  3. Network Devices: Future feature for wireless ADB connections

File Management

  • 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

Log Monitoring

  • 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)

App Management

  • Search installed apps by name or package
  • View system vs user applications
  • Future: Install APKs, view app details, manage permissions

๐Ÿ—๏ธ Project Structure

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

๐Ÿ”ง Available Commands

Frontend Commands

  • bun run dev - Start Vite development server
  • bun run build - Build for production
  • bun run preview - Preview production build

Tauri Commands

  • bun run tauri dev - Run app in development mode
  • bun run tauri build - Build production app
  • bun run tauri info - Show environment info

๐ŸŽฏ Roadmap

Phase 1 โœ… (Completed)

  • 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

Phase 2 ๐Ÿšง (Future)

  • 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

Phase 3 ๐Ÿ”ฎ (Vision)

  • Plugin system for custom tools
  • Multi-device operations
  • Automated testing integration
  • Device farm management
  • Cloud device support

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • 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

๐Ÿ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Join our community discussions

Built with โค๏ธ for the Android developer community

About

DroidKit is a comprehensive macOS desktop application for Android developers that provides essential ADB (Android Debug Bridge) tools through an intuitive graphical interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •