Flash ZIP or OTA

The Flash ZIP or OTA action can be used to flash Update ZIPs you would normally flash in a custom recovery, as well as official OTA ZIPs.

TIP: On many devices, FlashFire will auto-detect the presence of downloaded OTA files, and will offer to setup the flash for you when you open the app! Please read the section below regarding OTAs though, as for this flash to work some prerequisites may need to be met.

Update ZIPs

When flashing a firmware using a significantly different base - such as switching between a stock firmware and an Omni/CyanogenMod/LineageOS firmware, or downgrading a firmware version - manually adding a Wipe action is generally necessary or the new firmware may not boot. The Wipe action should be positioned before the Flash ZIP or OTA action. As by default the order is the other way around, you will need to tap, hold, and drag the Wipe action card to the correct position after adding it.

OTA ZIPs

There are several different types of OTA ZIPs:

  • File-based full OTA
    This type of OTA is rarely seen for official firmware updates, though custom firmware Update ZIPs often come in this format. There are generally no special requirements to flash this type of OTA.

  • File-based incremental OTA
    This is the most common type of OTA on Android 5.1 and older. Generally this type of OTA requires all the stock files on the /system, /vendor and /oem partitions to be present and unmodified, though it may not care about additions to these partitions. Stock boot image is often required, stock recovery image is occasionally required.

  • Block-based full OTA
    This type of OTA is not commonly used for actual over-the-air updates, though some manufacturers do have these available for download. There are generally no special requirements to flash this type of OTA.

  • Block-based incremental OTA
    This is the most common type of OTA on Android 6.0 and newer. Generally this type of OTA requires the /system, /vendor and /oem partitions to be completely unmodified stock - bit-by-bit exact copies. Even remounting these partitions in writable mode once may make this type of OTA unflashable. The original modem/radio images may also be required. Stock boot image is usually required, stock recovery image is occasionally required.

  • A/B incremental OTA
    This is the default type of OTA on slot-based devices. Generally this type of OTA requires the /system, /vendor and /oem partitions to be completely unmodified stock - bit-by-bit exact copies. Even remounting these partitions in writable mode once may make this type of OTA unflashable. The original modem/radio images may also be required. Stock boot image is usually required.

As you have no doubt understood from the above descriptions, if your device is modified, you may not be able to flash incremental OTAs. This is in fact by far the most common reason for OTA updates to fail. There are several solutions to this problem:

  • Restore a (RAW) backup
    Restoring a backup of the relevant partitions before applying the OTA should enable the OTA be flashed. Just add the Restore action before the Flash ZIP or OTA action.

  • Partially reflash the old stock firmware package
    If you have the old stock firmware package available, flash the relevant partitions from this package before applying the OTA update.

  • Flash the new stock firmware package
    If a full firmware package is available for the new firmware version, flash that instead.

In light of the possible difficulties flashing a new OTA, it is advised to add a new (RAW) Backup action immediately after applying the OTA.

Options
  • Auto-mount
    Mount common paths before running update. Not usually necessary. Enable for A/B device OTAs, disable for all other OTAs.

    Some versions of the Xposed installer require this option to be enabled.

  • Mount /system read/write
    Mount /system read/write by default, rather than read-only. Doing this only once may break future OTAs. Enable when flashing custom firmwares.

    Some versions of the Xposed installer require this option to be enabled.

  • Restore boot and recovery images
    Attempt to restore stock boot and recovery images before flashing. May be required for some OTAs. Disable for non-OTA updates.