desk-droid
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
⚡️ Silky-smooth, low-latency Android screen mirroring and remote control for macOS over Wi-Fi & USB. Built with Flutter & scrcpy.
⚡️ DeskDroid — High-Performance Android Screen Mirroring & Workstation for macOS & Windows
Silky-smooth, low-latency Android screen mirroring, remote control, and developer powerhouse for macOS and Windows over Wi-Fi & USB. Built with Flutter Desktop and scrcpy-server.
macOS: Universal Binary (30 MB) • Apple Silicon (M1/M2/M3/M4) & Intel Core • macOS 12.0+
Windows (Preview): portable ZIP (13 MB) • Windows 10/11 x64 • what works on each platform
🚀 Why DeskDroid?
DeskDroid turns your Mac or Windows PC into the ultimate Android command center. Whether you are an Android developer debugging apps, a content creator recording mobile gameplay, or a power user seeking desktop control over your phone, DeskDroid delivers:
- ⚡️ Low-Latency Native Decoding: Hardware H.264 encoding on the phone, decoded natively on the desktop (Apple VideoToolbox on macOS, Media Foundation on Windows) at up to 60 FPS, at the phone's own resolution.
- 📶 Dual Connection (Wi-Fi & USB): Subnet ARP auto-discovery, mDNS wireless debugging, 1-click USB-to-Wi-Fi switch, or instant plug-and-play USB cable mode.
- 🔋 Screen-Off Streaming: Keep the physical phone screen dark while you keep mirroring and controlling it, for privacy and less battery drain from the display.
- 🔒 100% Private & P2P: Zero cloud servers, zero analytics, and zero telemetry. All video, audio, and inputs remain strictly inside your local network.
📸 Visual Showcase
1. Subnet Discovery & Built-in Feature Catalog
Multi-Device Discovery Subnet auto-scan, connection badges & 1-click wireless mirroring. |
Interactive Feature Showcase Categorized catalog with performance badges, highlights & pro tips. |
2. Developer Inspection: Logcat & Intent Dispatcher
Device Logcat Console (Cmd+Shift+L) Live stream (batched every 100 ms), 5k ring buffer, regex/PID/tag filters, star bookmarks & recording to a file. |
Deep Link & Intent Dispatcher (Cmd+Shift+D) Fire custom URI schemes, system actions, targeted packages & typed extras. |
3. App Deployment & Two-Way File Management
1-Click APK Manager (Cmd+Shift+I) AAPT2 metadata inspection, permission grant flags, 1-click launch & clean uninstall. |
Device File Explorer (Cmd+Shift+F) Two-way file browser with quick folder shortcuts & batch download. |
4. Lossless Media Capture & Screen Recording
Hardware Screen Recording (Cmd+Shift+R) H.264 MP4 encoded by the phone's hardware encoder (up to 3 minutes), with a 3 s countdown HUD. |
Interactive Area Crop (Cmd+Shift+S) PNG marquee crop with live pixel badge; copy, save, or both. |
⚡️ Complete Feature Catalog
DeskDroid includes 14 built-in modules (plus a planned menu bar companion):
| # | Feature | Highlights & Capabilities | Shortcut | Docs |
|---|---|---|---|---|
| 01 | Wireless Display & Low-Latency Streaming | Up to 60 FPS at native resolution, H.264 hardware decoding (VideoToolbox on macOS, Media Foundation on Windows), live FPS / bitrate / latency badges | Auto | Guide |
| 02 | Device Discovery & Wireless Pairing | Subnet ARP scan, 1-click USB-to-Wi-Fi, mDNS discovery for Android 11+ pairing | Auto / Toolbar | Guide |
| 03 | Remote Input & Gesture Control | Trackpad scrolling, two-finger pinch and rotate (trackpad or Alt + drag), right-click back, over the scrcpy control socket | Mouse / Trackpad | Guide |
| 04 | Keyboard & Text Injection | Desktop keyboard shortcuts and a text input modal; Vietnamese, CJK, and emoji are pasted intact | Cmd+K | Guide |
| 05 | Screen-Off Streaming | Turns the phone's display panel off while mirroring and control continue | Cmd+O | Guide |
| 06 | Device Logcat Console & Debugger | Live stream (batched every 100 ms), 5k ring buffer, regex/PID/tag filters, star bookmarks, recording to a file | Cmd+Shift+L | Guide |
| 07 | Deep Link & Intent Dispatcher | Test URI schemes, system actions (VIEW, SEND), packages & typed extras |
Cmd+Shift+D | Guide |
| 08 | APK Sideload & Package Manager | AAPT2 package inspection, install flags (-r, -g, -t), launch & uninstall |
Cmd+Shift+I | Guide |
| 09 | Two-Way File Explorer | Two-way file manager, quick folders (Downloads, DCIM, Docs) & download to the computer | Cmd+Shift+F | Guide |
| 10 | Viewport Drag & Drop Push | Drag any file or APK onto the mirroring window for instant push or sideload | Drag-and-drop | Guide |
| 11 | Bidirectional Clipboard Sync | Desktop clipboard ⇄ Android clipboard every 2 s, with loop prevention | Auto, or Cmd+Shift+C / V | Guide |
| 12 | Hardware MP4 Screen Recording | H.264 MP4 (8 Mbps, up to 3 minutes) encoded on the phone, 3 s countdown HUD, live timer | Cmd+Shift+R | Guide |
| 13 | Lossless Screenshots & Area Crop | Full PNG capture or interactive 8-handle marquee crop, to the clipboard, your Downloads folder, or both | Cmd+S / Shift+S | Guide |
| 14 | Model Context Protocol (MCP) AI Agent Server | Headless stdio MCP server exposing 58 tools for Claude Desktop, Cursor & Antigravity; the toolbar hub icon shows its setup and connected AI sessions | Stdio CLI / Hub icon | Guide |
| + | Menu Bar Companion (not yet available) | Status bar popover for quick window toggle and live telemetry (FPS & latency); designed, not yet wired into the app | Menu Bar | Guide |
Shortcuts are shown with Cmd (macOS); use Ctrl on Windows. Most features are verified on macOS; the Windows preview has verified mirroring, logcat, bitrate presets, and the MCP server. Audio forwarding (Android 11+) is new and not yet verified in the app on either platform. Full matrix: Platform Support.
⌨️ Essential Keyboard Shortcuts
Use Cmd on macOS and Ctrl on Windows (for example Ctrl + Shift + S). Tooltips in the app always show the keys of the running platform.
| Shortcut (macOS / Windows) | Action | Description |
|---|---|---|
| Cmd / Ctrl + S | Full Screenshot | Captures full phone screen to your Downloads folder & clipboard |
| Cmd + Shift + S | Area Screenshot | Drag interactive marquee to crop custom screen region |
| Cmd + Shift + R | Screen Recording | Hardware H.264 MP4 recording (up to 3 minutes) with countdown HUD & timer |
| Cmd + Shift + I | APK Manager | Inspect package metadata, configure install flags & sideload |
| Cmd + Shift + D | Intent Dispatcher | Fire deep link URLs, system intents & typed extras |
| Cmd + Shift + F | Device Files | Browse phone directories & download files to the computer |
| Cmd + Shift + L | Device Logcat | Real-time log stream with level/tag/PID filtering & export |
| Cmd + O | Screen-Off Toggle | Turn the phone's screen off or on; mirroring continues |
| Cmd + K | Text Injection | Open the text input modal (any language, emoji included) |
| Cmd + H / Backspace | Home / Back | Standard Android navigation controls |
🏗️ Architecture
flowchart LR
subgraph AndroidDevice ["📱 Android Device"]
A1["SurfaceControl / Display Capture"] --> A2["MediaCodec (H.264 hardware)"]
A2 --> A3["scrcpy-server (Shell-level daemon)"]
A4["InputManager (Touch / Key Injection)"] <--- A3
end
subgraph Transport ["📶 Local Wi-Fi (LAN) / 🔌 USB Cable"]
V_STREAM["TCP Video Stream (Raw NAL Units)"]
A_STREAM["TCP Audio Stream (Raw PCM, Android 11+)"]
C_SOCKET["TCP Control Socket (scrcpy Control Messages)"]
end
subgraph DesktopApp ["💻 macOS / Windows (DeskDroid App - Flutter)"]
M1["Flutter UI"] --> M2["Mouse & Keyboard Event Listener"]
M3["Native Video Decoder (VideoToolbox / Media Foundation) → Texture"] --> M1
end
A3 === V_STREAM ===> M3
A3 === A_STREAM ===> M4["Native Audio Player (AVAudioEngine / WASAPI)"]
M2 === C_SOCKET ===> A3
🛠️ Quick Start & Installation
Prerequisites
| macOS | Windows (Preview) | |
|---|---|---|
| Host | macOS 12.0+ (Apple Silicon or Intel) | Windows 10/11 x64 |
| ADB | Bundled in release builds (optional: brew install android-platform-tools) |
Bundled in release builds (optional: winget install Google.PlatformTools) |
| Android | 5.0+ with USB Debugging enabled | Same |
Install a release
- macOS: unzip
DeskDroid-v1.1.0-macOS.zip, move DeskDroid.app to/Applications. Unsigned build: runxattr -cr /Applications/DeskDroid.apponce if Gatekeeper blocks it. - Windows: unzip
DeskDroid-v1.0.1-Windows-x64.zip(the latest Windows package; it needs an installed ADB) and runDeskDroid\desk_droid.exe(no installer). Unsigned build: on the SmartScreen prompt choose More info → Run anyway.
Run from source
# 1. Clone repository
git clone https://github.com/az-coder-123/desk-droid.git
cd desk-droid
# 2. Install dependencies & launch
flutter pub get
flutter run -d macos # macOS
flutter run -d windows # Windows (needs Visual Studio 2022 with "Desktop development with C++")
Build a release package
./scripts/build_release.sh # macOS → RELEASE/DeskDroid-v<version>-macOS.zip
powershell -ExecutionPolicy Bypass -File scripts\build_release.ps1 # Windows → RELEASE\DeskDroid-v<version>-Windows-x64.zip
Full setup, ADB drivers, and packaging options: Installation & Building. Publishing a release: Release Guide.
📚 Documentation Hub
| Guide | Scope |
|---|---|
| 💿 Installation & Building | Install on macOS or Windows, set up ADB, run from source, and package a release |
| 🚀 Release Guide | Step-by-step release procedure: version, notes, build, package, upload, README links |
| 🖥️ Platform Support | What works on macOS and Windows, and where the platforms differ |
| 📖 User Guide | Getting started, first-time setup, and device permissions |
| 📶 Pairing Guide | Wireless pairing instructions for Android 11+ and USB fallback |
| ⌨️ Shortcuts & Gestures | Complete mouse gestures and keyboard shortcuts (Cmd on macOS, Ctrl on Windows) |
| ⚡️ Features Catalog | Modular in-depth documentation across all 15 built-in features |
| 🏛️ Architecture | Clean Architecture blueprint, BLoC state model, and socket protocols |
| 🧭 Dependency Boundaries | Allowed imports between features, shared kernel, and composition root |
| 🧩 Platform Abstraction | Where macOS/Windows differences live, and how to add a new one |
| 🎞️ Native Video Contract | MethodChannel, scrcpy wire format, and rules shared by the Swift and C++ plugins |
| 📦 Bundled Platform-Tools | How adb ships inside the app, how it is found, and how to upgrade it |
| 🧮 scrcpy Upgrade Assessment | Why v2.1 must be upgraded, protocol compatibility by version, and the recommended path |
| 🪟 Windows Port Plan | Phases, status, and risks of the Windows port |
| 🛠️ Troubleshooting | Solutions for Xiaomi/MIUI input permissions, firewalls, and ADB errors |
| 💡 Lessons Learned | Engineering post-mortems, root cause analyses, and edge-case solutions |
| 🤖 AI Agent & MCP Guide | Connect Claude Desktop, Cursor, and Antigravity to automate Android devices (58 tools) |
🏷️ Search Keywords & Tags
android-screen-mirroring · scrcpy-macos-gui · scrcpy-windows-gui · wireless-adb · screen-mirror-mac · screen-mirror-windows · flutter-desktop · apple-silicon · android-logcat-gui · apk-installer-mac · deep-link-tester · android-file-transfer-mac · low-latency-streaming · open-source
🤝 Community, Contributing & License
🤝 ContributingContributions, feature requests, and bug reports are warmly welcome! DeskDroid thrives on community feedback.
|
📄 License & FreedomDeskDroid is 100% free, open-source, and privacy-respecting software released under the MIT License. You are free to use, modify, distribute, and integrate this software into personal or commercial workflows. See LICENSE for full legal terms. |
Developed and maintained by az-coder-123
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi