FlashFire v0.55 released

This update brings a lot of bug fixes, improvements, and new features. The latter is mostly related to Pixel devices, though.

There was a pre-release of this version on XDA (v0.54-PRE) a few weeks ago, without much further comment. This post and the changelog includes all the changes in that version as well.

As with any release, if an issue with a previous version of FlashFire has not been solved by this update, please report it again in the XDA thread linked below. Please link to your previous posts in your new post.

Partition layouts with slots

Initial support has been added for devices with multiple copies (slots) of some partitions, such as the new Google Pixel line. Slot management is mostly automatic, but most actions let you manually override the slot the action is performed on.

The new OTA format introduced with these devices is now also supported. Unlike traditional devices, FlashFire will even attempt to intercept the OTA download and launch its GUI to flash it when the download is complete. (It is questionable if this will work on future devices that are not made by Google itself)

File-based encryption

Initial support has been added for the new file-based encryption introduced with Android 7.0, which is the default encryption method for the new Google Pixel line.

Due to how this encryption method works, FlashFire can only be guaranteed to have full access to the data of the primary user. At this time, data of other users will not be backed up or restored.

Additionally, for a backup to be restored in encrypted form, it has to be both made and restored with the device in an encrypted state, and be restore by FlashFire. Restoring on an unencrypted device will always lead to an unencrypted result, as will an emergency restore with TWRP.

OTA ZIPs

Aside from the already mentioned slot-OTA format, a number of issues with handling other OTA formats have been fixed, and support for 'uncrypted' (unencrypted files on an encrypted block device) OTAs has been added.

Magisk

Basic support has been added for using FlashFire on a device with Magisk present, both with SuperSU as well as (only) topjohnwu's mod of superuser. I have only done basic testing, so your mileage may vary.

Read/write access to /system

FlashFire used to auto-detect whether /system was modified, and pre-set some flashing options based on this, if you selected a ZIP or firmware package to flash.

It turns out this detection (based on ext4 lifetime writes) is not completely reliable unless checked immediately after boot. As such, by default /system is now always treated as original. There is now an option in the settings screen to change this behavior.

ZIP intent

By request, I've added the capability for external programs to launch FlashFire and set up flashing a provided ZIP file. See the documentation site for further information.

Links

Google Play:
https://play.google.com/store/apps/details?id=eu.chainfire.flash&hl=en

XDA Developers:
https://forum.xda-developers.com/showthread.php?p=59959596#post59959596

Documentation:
https://flashfire.chainfire.eu/

Direct APK download:
http://download.chainfire.eu/1022/FlashFire/FlashFire-v0.55-20170125213241.apk

Changelog
- (C) 2017
- Improved 32/64 bit handling (fixes some blackscreens)
- Improved handling of devices that have a /vendor partition
- Add initial support for devices with multiple slots
- Add support for uncrypted OTA ZIPs
- Add support for A/B OTA ZIPs
- Add support for file-based encryption backup/restore (primary user only)
- Add additional Pixel partitions
- Add support for Magisk+SuperSU (preliminary)
- Add support for Magisk+phh (topjohnwu version only) (preliminary)
- Add circular icon (Android 7.1)
- Restrict app usage to primary user
- Make treating system/vendor/oem as original a setting (auto-detection is not completely reliable)
- File selection activity now remembers last location
- Fix drawer closing on back button press on tablets like Pixel C
- Fix overlay display visibility on S7@Nougat
- Detect and handle screen scaling on S7@Nougat
- Fix archive scanner freeze when reading password protected ZIPs inside another archive
- Fix seeking issue with custom recovery detector
- Fix archive scanner inconsistency with multiple files targeting the same partition
- Fix archive scanner scanning inside images
- Fix archive creator display inconsistency
- Fix unconditional block update ZIP detection
- Fix busybox/untar not setting SELinux file context on files that already existed
- Hide cache wiping options if no cache partition present
- Restart and re-check for root if root not found initially
- Refactor boot image analysis
- Preserve recovery: option hidden from devices without a dedicated recovery partition
- Replace update_engine service on A/B update devices
- Add intent to flash a specific ZIP file
- Workaround adb restore 'never-finish' issue by using adb push (temporary?)
- Embedded SuperSU updated to v2.79 SR3
- Adjust timebomb for non-Pro users to May 01, 2017
Shared publiclyView activity