NIXX/DEVv1.16.0
ArticlesFavorites
Sign In
Sign In
Articles

Welcome to our blog

A curated collection of insightful articles, practical guides, and expert tips designed to simplify your workflow

Cover image for: ADB Commands: How to Install and Use Android Debug Bridge Without Android Studio (2026)
September 10, 20268 MIN READ min readBy ℵi✗✗

ADB Commands: How to Install and Use Android Debug Bridge Without Android Studio (2026)

A practical guide to installing Android Debug Bridge on Windows, macOS, and Linux, connecting a phone, and running the ADB commands you'll actually use.

beginnerandroiddeveloper tools
ℵi✗✗

ℵi✗✗

Full-Stack Developer

Passionate about building tools and sharing knowledge with the developer community.

Was this helpful?

Popular Posts

  • Is Your Android Device ARM or ARM64? Here’s How to Check (2026 Guide)

    Is Your Android Device ARM or ARM64? Here’s How to Check (2026 Guide)

    4 MIN READ min read

  • NixOS vs. Arch Linux: Which One Belongs in Your Dev Setup?

    NixOS vs. Arch Linux: Which One Belongs in Your Dev Setup?

    5 MIN READ min read

  • How to Enable HTTPS on Localhost in Under 2 Minutes

    How to Enable HTTPS on Localhost in Under 2 Minutes

    3 MIN READ min read

  • Array Destructuring in PHP: A Practical Guide for Modern Developers

    Array Destructuring in PHP: A Practical Guide for Modern Developers

    5 MIN READ min read

DID I? logoDid you lock the gate?
Take your meds? Park the car?
Stop second-guessing.
Log it in 5 seconds.
Free · No account neededDownload free on AndroidWorks offline · Private by design

Topics

webdev33productivity16cybersecurity12javascript11automation10guide8react8typescript8android6next.js6node.js6php6tutorial6freelancing5github actions5
+149 more topics →

Installing an APK from the terminal, pulling files off a phone, checking system logs, or opening a shell directly on an Android device all come back to the same tool: ADB, short for Android Debug Bridge.

The name makes it sound more complicated than it is.

You don't need Android Studio, Gradle, or a full Android development environment to use it. Google ships ADB as part of a standalone package called Android SDK Platform-Tools, and once it's installed, a handful of terminal commands are enough to communicate directly with a device.

This guide covers how ADB works, how to install it on Windows, macOS, and Linux, how to connect a phone, and the commands you'll reach for most often.

What this covers:

  • What ADB is and how its three components fit together

  • Installing Platform-Tools on Windows, macOS, and Linux

  • Enabling USB debugging and connecting a device

  • The most useful ADB commands, including wireless debugging

  • Common connection problems and how to fix them


What Is ADB?

Android Debug Bridge (ADB) is a command-line tool that lets a computer communicate with an Android device. It can be used to:

  • Install and uninstall APK files

  • Copy files between a computer and a phone

  • Open a shell on an Android device

  • View system logs

  • Inspect installed packages

  • Run commands on a phone

  • Reboot the device

  • Capture screenshots

  • Connect to Android devices wirelessly

  • Debug Android applications

ADB is included in Google's Android SDK Platform-Tools package, which can be downloaded separately without installing Android Studio.

Download Android SDK Platform-Tools from Google

How ADB Actually Works

Before running commands, it helps to know what's happening behind the scenes. ADB has three main components.

The ADB Client

This is the adb command run from a terminal, for example:

adb devices

The client receives the command and sends it to the ADB server.

The ADB Server

The server runs in the background on the computer and manages communication with connected Android devices. By default, it listens on TCP port 5037. It doesn't need to be started manually: running any ADB command starts the server automatically if it isn't already running.

The ADB Daemon

The device runs a background process called adbd. This is the component that actually receives and executes ADB commands on Android.

The basic flow looks like this:

Terminal
   ↓
ADB client
   ↓
ADB server
   ↓
adbd on Android
   ↓
Phone

That's the entire concept: a bridge between a computer and an Android device.

What You Need

  • An Android phone or tablet

  • A USB data cable

  • A computer

  • Android SDK Platform-Tools

  • USB debugging enabled on the Android device

