Recover a Stuck Android OTA Update Using ADB (No Root)

13 min read Step‑by‑step guide to unfreeze a failed OTA update on Android using ADB, with safety checks, troubleshooting, and tips for all major manufacturers. September 30, 2026 05:00 How to Recover a Stuck Android OTA Update Using ADB (No Root)

When an over‑the‑air (OTA) update freezes on the progress screen, the device can become unresponsive, battery drain quickly, or even boot into a bootloop. The good news is that most of the time the problem is not a hardware failure – it’s a software hiccup that can be cleared with the Android Debug Bridge (ADB). This tutorial walks you through a safe, no‑root method to recover a stuck OTA update, explains why the issue occurs, and gives you troubleshooting branches for the most common roadblocks.

Why OTA Updates Get Stuck

Android’s OTA mechanism downloads a package, verifies its signature, and then applies the update in a special recovery mode. A freeze can happen at any of these stages:

  • Download corruption – a bad Wi‑Fi connection or insufficient storage can corrupt the .zip file.
  • Signature verification failure – the package may not match the device’s expected build fingerprint.
  • Recovery flash error – the recovery partition may be unable to write the new system image.
  • Battery‑related pause – Android may pause the update if the battery falls below a safety threshold.

All of these can be addressed from the host PC using ADB commands that either clear the faulty package, force a reboot into recovery, or manually flash the update.

Before You Start

Backup important data. The recovery process does not delete user data, but a failed flash can leave the device in an unusable state. Use adb backup or your preferred cloud backup service.

  • Charge the phone to at least 70 % and keep it plugged in.
  • Use a USB‑C cable that supports data transfer (not just charging).
  • Enable Developer options → USB debugging on the device.
    • Settings > About phone > tap Build number seven times.
    • Then go to Settings > System > Advanced > Developer options > toggle USB debugging on.
  • Install the latest ADB platform‑tools on your PC (Windows, macOS, or Linux).
  • Make sure the PC recognises the device: run adb devices and see the device listed as device (not unauthorized).

Step‑by‑Step Recovery Procedure

Step 1 – Verify ADB connection
  1. Open a terminal (Command Prompt, PowerShell, or Terminal).
  2. Run adb devices. You should see something like:
    List of devices attached
    0123456789ABCDEF    device
    If the status is unauthorized, check the phone for a prompt asking to allow USB debugging and tap Allow.
Step 2 – Identify the stuck OTA package

Android stores the OTA zip in /cache under a name such as update.zip or ota_package.zip. We’ll list the cache directory to confirm the file exists.

  1. Enter the shell: adb shell
  2. Run ls -l /cache. Look for a file with .zip extension and note its size.
    drwxrwx--x  3 system cache 4096 2023-01-01 12:00 .
    -rw-rw----  1 system cache 12345678 2023-01-01 12:00 update.zip
    If no zip file is present, the update may have already been removed – you can skip to Step 4.
  3. Optional: pull the file to the PC for inspection (useful if you suspect corruption): adb pull /cache/update.zip ~/Desktop/ota_candidate.zip
Step 3 – Delete the corrupted OTA package

Removing the faulty zip forces the system to re‑download the update or lets you flash a clean package manually.

  1. From the ADB shell, delete the file: rm /cache/update.zip Warning: Do not delete any other files in /cache unless you know what they are.
  2. Exit the shell: type exit.
    You should see the prompt return to your PC terminal.
Step 4 – Reboot into recovery mode

We now need to get the device into the stock recovery where we can apply a fresh OTA or manually flash a zip.

  1. Run adb reboot recovery. The phone will power off briefly and display the recovery screen (often a grey Android with the word “Recovery”).
  2. If the device lands in a custom recovery (e.g., TWRP), you can still use the same steps, but the menu navigation differs. This guide assumes the stock recovery.
Step 5 – Trigger a fresh OTA download

From the stock recovery you can usually select “Apply update from ADB”. This tells the recovery to wait for a new zip sent over the USB connection.

  1. Use the volume buttons to highlight “Apply update from ADB” and press the power button to confirm.
  2. Back on the PC, run: adb sideload /path/to/clean_ota.zip Replace /path/to/clean_ota.zip with the location of the official OTA package you downloaded from the manufacturer’s website (or from a trusted mirror).
  3. The terminal will show a progress bar. When it finishes, the recovery will automatically start flashing the update.
  4. After flashing, the recovery will prompt “Reboot system now”. Select it.
    Your phone should boot into the new system version without freezing.

