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 (31 MB) • Apple Silicon (M1/M2/M3/M4) & Intel Core • macOS 12.0+
Windows (Preview): portable ZIP (21 MB) • Windows 10/11 x64 • what works on each platform
Azdroid 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, Azdroid 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.
Remote Text Injection (Cmd+K)
Type or paste text for the phone; Vietnamese, CJK, and emoji arrive intact.
Azdroid 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, connected AI sessions, and live tool calls; the mirror shows when an AI controls the device | 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.
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 |
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 (Azdroid 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
| 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 |
- macOS: unzip
DeskDroid-v1.3.0-macOS.zip, move Azdroid.app to/Applications. Unsigned build: runxattr -cr /Applications/Azdroid.apponce if Gatekeeper blocks it. - Windows: unzip
DeskDroid-v1.3.0-Windows-x64.zip(ADB included) and runDeskDroid\desk_droid.exe(no installer). Unsigned build: on the SmartScreen prompt choose More info → Run anyway.
# 1. Clone repository
git clone https://github.com/az-coder-123/azdroid.git
cd azdroid
# 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++")./scripts/build_release.sh # macOS → RELEASE/Azdroid-v<version>-macOS.zip
powershell -ExecutionPolicy Bypass -File scripts\build_release.ps1 # Windows → RELEASE\Azdroid-v<version>-Windows-x64.zipFull setup, ADB drivers, and packaging options: Installation & Building. Publishing a release: Release Guide.
| 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 16 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) |
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
|
Contributions, feature requests, and bug reports are warmly welcome! Azdroid thrives on community feedback.
|
Azdroid 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








