Starting March 27, 2025, we recommend using android-latest-release instead of aosp-main to build and contribute to AOSP. For more information, see Changes to AOSP.
Stay organized with collections
Save and categorize content based on your preferences.
This page provides details for flashing Android builds onto devices using the
fastboot and adb tools. Adb lets you connect your
development workstation directly to your Android-powered device and
perform a variety of operations. Fastboot lets you install (flash) Android
and interact with the device's bootloader so you can test your OS and app
changes. For additional information on how adb works, with emphasis on app
development, see
Android Studio's Android Debug Bridge (adb) page.
If you want details on the code for adb, see the adb
README.
Verify that you have fastboot and adb
When you build Android, adb and fastboot is built by default. To confirm
the availability of adb and fastboot, run the following commands:
adb--versionfastboot--version
If you see version numbers, you have fastboot and adb installed. If you
don't see version numbers, ensure you
built Android.
successfully. Continue to
Enable your USB connection.
Enable your USB connection
Before running Android on a device, you must enable your USB connection:
Enable OEM unlocking and USB debugging in the developer options:
In the Settings app, tap About phone.
Tap Build number seven times.
When you see the message You are now a developer!, tap <-.
Tap System, then tap Developer options.
Enable OEM unlocking and USB debugging. If
OEM unlocking is unavailable, connect to the internet so the device can
check in. If that still doesn't work, you can force a check
in: In the Dialer app, enter *#*#CHECKIN#*#* (*#*#2432546#*#*)
(no SIM required). After entering the number (no need to press call),
the text disappears and a success notification appears.
If OEM unlocking remains unavailable, your device might be SIM locked by
your carrier and the bootloader can't be unlocked.
Connect your device to a USB port on your workstation.
Boot into Fastboot mode
Before Android can be flashed to a device, a device must be in Fastboot mode.
There are two ways to boot a device into Fastboot mode:
Use the adb command: From the command-line, type adb reboot bootloader.
Use a key combination:
Determine the key combination for your device. For a table of Fastboot
key combinations, see
Fastboot key combinations.
Turn the device off.
Turn the device on and immediately hold down the key combination for your
device (determined in step 1).
Unlock the bootloader
After booting into fastboot mode, you must unlock the bootloader.
To unlock the bootloader:
(Optional) Back up any important files on the device.
Run the unlock command for your device:
If you're updating a Nexus or Pixel device that is manufactured in 2015 or
later, run fastboot flashing unlock.
For Pixel 2: To flash the bootloader, verify that the Pixel 2's bootloader
is updated to at least Oreo MR1's version. To update to a Pixel 2 to this
version, apply the over-the-air (OTA) update or sideload a
full OTA.
For Pixel 2 XL only with loader version prior to TMZ20a: The critical
partitions might need to be unlocked before flashing. To unlock the
critical partitions on Pixel 2 XL only, run
fastboot flashing unlock_critical.
If you're unlocking a pre-2015 device, run fastboot oem unlock.
The target device displays a confirmation screen.
Confirm that you want to erase all user data and unlock the device.
Flash a device
You can flash an entire Android system in a single command. Flashing an entire
system with a single command verifies that the system being flashed is
compatible with the installed bootloader and radio, writes the boot, recovery,
and system partitions together, and reboots the system.
To flash a device:
Place the device in fastboot mode by holding the appropriate
key combination at boot or using the following command:
adbrebootbootloader
After the device is in fastboot mode, run:
fastbootflashall-w
The -w option wipes the /data partition on the device, which is useful
for your first time flashing a particular device.
Re-locking the bootloader
To re-lock the bootloader:
For 2015 or later devices, run the command fastboot flashing lock
For 2014 or earlier devices, run the command fastboot oem lock
Restore device to factory state
Factory images for Google devices are available from
Factory Images for Nexus and Pixel Devices.
Factory images for the Motorola Xoom are distributed directly by Motorola.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-06-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-26 UTC."],[],[],null,["# Flash with Fastboot\n\nThis page provides details for flashing Android builds onto devices using the\n*fastboot* and *adb* tools. Adb lets you connect your\ndevelopment workstation directly to your Android-powered device and\nperform a variety of operations. Fastboot lets you install (flash) Android\nand interact with the device's bootloader so you can test your OS and app\nchanges. For additional information on how adb works, with emphasis on app\ndevelopment, see\n[Android Studio's Android Debug Bridge (adb) page](https://developer.android.com/studio/command-line/adb).\nIf you want details on the code for adb, see the adb\n[README](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/adb/README.md).\n| **Note:** Google provides an additional flash tool, called [*Android Flash Tool*](/docs/setup/test/flash), that is intended for use only with prebuilt builds.\n| **Note:** Fastboot is also the name of a bootloader module and mode.\n\nVerify that you have fastboot and adb\n-------------------------------------\n\nWhen you build Android, adb and fastboot is built by default. To confirm\nthe availability of adb and fastboot, run the following commands: \n\n adb --version\n fastboot --version\n\nIf you see version numbers, you have fastboot and adb installed. If you\ndon't see version numbers, ensure you\n[built Android](/docs/setup/build/building).\nsuccessfully. Continue to\n[Enable your USB connection](#enable-usb).\n\nEnable your USB connection\n--------------------------\n\nBefore running Android on a device, you must enable your USB connection:\n\n1. Enable OEM unlocking and USB debugging in the developer options:\n\n 1. In the Settings app, tap **About phone**.\n 2. Tap **Build number** seven times.\n 3. When you see the message **You are now a developer!** , tap **\\\u003c-**.\n 4. Tap **System** , then tap **Developer options**.\n 5. Enable **OEM unlocking** and **USB debugging** . If OEM unlocking is unavailable, connect to the internet so the device can check in. If that still doesn't work, you can force a check in: In the Dialer app, enter **\\*#\\*#CHECKIN#\\*#\\*** (\\*#\\*#2432546#\\*#\\*) (no SIM required). After entering the number (no need to press call), the text disappears and a success notification appears.\n\n If OEM unlocking remains unavailable, your device might be SIM locked by\n your carrier and the bootloader can't be unlocked.\n2. Connect your device to a USB port on your workstation.\n\nBoot into Fastboot mode\n-----------------------\n\nBefore Android can be flashed to a device, a device must be in Fastboot mode.\nThere are two ways to boot a device into Fastboot mode:\n\n- Use the `adb` command: From the command-line, type `adb reboot bootloader`.\n- Use a key combination:\n 1. Determine the key combination for your device. For a table of Fastboot key combinations, see [Fastboot key combinations](/docs/setup/reference/fastboot-keys).\n 2. Turn the device off.\n 3. Turn the device on and immediately hold down the key combination for your device (determined in step 1).\n\nUnlock the bootloader\n---------------------\n\nAfter booting into fastboot mode, you must unlock the bootloader.\n| **Warning:** For privacy reasons, unlocking the bootloader deletes user data. After unlocking, all data on the device is erased, including both private app data and shared data accessible over USB (including photos and movies).\n\nTo unlock the bootloader:\n\n1. (Optional) Back up any important files on the device.\n2. Run the unlock command for your device:\n\n - If you're updating a Nexus or Pixel device that is manufactured in 2015 or later, run `fastboot flashing unlock`.\n - For Pixel 2: To flash the bootloader, verify that the Pixel 2's bootloader is updated to at least Oreo MR1's version. To update to a Pixel 2 to this version, apply the over-the-air (OTA) update or sideload a [full OTA](https://developers.google.com/android/ota).\n - For Pixel 2 XL only with loader version prior to TMZ20a: The critical partitions might need to be unlocked before flashing. To unlock the critical partitions on Pixel 2 XL only, run `fastboot flashing unlock_critical`.\n - If you're unlocking a pre-2015 device, run `fastboot oem unlock`.\n\n The target device displays a confirmation screen.\n3. Confirm that you want to erase all user data and unlock the device.\n\n | **Tip:** If your device is shown in the output before reboot, but Fastboot or the flash script are misbehaving, it might be an issue with your USB cable. Try a different port or switching connectors. For example, if you're using a USB C port on your workstation try a USB A port instead.\n\n| **Note:** On Nexus 10, after unlocking the bootloader, the internal storage remains unformatted. You can format the device using `fastboot format cache` followed by `fastboot format userdata`.\n\nFlash a device\n--------------\n\nYou can flash an entire Android system in a single command. Flashing an entire\nsystem with a single command verifies that the system being flashed is\ncompatible with the installed bootloader and radio, writes the boot, recovery,\nand system partitions together, and reboots the system.\n\nTo flash a device:\n\n1. Place the device in fastboot mode by holding the appropriate\n key combination at boot or using the following command:\n\n adb reboot bootloader\n\n2. After the device is in fastboot mode, run:\n\n fastboot flashall -w\n\nThe `-w` option wipes the `/data` partition on the device, which is useful\nfor your first time flashing a particular device.\n| **Note:** File systems created with `fastboot` on Motorola Xoom don't function optimally. Google recommends that you recreate file systems through recovery using `adb reboot recovery`. While in recovery, open the menu (press **Power + Volume Up**), wipe the cache partition, then wipe the data.\n\n### Re-locking the bootloader\n\nTo re-lock the bootloader:\n\n- For 2015 or later devices, run the command `fastboot flashing lock`\n- For 2014 or earlier devices, run the command `fastboot oem lock`\n\nRestore device to factory state\n-------------------------------\n\nFactory images for Google devices are available from\n[Factory Images for Nexus and Pixel Devices](https://developers.google.com/android/nexus/images).\nFactory images for the Motorola Xoom are distributed directly by Motorola."]]