Android Studio is not required. Google provides standalone Platform-Tools packages for Windows, macOS, and Linux.

Step 1: Install ADB

Windows

Download the Windows version of Android SDK Platform-Tools and extract it somewhere convenient, for example:

C:\platform-tools

Then add that directory to the Windows PATH:

  1. Press the Windows key.

  2. Search for environment variables.

  3. Open Edit the system environment variables.

  4. Click Environment Variables.

  5. Under either User Variables or System Variables, select Path.

  6. Click Edit.

  7. Click New.

  8. Add C:\platform-tools.

  9. Open a new PowerShell or Windows Terminal window.

Test it:

adb version

If everything is configured correctly, Windows displays the installed ADB version. On some devices, an OEM USB driver is also needed before ADB can detect the phone.

macOS

Download the official Platform-Tools archive, or install ADB through Homebrew:

brew install android-platform-tools

Verify with:

adb version

If Platform-Tools was extracted manually to ~/platform-tools, add it to the PATH:

echo 'export PATH="$PATH:$HOME/platform-tools"' >> ~/.zshrc
source ~/.zshrc

Then confirm:

adb version

Linux

Download and extract the Linux Platform-Tools archive, for example:

mkdir -p ~/platform-tools

Extract the archive into that directory, then add it to the PATH:

echo 'export PATH="$PATH:$HOME/platform-tools"' >> ~/.bashrc
source ~/.bashrc

Check the installation:

adb version

On Ubuntu and several other distributions, additional USB permissions may be required before a device is detected. Google recommends setting up the appropriate udev rules and, on Ubuntu, adding the user account to the plugdev group.

Step 2: Enable USB Debugging on Android

ADB cannot access a phone just because a USB cable is connected. Android requires debugging to be enabled explicitly.

First, enable Developer options by opening Settings → About phone → Build number, then tapping Build number seven times. On some devices, this setting is located under Settings → About phone → Software information → Build number instead. After the required number of taps, Android confirms that Developer options have been enabled.

Go back to Settings, open Developer options, and enable USB debugging. The exact menu location varies between manufacturers and Android versions.

Step 3: Connect Your Phone

Connect the Android phone to the computer with a USB data cable, then run:

adb devices

The first connection triggers an authorization prompt on the phone asking whether to trust the computer. Accept it, then run the command again:

adb devices

The output should look similar to this:

List of devices attached
9A141FFAZ0036    device

The word device confirms that ADB can communicate with the phone. If it says unauthorized instead, unlock the phone and accept the USB debugging prompt. If no devices appear at all, see the troubleshooting section below.

The Most Useful ADB Commands

Once the phone is connected, this is where ADB becomes useful.

Check Connected Devices

adb devices

This is usually the first command to run. For more detail:

adb devices -l

The -l option displays additional device information.

Install an APK

To install an APK directly:

adb install app.apk

Or specify the full path:

adb install ~/Downloads/app.apk

On Windows:

adb install C:\Users\YourName\Downloads\app.apk

This is particularly useful when testing an Android build directly from a computer.

Uninstall an App

With a known package name:

adb uninstall com.example.app

For example:

adb uninstall com.facebook.katana

Installed package names can be found with:

adb shell pm list packages

To search for a specific package on macOS or Linux:

adb shell pm list packages | grep facebook

On Windows PowerShell:

adb shell pm list packages | Select-String facebook

Push Files to Your Phone

adb push copies files from a computer to an Android device:

adb push ~/Downloads/podcast.mp3 /sdcard/Music/

Or an image:

adb push photo.jpg /sdcard/Pictures/

Pull Files From Your Phone

adb pull does the opposite:

adb pull /sdcard/DCIM/Camera/IMG_001.jpg ~/Desktop/

An entire directory can be pulled the same way:

adb pull /sdcard/DCIM/Camera ~/Desktop/Camera

Open an Android Shell

One of the most powerful ADB commands opens a shell directly on the device:

adb shell

From there, standard commands work as expected:

ls
pwd
df -h

Leave the shell with:

exit

A single command can also be run without opening an interactive shell:

adb shell df -h

Or:

adb shell getprop

View Android Logs

