Skip to content

Latest commit

ย 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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

13 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages