Home Features Getting Started Pricing Dictionaries Feedback
Core Module

Device Manager

Automatic ADB device discovery with connection monitoring, TTL caching, emulator detection, and seamless device selection for install operations.

Introduction

Device Manager is the foundation of ADB Pro. It handles ADB device discovery, connection monitoring, and device selection so that every other module — AAB Tools, Build Tools, Signing Tools — can install APKs and target devices without manual configuration. Instead of hunting for the ADB binary or running adb devices in a terminal, Device Manager automatically locates ADB, polls for connected devices with intelligent TTL caching, and provides a clean, always-current device list.

Both physical hardware and emulators are supported. Device Manager distinguishes between the two, displays detailed device metadata (model, Android version, API level, connection state), and remembers your device preferences across sessions. When a device disconnects mid-operation, Device Manager handles the event gracefully rather than surfacing cryptic ADB errors.


Why Use Device Manager?

Managing ADB and connected devices manually introduces friction that compounds over time:


Features

ADB Path Auto-Discovery

Device Manager locates the ADB binary without any manual configuration. It checks multiple sources in a defined resolution order and uses the first valid binary found. If multiple ADB versions are detected, the most recent one is preferred. The 7-step resolution order is:

ADB path resolution order
# Device Manager checks these locations in order:

1. $ANDROID_HOME/platform-tools/adb
2. $ANDROID_SDK_ROOT/platform-tools/adb
3. IDE Android SDK path (Settings > Android SDK)
4. ~/Library/Android/sdk/platform-tools/adb    (macOS)
5. %LOCALAPPDATA%\Android\Sdk\platform-tools\adb.exe (Windows)
6. ~/Android/Sdk/platform-tools/adb            (Linux)
7. System PATH (which adb / where adb)

# First valid binary found is used.
# Override with a custom path in settings if needed.

Device Listing with Status

The device list shows every connected device with its serial number, model name, Android version, API level, and connection state (device, unauthorized, offline, no permissions). Devices in the unauthorized state are flagged with a prompt to accept the USB debugging authorization on the device itself. Offline and disconnected devices are grayed out but remain visible so you can track when they come back online.

TTL Caching

Polling adb devices on every UI interaction would be wasteful and slow. Device Manager caches the device list with a configurable time-to-live (TTL), defaulting to 5 seconds. Within the TTL window, device queries return instantly from cache. Once the TTL expires, the next query triggers a background refresh. The TTL is adjustable from 1 to 30 seconds in settings.

Device Selection for Install

When AAB Tools or Build Tools need to install an APK, they query Device Manager for the target device. If a single device is connected, it is selected automatically. If multiple devices are connected, Device Manager presents a chooser dialog with device details so you can pick the right target. The last-selected device is remembered for the session, so repeated installs go to the same device without prompting.

Emulator Detection

Device Manager distinguishes between physical devices and emulators by parsing the device serial number format (emulator-5554 for emulators, USB serial numbers for physical devices). Emulators are displayed with a distinct icon and show additional details like the AVD name and snapshot status. This distinction matters for install operations — some teams prefer to test on emulators during development and only deploy to physical devices for release testing.

Connection Monitoring

Device Manager runs a background listener that detects when devices are connected or disconnected. When a new device appears, the device list refreshes automatically and a notification appears in the IDE status bar. When a device disconnects mid-operation (e.g., during an APK install), the operation is paused gracefully and resumes when the device reconnects or a new device is selected.

Device Status Table

Device Serial Android API Type Status
Pixel 8 Pro 29281JEGR12345 15 35 Physical Connected
Medium Phone AVD emulator-5554 14 34 Emulator Connected
Samsung Galaxy S24 R5CX30ABXYZ 14 34 Physical Unauthorized
Pixel Tablet AVD emulator-5556 13 33 Emulator Offline

Getting Started

Device Manager operates automatically in the background, but you can interact with it directly:

To view and select devices for install operations:

  1. Open the ADB Pro side panel and click the "Devices" tab.
  2. Connected devices appear automatically (within the TTL window). Each device shows its model, Android version, API level, and connection state.
  3. If a device shows Unauthorized, unlock the device and accept the USB debugging prompt.
  4. To select a device for install operations, either let Device Manager auto-select (when one device is connected) or click Tools > ADB Pro > Select Device... to open the chooser.
  5. The selected device is remembered for the session. Other ADB Pro modules (AAB Tools, Build Tools) will use this device automatically.

To configure Device Manager, go to Settings > Tools > ADB Pro > Device Manager. Here you can set a custom ADB binary path (overriding automatic discovery), the device list TTL in seconds (default: 5, range: 1-30), connection monitoring toggle, default device preference (physical vs. emulator), auto-select behavior when only one device is connected, and the status bar device indicator.


Verification

After setup, confirm Device Manager is working correctly:


References

Never Lose Track of Your Devices

Install ADB Pro and get automatic, intelligent device management in your IDE.

Get ADB Pro