Error Code: cannot bind listener: cannot bind to 127.0.0.1:5037: Address already in use

How to Fix ADB Server Cannot Bind / Port 5037 Collisions

Resolve socket binding conflicts and third-party software hijacking ADB port 5037.

Common Symptoms

  • ADB fails to start with "Address already in use" or "cannot bind listener: 5037"
  • ADB server crashes repeatedly during command execution

Root Causes

  • Third-party phone assistant software (Samsung Smart Switch, HTC Sync, Wondershare, Vysor) running competing ADB daemons
  • Stuck or orphaned adb.exe background process on host

Proven Solutions

Solution 1: Terminate Stale ADB Processes

  1. On Windows: Open Task Manager, end all tasks named `adb.exe`
  2. On macOS/Linux: Run `killall adb` or `pkill -f adb`
  3. Restart ADB: `adb start-server`
adb kill-server
adb start-server

Solution 2: Change ADB Server Port

Run ADB on an alternate port by setting environment variable `ADB_SERVER_SOCKET`.

  1. Set `export ADB_SERVER_SOCKET=tcp:localhost:5038` (or `$env:ADB_SERVER_SOCKET="tcp:localhost:5038"` in PowerShell)
  2. Run `adb start-server`