Documentation · v0.0.7

Everything you need
to run ADB Studio.

Install, connect a device, mirror the screen, forward ports, manage apps. A complete reference for the macOS-native GUI for adb.

Getting started

ADB Studio is a native SwiftUI app for macOS. It's a full GUI on top of the Android Debug Bridge — no more memorising commands, no more terminal juggling. It talks to your Android devices over USB or your local network.

Requirements

  • macOS 14.0 (Sonoma) or later
  • adb installed on your Mac via one of :
    • Android Studio
    • Homebrew: brew install android-platform-tools
    • Manual install at ~/Library/Android/sdk/platform-tools

Install via Homebrew

The fastest and recommended way. The cask is maintained in a dedicated tap.

$ brew install --cask zaphkiel-ivanovna/tap/adb-studio

To upgrade later:

$ brew upgrade --cask adb-studio

Install via DMG

Download the latest DMG or ZIP from the releases page.

  • DMG — open and drag ADB-Studio.app to your Applications folder
  • ZIP — extract and move ADB-Studio.app to your Applications folder
First launch

The app is not yet notarised. macOS Gatekeeper may block the first run. Two ways to open it :

  • Right-click ADB-Studio.appOpenOpen
  • Or clear the quarantine attribute in Terminal:
$ xattr -cr /Applications/ADB-Studio.app

Build from source

Requires Xcode 15 or later with the macOS 14 SDK.

$ git clone https://github.com/Zaphkiel-Ivanovna/adb-studio.git
$ cd adb-studio
$ xcodebuild -scheme "ADB-Studio" -configuration Release build

Or open the project directly in Xcode :

$ open ADB-Studio.xcodeproj

Connect a device

Via USB

  1. Enable Developer Options on your Android device
  2. Inside Developer Options, enable USB Debugging
  3. Connect the device to your Mac with a USB cable
  4. Approve the RSA fingerprint prompt on the device when it appears
  5. The device shows up automatically in the ADB Studio sidebar

Via WiFi (wireless debugging)

  1. Enable Wireless Debugging in Developer Options on your Android device
  2. In ADB Studio, click Connect via WiFi or press ⌘K
  3. Scan — devices advertising over mDNS/Bonjour appear automatically
  4. Pair — first time only: enter the 6-digit pairing code shown on the device
  5. Connect — the device is remembered and reconnects automatically next time

Devices are discovered via the _adb-tls-connect._tcp mDNS service. Make sure the Mac and the Android device are on the same Wi-Fi network and that your network allows multicast.

Screen mirroring

Stream and control any connected Android device from your Mac, in a dedicated window with its own decoder.

  1. Select a connected device in the sidebar
  2. Open the Mirror tab
  3. Click Open Mirror Window — a dedicated window opens with the live device screen
  4. Use your mouse for taps, drags and scrolls. Your keyboard sends key events and text input

Multiple devices can be mirrored in parallel — one window per session, one decoder per session.

Mirroring is powered by scrcpy 3.3.4. The server binary and its Apache License 2.0 notice are embedded in the app bundle.

Port forwarding

Expose any TCP port between your Mac and the device — perfect for React Native, Expo, Metro, local APIs or remote debuggers.

  1. Select a connected device
  2. Open the Ports section
  3. Click Add Port
  4. Enter the port number (e.g. 8081 for Metro)

The reverse tunnel is created automatically. Toggle forwards on and off without remembering the adb reverse flags.

APK installation

  1. Select a connected device
  2. Drag and drop an APK file onto the drop zone, or click to open a file picker
  3. The installation progress is shown in real time
  4. Cancel at any point — the install process is terminated cleanly

Installs to one device or broadcasts to every connected target at once. Signed or unsigned — both are accepted.

App management

Browse, search and manage every app on the device. No more hunting for package names.

  1. Select a connected device
  2. Expand the Installed Apps section
  3. Filter by User Apps, System, All or Disabled
  4. Search by app name or package identifier
  5. Click the menu on any row for :
    • Launch — open the app on the device
    • Force Stop — stop a running app
    • Uninstall — remove the app (with confirmation)
    • Uninstall (keep data) — remove the app but preserve user data
    • Disable / Enable — toggle without uninstalling
    • App Settings — open the system settings page for that app

System apps cannot be uninstalled on production devices, but they can be disabled.

Keyboard shortcuts

ShortcutAction
⌘RRefresh devices
⌘KConnect via WiFi
⌘,Open settings

Tech stack

  • Language — Swift 5.9+
  • UI framework — SwiftUI
  • Target — macOS 14 (Sonoma) or later
  • Architecture — MVVM with dependency injection
  • Device discovery — mDNS / Bonjour via the Network framework
  • Mirroring — scrcpy 3.3.4 server embedded in the bundle

Project structure

ADB-Studio/
├── App/
│   ├── ADB_StudioApp.swift       # App entry point
│   └── DependencyContainer.swift # DI container
├── Models/
│   ├── Device.swift
│   ├── DeviceConnection.swift
│   ├── PortForward.swift
│   ├── InstalledApp.swift
│   └── ADBError.swift
├── Services/
│   ├── ADB/                      # ADB command execution
│   ├── Device/                   # Device management
│   ├── Discovery/                # mDNS discovery
│   ├── Media/                    # Screenshot service
│   └── Shell/                    # Process execution
├── ViewModels/
│   ├── DeviceDetailViewModel.swift
│   └── InstalledAppsViewModel.swift
└── Views/
    ├── Main/
    ├── DeviceList/
    ├── DeviceDetail/
    ├── Connection/
    ├── PortForward/
    ├── APKInstaller/
    ├── InstalledApps/
    ├── Tools/
    └── Settings/

Contributing

Contributions are very welcome. To submit a change :

  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 : git push origin feature/amazing-feature
  5. Open a pull request

Bug reports and feature requests belong in the issue tracker.

License

ADB Studio is released under the MIT License. Read the full text in LICENSE.

The embedded scrcpy server is licensed under the Apache License 2.0.

← Back to home