ADB can stream system logs in real time using logcat:

adb logcat

To see only error-level messages:

adb logcat *:E

This is especially useful when troubleshooting an app that crashes or behaves unexpectedly. Stop the stream with Ctrl + C.

Reboot Your Phone

Restart the device:

adb reboot

Reboot into recovery:

adb reboot recovery

Or into bootloader/fastboot mode:

adb reboot bootloader

Note: ADB itself is relatively safe, but commands performed after entering recovery or bootloader mode can modify or erase device data. Proceed carefully.

Take a Screenshot

Capture a screenshot directly from the device:

adb exec-out screencap -p > screenshot.png

This saves the image to the computer.

Record Your Screen

Record the Android screen:

adb shell screenrecord /sdcard/screen.mp4

Stop the recording with Ctrl + C, then copy it to the computer:

adb pull /sdcard/screen.mp4

Using ADB With Multiple Devices

If more than one Android device is connected, ADB may respond with:

error: more than one device/emulator

List the connected devices:

adb devices

Then target a specific one by its serial number:

adb -s 9A141FFAZ0036 shell

The same -s option works with other commands:

adb -s 9A141FFAZ0036 install app.apk

This becomes especially useful when working with multiple phones or emulators at once.

Use ADB Over Wi-Fi

A USB cable isn't always necessary. Modern Android versions support wireless debugging, which lets ADB communicate with a device over Wi-Fi.

On supported devices, open Settings → Developer options → Wireless debugging, enable it, and use Android's pairing option. From the computer, pair using:

adb pair IP_ADDRESS:PAIRING_PORT

Enter the pairing code displayed on the phone. After pairing, connect to the device:

adb connect IP_ADDRESS:PORT

Then verify:

adb devices

The wireless device should now appear in the list. This setup is particularly convenient when repeatedly installing and testing an app, since it removes the need to keep a cable connected.

Useful ADB Commands at a Glance

Command

What it does

adb devices

List connected devices

adb devices -l

List devices with additional information

adb install app.apk

Install an APK

adb uninstall PACKAGE

Uninstall an app

adb push FILE PATH

Copy files to Android

adb pull PATH FILE

Copy files from Android

adb shell

Open an Android shell

adb shell COMMAND

Run a shell command

adb logcat

View Android logs

adb reboot

Restart the device

adb reboot recovery

Reboot into recovery

adb reboot bootloader

Reboot into bootloader

adb exec-out screencap -p > screenshot.png

Capture a screenshot

adb shell screenrecord PATH

Record the screen

adb pair IP:PORT

Pair with a device wirelessly

adb connect IP:PORT

Connect to a wireless device

adb kill-server

Stop the ADB server

adb start-server

Start the ADB server

Common ADB Problems

ADB is generally straightforward once configured, but connection issues are common.

adb: command not found

The computer can't find the ADB executable. Check the installation:

adb version

If that fails, confirm the Platform-Tools directory is in the PATH, or run ADB directly from its folder:

./adb devices

The Device Says unauthorized

Run:

adb devices

If the output shows:

XXXXXXXX    unauthorized

unlock the phone, accept the USB debugging authorization prompt, and run adb devices again.

No Devices Are Listed

Check that:

  • USB debugging is enabled

  • The phone is unlocked

  • The cable is a data-capable USB cable, not charge-only

  • The USB connection itself is working

  • The correct USB driver is installed on Windows, if required

  • The Linux user account has the required USB permissions

Then restart the ADB server:

adb kill-server
adb start-server
adb devices

error: protocol fault

This usually indicates a stale or broken ADB connection. Restart the server:

adb kill-server
adb start-server

Then reconnect the phone and try adb devices again.

more than one device/emulator

ADB found multiple targets. Specify the one to use:

adb -s DEVICE_SERIAL shell

Find the serial number with adb devices.

ADB Isn't Just for Android Developers

ADB is often introduced as a developer tool, but building Android applications isn't a requirement for finding it useful. It helps with:

  • Sideloading APKs

  • Moving files between devices

  • Troubleshooting Android problems

  • Collecting crash logs

  • Automating repetitive Android tasks

  • Testing applications

  • Inspecting installed packages

  • Capturing screenshots and screen recordings

  • Connecting to Android devices wirelessly

