If you've ever rooted your Android phone, you've almost certainly encountered ADB and Fastboot. These utilities are an important part of the rooting toolkit, and you can use them with non-rooted devices as well. Yet they can be difficult to understand—let alone master.

So if you're wondering what exactly ADB and Fastboot are, need help setting them up, or would like some ideas for what you can do with them, read on.

What Are ADB and Fastboot?

ADB and Fastboot are utilities that unlock access to the Android system while your phone is connected to a desktop computer via a USB cable. The computer and cable are integral to this—there's no app version, and while you can use ADB wirelessly, it's much more complicated to set up.

You normally use ADB when Android is running. It enables you to access system folders or tweak hidden settings, which are otherwise off-limits to users. You can copy system files to and from the device using ADB, uninstall bloatware, and there's also a sideload function that can be used to install system updates.

Fastboot works when Android is not running and the device is booted into "Fastboot mode" instead. It enables you to access all your device's partitions—not just the Android system, but also the data partition, the boot partition, and so on.

On Android, Fastboot is a diagnostic tool. It's essential if you need to unbrick your phone, and is most commonly used to install a custom recovery.

download android platform tools

Both tools are part of the Android software development kit's Platform Tools collection. They through the Command Prompt on Windows, or Terminal on Mac and Linux. This means they aren't especially user-friendly—there's no point-and-click interface to guide you around—although fortunately, they are quite easy to get the hang of.

How to Set Up ADB and Fastboot

To get started with ADB and Fastboot, you first need to set up your phone to use the tools. If you haven't already, enable the Developer Options by going to Settings > About phone and tapping on Build number seven times.

Then, in Settings > Developer options, check the box next to USB debugging and walk through the dialog box that follows.

download sdk platform tools

Now download ADB and Fastboot from the Android Developer website. They're included as part of the SDK Platform-Tools package. You can download the files directly for Windows, Mac, and Linux.

When you unzip the download, the contents will be collected together into a folder called platform-tools. There are several other items in the folder, but you can ignore these.

If you're using Windows, you will also need to download drivers for your device. There's a list of links for many popular manufacturers on the Android developer website. Drivers aren't needed on Mac or Linux.

Using the Command Prompt or Terminal

Open the Command Prompt or Terminal app. To use ADB and Fastboot, you need to change the path in the app to point to the platform-tools folder you downloaded. There are a few ways to do this:

  • The standard way is to use the cd command. Type cd [path to platform-tools] into the Command Prompt or Terminal window and hit Enter.
  • An easier way is to type cd[space] and then drag the platform-tools folder into the Command Prompt window—it will autofill the path for you.
  • Easier still, on Windows you can hold Shift while right-clicking in the platform-tools folder, then select Open Command Prompt Here.

Important! The Difference Between Windows and Mac/Linux

Before we continue, there's one small but essential difference between using Windows and Mac or Linux that you need to know about.

On Mac and Linux, every ADB and Fastboot command must be preceded by a dot-slash. So where you type adb on Windows, you must type ./adb on Mac and Linux. And fastboot on Windows needs to be ./fastboot on Mac and Linux.

For the sake of simplicity, we'll stick with the Windows commands going forward.

How to Use ADB

Boot your phone into Android, then connect it to your desktop computer with a USB cable. On your computer, launch the Command Prompt (or Terminal, if you're on Mac or Linux) and change the directory to point to the platform-tools folder.

Type adb devices and hit Enter. You should now see a list of attached devices, with serial numbers. This shows that it is working and your phone is connected.

android adb devices

And that's all there is to it: type adb followed by the command you wish to execute. For another simple example, enter adb reboot to restart your phone.

How to Use Fastboot

Fastboot works the same way as ADB, except you need to boot your phone into Fastboot mode instead of Android. You normally do this by holding a combination of the power and volume keys when the phone is powered off.

Alternatively, use ADB and type adb reboot bootloader.

android fastboot devices

After that it's the same. Enter fastboot devices to check that your phone is being recognized. Enter fastboot reboot to relaunch Android.

Things You Can Do With ADB and Fastboot

Now that you know how to use ADB and Fastboot, what can you do with them? Here are a few tools to try:

  • adb pull [path to file] [path to folder] This copies a file stored anywhere on your phone, and saves it to a specified folder on your computer.
  • adb push [path to file] [path to folder] The opposite of pull; send a file from your desktop to your phone.
  • adb install [path to file] Installs an APK app on your phone. This is of most use to app developers.
  • adb uninstall [package name] Uninstalls an app. You need to enter the full package name—usually something along the lines of com.devname.appname—instead of the common app name.
  • adb shell wm density [dpi] Changes the pixel density of your display. A lower number fits more content onto the screen, while a higher number will fit less. For example, older devices like the OnePlus 3 have a native DPI of 480. Setting it to 400 makes text, icons, and everything else smaller.
  • adb sideload [path to update.zip] Sideloads an update.zip firmware update. This one runs via the custom recovery on your phone. Useful if you can't wait for an update to get pushed to your device.
  • fastboot oem unlock OR fastboot flashing unlock Which command you should use depends on which version of Android you're running. From Android 6 onwards you also need to enable OEM unlocking in Developer Options. Unlocking the bootloader this way wipes your phone completely.
  • fastboot flash recovery [filename.img] Installs a custom recovery, such as TWRP, on your device. For ease of use, we suggest changing the recovery filename to something easy—twrp.img, for instance—and moving it into the platform-tools folder.
  • fastboot -w Completely wipes your phone in preparation for flashing a custom ROM.
  • fastboot update [path to rom.zip] Flashes a custom ROM. A useful option if you haven't rooted your phone.

You can also use an app like Clipper to share your computer's clipboard over ADB.

Why You Should Learn ADB and Fastboot

Obviously, the commands above are for basic guidance only. They may not all work on all devices. You should only use them if you understand what they will do and how to undo any changes that they make.

ADB and Fastboot are essential parts of the Android rooting and modding game. Learning how to use them is important and will help you make use of more advanced mods.

Having to use the Command Prompt can seem daunting at first. But it's easy to pick up—you can just copy-paste the commands if necessary—and it usually detects and connects to your phone without any problems. Then you can start experimenting.