[Fire Original Android Development] marrco:
FlashFire v0.32 released

WHAT'S NEW

Changelogs

Please re-report any issues that persist after a new version comes out, even if you already reported them for the previous build. Either include the details again or link to your previous post.

2016.04.20 - v0.32

- Exclude multirom folder from internal storage backup as well

- Ability to create fastboot flashable backups (read the release notes!)

- Use proper ioctls for partition and block size detection

- Added option to backup recovery before installing ZIP/OTA and restoring it afterwards (automatically enabled when a custom recovery is detected)

- Added a watchdog to detect SurfaceFlinger crashes, fixes some black screen issues

- Prevent repeating OTA flash suggestion on rotate

- Added credits listing

FlashFire v0.32: Fastboot flashable backups

The major new feature of today's FlashFire update is the ability to create backups that can be flashed back to the device with fastboot. This will allow you to restore your phone from your computer without booting Android or even a custom recovery. This is a new and experimental feature, and as such there are a number of ifs, buts, snags, and caveats.

Only the main Android-related partitions are able to be backed up: boot, recovery, system, vendor, oem, userdata (including internal storage), and cache. Radio/modem partitions need some further investigation and testing, while bootloader (and other not mentioned) partitions will probably never be supported.

As the userdata partition generally contains both /data and internal storage, you should be aware that if you choose not to backup internal storage, restoring the userdata partition through fastboot will leave you with an empty internal storage.

As with backing up the internal storage normally in FlashFire, backups and other files from FlashFire, TWRP, CWM and MultiROM are skipped.

The backup of userdata is currently always in unencrypted ext4 format (even if you are currently running encrypted f2fs). If you restore it, you will end up with an unencrypted ext4 device - a pro for some, a con for others. You need to be aware that stock Marshmallow+ kernels may refuse to work with an unencrypted userdata partition. A SuperSU-patched boot image should work fine though, and chances are, that is included in your backup. Both encryption and f2fs support are under investigation for future versions.

Fastboot backups are truly meant to be restored from your PC using fastboot. While you can 'install' the backup ZIP file using the '_Flash firmware package_' option, that currently does not support flashing the userdata partition, which is usually the most important partition to backup/restore. There may be support for this in the future, though.

The backup itself is a ZIP file containing partition chunks (similar to Motorola's sparsechunk format) and a flash-all.bat file to perform the restore. The commands in that batch file should also work on Linux and OSX, but regardless of platform, the fastboot command needs to be on the PATH, and support the -u switch (which all recent Android SDK versions do). Obviously, your bootloader also needs to be unlocked for the flash to work.

Last but not least, this feature has only been tested with a handful of devices, while there are a great many devices out there that support fastboot. It might not work well or at all for your device.

Other noteworthy changes

When flashing a ZIP or OTA, there is now the option to '_Preserve recovery_'. This will backup your current recovery image before starting the action, and restore it afterwards. This option is automatically enabled if FlashFire detects you have TWRP or another custom recovery installed. With this feature enabled, you can have TWRP survive an OTA flash, even if FlashFire restores the stock boot and recovery to let that OTA succeed.

A pretty severe issue with SurfaceFlinger has been identified and worked around. This issue could cause FlashFire to black screen indefinitely rather than performing the flash or rebooting. This might not fix all black screen issues, but it will fix some.

I've also finally gotten round to implementing the Credits listing, which details the used libraries and binaries and their authors and licenses. I'll cower behind the BETA tag for not taking care of this sooner.

Download

Google Play's awkward BETA program opt-in: https://play.google.com/apps/testing/eu.chainfire.flash

Direct APK download: https://download.chainfire.eu/957/FlashFire/FlashFire-v0.32-20160420152035.apk

Discussion, bug reports, feature requests, etc

XDA thread: http://xdaforums.com/general/paid-software/flashfire-t3075433