How to fix Secure Settings on Android devices with SuperSU systemless root
Secure Settings (Google Play) is a really helpful app to help Tasker (Google Play) do things automatically on your Android device.
However, it has not been updated for quite a while (January 2015 at the time of this writing) and since then SuperSU has changed its way of installing the su binary to your device, by preferring not to install this on the system partition.
As some older apps hardcode the complete path of this binary in their checks, and Secure Settings is one of these, it thinks it can not get root access.
On my quest of a fix for this problem, I found this post on XDA where a comment on Reddit was referenced, stating the following fix, running the commands from a command line (terminal) on your machine, having adb installed:
adb shell
su
mount -o remount,rw /system
touch /sbin/su /system/bin/su /system/xbin/su
mount -o remount,ro /system
exit
reboot
This creates some empty files in locations that older (incorrect) apps check for the su binary, so Secure Settings (and likely other applications) are made to believe they can get root (which they actually can, as you can not make those files without being root through su anyway).
You can also do this on your device by just omitting the first line and starting with su in a Terminal app (or for example JuiceSSH in a local session).
I hope this helps other people looking for a solution too.
Comments
This worked perfectly on my note 4 marshmallow.
Thank you, very helpful. It worked for me on my Nexus 6P with Android 6.0.1, with one caveat.
"/sbin" is mounted from the rootfs, "/" and with "/system" as a separate mount point. Simply also mounting "/" re-writable as well solves the problem:
adb shell
su
mount -o remount,rw /system
mount -o remount,rw /
touch /sbin/su /system/bin/su /system/xbin/su
mount -o remount,ro /system
mount -o remount,ro /
exit
reboot
Note this will need to be done after every system update (which is pretty frequent with Nexus devices).
Thanks again!
How can I undo this?
If I login as root from adb again and want to rm the 3 files, I get an error because the files are in use...?