High-Speed Android Connection, Debugging & Developer Workflow Desktop App
ADB Developer Studio is a modern, high-performance desktop application built with Python, pywebview, and a hardware-accelerated Glassmorphism Dark UI designed strictly following an internal UI Plan specification and reference dashboard mockups (kept locally, not part of this repo).
- Left Sidebar (220px): Grouped navigation for
WORKSPACE(Dashboard,Devices,Projects),TOOLS(Remote & Mirror,Capture,File Explorer,Logcat,Actions,Testing,Terminal),SYSTEM(Settings), with a bottom ADB Server Status monitor. - Top Header Bar: Active Page Title & Subtitle, Global Target Device Selector Dropdown,
Pair New Devicebutton,Connect Devicebutton, andCommand Palettetrigger (Ctrl + K). - Interactive Connection & Pairing Modals:
- ⚡ Wireless Connect Modal (
#modal-wireless-connect): Clean popup dialog with pre-filled local IP address and Port (5555) input fields to connect to any device over Wi-Fi. - 🔑 Wireless Pairing Modal (
#modal-wireless-pair): Tabbed popup dialog supporting 📷 Scan QR Code (auto-generated Android ADB pairing QR) and 🔢 Manual 6-Digit Pairing Code.
- ⚡ Wireless Connect Modal (
- Fixed Tab View Nesting: Resolved an unclosed
<section id="tab-dashboard">tag inindex.htmlthat was causing all other tab pages (Devices,Projects,Remote & Mirror,Capture,File Explorer,Logcat,Actions,Testing,Terminal,Settings) to be hidden when switching tabs. All pages now display fully populated workspace cards. - Pure Vector SVG Icon System: Replaced all emojis across the Capture page, subtabs, thumbnail cards, and control buttons with crisp, hardware-accelerated inline vector SVG icons matching
ADB Developer Studio Capture Dashboard.png. - Capture Page 3-Column Workspace (Matches
ADB Developer Studio Capture Dashboard.png):- Left Card: Live Device Info box (
Model,Android,Resolution,Density,Battery,Status) + High-res vertical Phone Screen Display Frame + Zoom Bar (— 59% +,[ ],⟳). - Middle Card:
RECENT CAPTURES6-grid gallery featuring live phone frame thumbnails, timestamps, file sizes, and 1-clickCopy,Open Foldervector SVG buttons. - Right Sidebar:
QUICK CAPTURE(Big BlueTake Screenshot&Copy to Clipboard),OPTIONS(Save Location picker, Auto-copy toggle, Auto-open folder toggle, Image Format, Image Quality), andSCREEN RECORDER(Hero PurpleRecord Screen, Max Duration, Resolution, Save Location).
- Left Card: Live Device Info box (
- Devices Page (Matches
ADB Developer Studio Devices Dashboard.png):- Always Visible: Renders the complete hero card, recent devices list, and 3 connection method cards even when 0 devices are attached.
- Connected Device Hero Card: Connected device hero banner with Phone Mockup, 5 Stat Cards (
Battery,Storage,Resolution,Model,OS Build), and Action Bar (>_ Open Shell,Logcat,Screenshot,Record Screen,Actions). - Recent Devices Section: Sort by dropdown, refresh, clear all, status indicators (
● Offline/● Connected), editable port input[5555 ✎], andReconnectbutton. - Bottom 3 Cards:
USB Devices(Scan USB),Wireless Devices(Connect IP),Pair New Device(Start Pairing).
- Main Workspace Area:
- Connected Device Hero Banner: Phone mockup graphic frame, battery/storage/resolution metrics, device badges, and primary action shortcuts.
- Quick Actions 6-Card Neon Grid: Glowing 1-click shortcut cards (
Install APK,Screenshot,Start Logcat,App Actions,Deep Link,Clear Data). - 3-Column Dashboard Section: Live
RECENT DEVICES(with inline editable port[5555 ✎]),RECENT PROJECTS, andRECENT ACTIVITYtimeline.
- Global Status Bar (Bottom 30px): Live server indicator, connected device count, target device OS, and IP address.
- Command Palette (
Ctrl + K): Instant command search overlay for fast keyboard-driven developer workflows. - Projects Page Redesign: Moved the separate "Project Actions" panel directly onto each project card (
Build,Clean,Install,Open Folder,Remove), removing an unstyled/broken options button and the need to select a project before acting on it. - Logcat Page Redesign: Replaced the old text-dump console (and its duplicate-line polling bug) with a persistent background-streamed
adb logcatengine, a structured sortable/filterable table view, level/tag/package filters, regex search, export, saved filter presets, and a pop-out standalone window.
- USB & Wireless Debugging: Instant auto-detection of connected devices.
- 📷 QR Code Pairing (Android 11+): Displays an active Android ADB pairing QR code on screen. Simply open
Settings ➔ Developer options ➔ Wireless debugging ➔ Pair device with QR codeon your phone and scan the screen! - Recent Devices & Reconnect: Saved history of previously connected IP & ports with 1-click reconnect.
- Inline Port Editor: Dynamically edit target ports directly on recent device cards if Android assigns a new Wi-Fi debugging port.
- Manual Wireless Pairing: Built-in dialog for manual 6-digit
adb pair ip:port code.
- On-Screen Hardware Buttons: Trigger physical hardware keyevents (Back, Home, Recents / App Switcher, Power/Lock Screen, Volume Up/Down, Mute).
- Keyboard Text Injector: Type text or paste long URLs/passwords on your PC keyboard and inject them directly into the active focused input field on the phone.
- Screen Mirroring (
scrcpyLauncher): 1-click launcher for high-FPS low-latency screen mirroring viascrcpy(--always-on-top --stay-awake).
- Project Folder Tracker: Bookmark Android Studio, Flutter, or React Native project root directories.
- Auto-Detect Built APKs: Automatically scans Gradle and Flutter build output folders (
build/outputs/apk/...,build/app/outputs/flutter-apk/...) for compiled.apkfiles. - Per-Project Inline Actions: Each project card carries its own Build, Clean, Install, Open Folder, and Remove buttons — no need to select a project first via a separate global panel.
- 1-Click Install: Single-click button to push and launch newly compiled builds on the target device.
- Drag & Drop APK Target: Drag any
.apkfile into the app interface to install immediately.
- Storage Directory Explorer: Interactive file browser for
/sdcard/Download,/sdcard/DCIM, and system folders. - Push File to Phone: Push any local file from PC directly to target device directories.
- Pull File to PC: Download files and logs from phone to your computer with 1 click.
- Ultra-Fast Screenshot Capture: Full-resolution PNG capture via direct stdout stream decoding.
- Copy Image to Clipboard: Direct 1-click button to copy screenshots straight to the Windows system clipboard (for pasting into Slack, Figma, Discord, GitHub, or docs).
- Folder Manager: Saves timestamped PNGs to your custom picture folder.
- Screen Recorder: Record screen videos up to 60s and pull
.mp4files directly to your PC.
- Integrated Terminal Console: Execute custom ADB CLI and shell commands directly in the app.
- Pre-loaded Snippets Dropdown: 1-click execution of favorite developer commands (Current Active Focus Window, Installed Package Count, Battery Dump, Running Services).
- True Real-Time Streaming: A persistent
adb logcat -v threadtimeprocess is tailed in the background and polled incrementally by sequence number — no re-fetching or duplicate lines, unlike a naive polling loop. - Structured Table View: Parsed columns for
TIME,LEVEL,PID,TID,TAG, andMESSAGE, color-coded by severity, instead of a flat text dump. - Filtering: Multi-select Verbose/Debug/Info/Warning/Error/Fatal level checkboxes, tag substring filter, and per-package filter (resolved to live PIDs).
- Search: Live substring or regular-expression search with match highlighting.
- Pause / Resume, Clear, and Export: Freeze the view without losing buffered logs, wipe the device + in-app buffer, or export the currently filtered lines to a file.
- Saved & Recent Filters: Name and reload filter presets, or reapply a recent search from the sidebar.
- Pop Out to a Second Window: Open a focused, sidebar-free Logcat-only window that shares the same live stream as the main window.
- Package Shortcuts:
- 🧹 Clear App Data (
adb shell pm clear <pkg>) - 🛑 Force Stop App (
adb shell am force-stop <pkg>) - 🔑 Grant All Permissions (
adb shell pm grant <pkg> ...) - 🗑️ Uninstall App (
adb uninstall <pkg>)
- 🧹 Clear App Data (
- Deep Link / Intent Launcher: Enter custom URIs (
myapp://profile?id=1024) to trigger deep links instantly without manual terminal commands.
- Show Layout Bounds: Toggle screen layout clip bounds, margins, and padding (
debug.layout). - Pointer Touchpoints: Toggle touch position overlays.
- Stay Awake: Keep screen awake while connected via USB.
- DPI Changer: Change display density on the fly (e.g. 320, 420, 480 DPI) to test UI responsiveness across screen sizes.
- Hardware Diagnostics: View live battery level, storage free, OS version, resolution, and model info.
- Python 3.10+
- Android Debug Bridge (
adb) installed and available in systemPATH(included with Android SDK platform-tools).
-
Clone or Download Repository:
git clone https://github.com/your-username/adb-developer-studio.git cd adb-developer-studio -
Install Required Python Packages:
pip install pywebview Pillow
-
Launch the Application:
- On Windows: Double-click
run_adb_studio.bator run:python main.py
- On Windows: Double-click
adb-developer-studio/
├── main.py # PyWebView window host & Python-to-JS bridge API
├── adb_manager.py # Core ADB execution engine & binary screenshot decoder
├── dev_projects_manager.py # Scans dev folders for built APK files
├── storage_manager.py # Persistent storage for recent devices & project paths
├── run_adb_studio.bat # 1-click Windows launcher script
├── README.md # Project documentation
├── .gitignore # Git ignore rules
└── web/ # HTML5 / CSS3 / JS Frontend
├── index.html # Developer workspace shell
├── css/
│ └── styles.css # Glassmorphic cyber-dark studio design system
└── js/
└── app.js # Frontend controller & clipboard bridge
Distributed under the MIT License. See LICENSE for more information.