What If You Don’t Have the Official OTA Zip?

Some manufacturers hide the OTA package behind the system updater, making it hard to download manually. In that case you can let the device fetch the update itself after clearing the cache.

  1. After deleting /cache/update.zip (Step 3), simply reboot the phone normally: adb reboot
  2. When the device boots, go to Settings > System > System update (or Settings > About phone > Software update) and tap “Check for updates”. The system will see the missing package, download a fresh copy, and resume the installation.
  3. If the update still freezes, repeat the process once more. Occasionally the download gets corrupted twice; a third attempt usually succeeds.

Troubleshooting Common Failures

ADB reports “device offline”

  • Disconnect and reconnect the USB cable.
  • On the phone, revoke USB debugging authorisation (Settings > Developer options > Revoke USB debugging authorisations) and then re‑enable it.
  • Restart the ADB server: adb kill-server && adb start-server.

Recovery refuses to accept adb sideload

  • Make sure you selected the correct menu option: “Apply update from ADB”. Some stock recoveries label it “Apply update from ADB (sideload)”.
  • If the device shows “sideload failed”, verify that the OTA zip is signed for your exact device model and build number. A mismatched signature will be rejected.

Bootloop after flashing

  • Boot into recovery again (hold Power + Volume Down on most devices).
  • Select “Wipe cache partition” and then “Reboot system”. This clears leftover cache that can cause a loop.
  • If the loop persists, you may need to perform a factory reset from recovery. Only do this as a last resort and after backing up your data.

Battery drains rapidly after rescue

  • Some devices keep the OTA package in /cache after a failed flash, causing background processes to retry. Re‑enter recovery and wipe the cache partition.
  • Check Settings > Battery > Battery usage for any app consuming abnormal power and force‑stop it.

Alternative: Using Fastboot to Flash the OTA Manually

If the recovery path is unavailable (e.g., the device is stuck in a bootloop and cannot reach recovery), you can use Fastboot to flash the OTA zip directly to the system partition. This method is a bit riskier because it writes system files while the device is in fastboot mode.

  1. Power off the phone completely.
  2. Enter fastboot mode: usually Power + Volume Down (varies by manufacturer).
  3. Connect the phone to the PC and verify detection with fastboot devices.
  4. Extract the OTA zip on the PC (it’s a zip containing payload.bin and other images).
  5. Use the payload_extractor.py script (available in the Android Open Source Project) to split the payload into individual images.
  6. Flash the relevant partitions, for example:
    fastboot flash boot boot.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    Only flash partitions that are present in the OTA; flashing a missing image will abort.
  7. After flashing, reboot: fastboot reboot.

Fastboot flashing bypasses the recovery verification step, so be absolutely sure the OTA is intended for your exact model and carrier variant.

Safety Checklist Before You Begin

  • Confirm the OTA zip matches your device model, carrier, and Android version.
  • Verify the file’s SHA‑256 checksum (manufacturers often publish it).
  • Keep the phone plugged into a charger throughout the process.
  • Have a backup of your most important files (photos, contacts, messages).
  • Make a note of your current build number (Settings > About phone) in case you need to revert.

When to Seek Professional Help

If you encounter any of the following, it’s safer to hand the device to a qualified technician:

  • The bootloader is locked and refuses to accept fastboot commands.
  • The device repeatedly enters a bootloop despite wiping cache and performing a factory reset.
  • You see hardware‑related errors such as “eMMC write failure” in the logcat output.

Wrap‑Up

Recovering a stuck OTA update does not require rooting or flashing custom recoveries. By clearing the corrupted package, rebooting into stock recovery, and using ADB sideload (or fastboot as a fallback), you can bring most Android phones back to a healthy state. The key is to work methodically, keep the device powered, and verify each step before proceeding. With this workflow in your toolkit, a frozen update is no longer a dreaded dead‑end but a solvable hiccup.

User Comments (0)

Add Comment
We'll never share your email with anyone else.