Because ADB is command-line based, it can also be scripted. Combining ADB commands with shell scripts and other tools turns a manual, repetitive task into an automated one.

ADB vs Android Studio

These aren't competing options. Android Studio is a complete development environment: an editor, debugger, emulator, Gradle integration, profiling tools, and more. ADB is simply a command-line communication tool.

For communicating with a phone from a terminal, Platform-Tools alone is enough. For building Android applications, Android Studio uses the ADB installation bundled with the Android SDK.

Key Takeaways

  • ADB (Android Debug Bridge) works without Android Studio through the standalone Platform-Tools package

  • It has three components: the client on the computer, the server running in the background, and the adbd daemon on the device

  • USB debugging must be enabled in Developer options before a device will connect

  • Core commands cover installing and uninstalling apps, pushing and pulling files, viewing logs, and opening a shell

  • Wireless debugging removes the need for a USB cable once a device has been paired

  • Most connection problems are fixed by restarting the ADB server or re-authorizing the device

Conclusion

ADB looks intimidating at first mostly because Google's documentation is written with Android development workflows in mind. The underlying concept is simple: a computer runs the ADB client and server, an Android device runs adbd, and once USB debugging is enabled and the device is authorized, the two can talk to each other.

Start with the basics: adb devices, adb shell, adb push, adb pull, adb install, and adb logcat cover most day-to-day needs. Everything else can be looked up as it comes up.

That's the real advantage of ADB: direct command-line access to an Android device without a full IDE sitting in between.

Frequently Asked Questions

Do you need Android Studio to use ADB? No. ADB is included in Android SDK Platform-Tools, which Google distributes as a standalone package.

Is ADB available on Windows, Mac, and Linux? Yes. Google provides Platform-Tools packages for all three.

Is ADB safe to use? ADB is a legitimate Android debugging interface. Enabling USB debugging gives an authorized computer additional access to the device, so only trusted computers should be authorized.

Can ADB be used without root? Yes. Most common ADB commands work on ordinary, non-rooted devices. Some operations require elevated privileges or are restricted by Android's security model.

Can ADB work over Wi-Fi? Yes. Supported Android devices can use wireless debugging to pair and connect without a USB cable.

What's the difference between ADB and Fastboot? ADB communicates with Android while the operating system is running. Fastboot communicates with the device's bootloader, typically for flashing system images or other bootloader-level operations.


Have a specific ADB error that isn't covered here? Drop the exact message in the comments and I'll help track it down.

Topics
beginnerandroiddeveloper tools
Interserver Hosting#1 VALUEAffordable, reliable hosting from $2.50/mo99.9% uptimeSponsored

Discussion

Join the discussion

Sign in to share your thoughts and engage with the community.

Sign In
Loading comments…

Continue Reading

More Articles

View all
Cover image for: React Authentication with JWT: A Step-by-Step Guide
Oct 17, 20257 MIN READ min read

React Authentication with JWT: A Step-by-Step Guide

Learn how to implement secure JWT authentication in React. From login to route protection and API calls, this guide covers everything you need to know.

Cover image for: What Is Identity Theft (and How to Protect Yourself Online)
Nov 17, 20256 MIN READ min read

What Is Identity Theft (and How to Protect Yourself Online)

Identity theft can happen to anyone — often without you even realizing it. Learn what it means, how it happens, and the smart steps you can take today to keep your personal information safe online.

Cover image for: AI for DevOps: Tools That Are Already Changing the Game
Jun 17, 20256 MIN READ min read

AI for DevOps: Tools That Are Already Changing the Game

How artificial intelligence is transforming CI/CD pipelines, monitoring, and incident response—today.

Cover image for: Best Web Hosting of 2026 (Honest Picks From Real-World Use)
Jan 1, 20267 MIN READ min read

Best Web Hosting of 2026 (Honest Picks From Real-World Use)

Choosing the right web hosting in 2026 isn't just about price. A breakdown of the best providers, focusing on reliability, performance, and support.

|Made with · © 2026|TermsPrivacy
AboutBlogContact

Free, open-source tools for developers and creators · Community driven