Three weeks after Chainfire updated SuperSU for Nougat builds he has had to do it again. As I reported previously, Nougat brought with it a heap of SELinux changes and with it a heap of headaches for the developer of SuperSU, Chainfire. For each device that has a Nougat build released there seemingly are new issues. So far he has managed to either fix or workaround issues that arise. Today’s update does just that.
There were previously some conflicts that occured with the context that SuperSU ran in. Now it has its own context to run to to prevent these conflicts from occuring. In changing this it may also break some root apps which will require just a simple fix from the developer of the app to allows them to run again.
He has also fixed the issue of SuperSU taking a long time to respond to root calls, especially on devices that have a lot of apps. Compatibility with RC1 for TWRP on the Pixel phones has also been fixed. The full changelog is:
- Expand Samsung detection
- GUI: Reworked portions to work with ‘supersu’ context on 7.0+
- GUI: Fix binary update notice when superuser disabled by user in some cases
- su: Reworked portions to work with ‘supersu’ context on 7.0+
- su/GUI: Improve responsiveness when device busy on 7.0+
- sukernel: Fix cpio restore failure with very short filenames
- sukernel: No longer patches file_contexts(.bin)
- sukernel: Revert force seclabel (no longer needed with ‘supersu’ context)
- supolicy: Add -create-, -auditallow-, -auditdeny- policy commands
- supolicy: Support “*” for permission/range parameter of -allow-, -deny-, -auditallow-, -auditdeny-, -allowxperm- policy commands
- supolicy: Reworked all SELinux rules for 7.0+, run as ‘supersu’ context
- ZIP: Separate slotselect and system_root logic
- ZIP: Adjust system/system_root device and mount-point detection
- ZIP: Fix minor errors in documentation
- ZIP/frp: Explicitly label /su
As Ausdroid’s resident guinea pig, I have tested it out on my Pixel XL, already rooted previously and running TWRP RC1 and ElementalX 1.02 custom kernel. A simple flash of the zip file from within TWRP, a reboot and all was well. No need to flash the custom kernel again, no need to wipe caches etc.
Remember if you do flash this that it will reboot itself halfway through the boot as part of the rooting process. Do not be alarmed by this — let the process complete and it *should* boot all the way back into the Android OS by itself.
If you have been having issues with SuperSU on your device, especially Nougat devices, or if you just like to stay on the bleeding edge head on over to XDA and read the thread before flashing anything. If you decide to flash the new SuperSU update you can grab it from Chainfire’s website but remember that anything you do to your phone may brick it. Only continue if you know how to recover from a soft brick.