adb (Android Debug Bridge) is the command-line tool that talks to an Android device from your computer. Every lab note on this site and most head-unit guides start with adb shell, so this is the one setup step you cannot skip. This guide installs adb and checks that it runs; connecting it to the car is a separate guide.
Before you start#
- You need a normal user account plus the ability to edit your own PATH (Windows),
sudo(Linux) or Homebrew (macOS, optional). No admin rights are needed for the manual method on any system. - The download is 8–16 MB.
adbships inside Google’s SDK Platform Tools zip; you do not need Android Studio. - Any release from the last few years does what this site needs. Prefer the current one anyway — it is the only one Google supports. At the time of writing the official zip, winget and Homebrew all give 37.0.1.
- “On PATH” below means: your terminal finds
adbfrom any folder. Ifadb versionprints a version, it is on PATH.
Windows#
Step 1 — Download and unpack#
Download platform-tools-latest-windows.zip from the official page and extract it. Move the platform-tools folder somewhere permanent, for example C:\platform-tools. Avoid Downloads — you will delete it one day.
Alternative: winget installs the same zip as a portable package and puts it on PATH for you.
winget install --id Google.PlatformTools --exactStep 2 — Add it to PATH#
Settings → System → About → Advanced system settings → Environment Variables → under User variables select Path → Edit → New → C:\platform-tools → OK. Or from PowerShell:
$p = [Environment]::GetEnvironmentVariable('Path', 'User'); [Environment]::SetEnvironmentVariable('Path', "$p;C:\platform-tools", 'User')Close and reopen the terminal — PATH changes only apply to new windows.
Step 3 — Check#
adb versionOver Wi-Fi (adb connect) no driver is needed on Windows. Over USB, Windows needs a vendor driver before a device shows up; whether and how the head unit exposes USB debugging belongs to the connection guide.
Linux#
Step 1 — Install from your distribution, or the official zip#
| Distribution | Command | Version shipped (checked 26 Aug 2026) |
|---|---|---|
| Ubuntu 24.04 | sudo apt install adb |
34.0.4 |
| Debian 13 | sudo apt install adb |
34.0.5 |
| Debian 12 | sudo apt install adb |
29.0.6 — old; use the zip |
| Fedora | sudo dnf install android-tools |
current |
| Arch | sudo pacman -S android-tools |
37.0.0 |
Distribution packages put adb on PATH for you. For the current Google build instead:
curl -LO https://dl.google.com/android/repository/platform-tools-latest-linux.zip
unzip platform-tools-latest-linux.zip -d ~/.local
echo 'export PATH="$HOME/.local/platform-tools:$PATH"' >> ~/.bashrcUse ~/.zshrc if your shell is zsh, then open a new terminal.
Step 2 — USB permissions (USB only)#
Over Wi-Fi nothing else is needed. Over USB, Linux needs a udev rule that lets your user open the device. Debian and Ubuntu’s adb package installs the rules; you only need to be in the plugdev group:
sudo usermod -aG plugdev $USERLog out and back in. The zip install ships no udev rules — writing one needs the head unit’s USB vendor ID, which is in the connection guide.
Step 3 — Check#
adb versionmacOS#
Step 1 — Install with Homebrew, or the official zip#
brew install --cask android-platform-toolsOr manually:
curl -LO https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
unzip platform-tools-latest-darwin.zip -d ~/.local
echo 'export PATH="$HOME/.local/platform-tools:$PATH"' >> ~/.zshrcOpen a new terminal afterwards. If you downloaded the zip with a browser rather than curl, macOS quarantines it and the first run is blocked with “adb cannot be opened because the developer cannot be verified”. Clear the flag:
xattr -dr com.apple.quarantine ~/.local/platform-toolsHomebrew installs are not affected.
Step 2 — Check#
adb versionCheck that it runs — all systems#
adb version
adb devicesadb version from the Windows machine this guide was written on (install path shortened):
Android Debug Bridge version 1.0.41
Version 37.0.0-14910828
Installed as C:\…\platform-tools\adb.exe
Running on Windows 10.0.26200adb devices starts a background server on first use (you may see * daemon not running; starting now at tcp:5037) and then lists connected devices:
List of devices attachedAn empty list is the correct result at this point — nothing is connected yet. Once you connect to the car, one line per device appears, ending in device (ready), unauthorized (accept the prompt on the device) or offline.
If it doesn’t work#
adb: command not foundor “‘adb’ is not recognized” — PATH was not applied. Open a new terminal. Thenwhere.exe adb(Windows) orwhich adb(Linux, macOS) shows what the shell found, if anything.adb server version (41) doesn't match this client— two differentadbbuilds on the machine, usually one from Android Studio’s SDK and one from this guide. Runadb kill-server, then make sure PATH lists only the one you want;adb versionprints which file is running under Installed as.- macOS: “cannot be opened because the developer cannot be verified” — the quarantine flag; see the
xattrcommand above. - Linux:
no permissions (user in plugdev group; are your udev rules wrong?)— USB only. Add yourself toplugdevand log out and in; with a zip install, add a udev rule for the device. - Windows: USB device never appears in
adb devices— a driver problem, not anadbproblem. Use Wi-Fi, or install the vendor driver described in the connection guide. unauthorized— the device is waiting for you to accept the “Allow USB debugging?” prompt on its screen.
What we tested#
The Windows steps and both outputs above are from a Windows 11 machine (build 26200) running platform-tools 37.0.0 from the official zip, 26 Aug 2026. The Linux and macOS steps are written from the official release page, the Homebrew cask and the distribution package indexes, all checked on 26 Aug 2026 — they have not yet been run by us on a Linux or macOS machine. Connecting to the head unit was not part of this test.