2018.4.29 Magisk v16.4

Massive Refactoring

MagiskHide Improvements

Magisk v16.4

- [Daemon] Directly check logcat command instead of detecting logd, should fix logging and MagiskHide on several Samsung devices

- [Daemon] Fix startup Magisk Manager APK installation on Android P

- [MagiskPolicy] Switch from AOSP u:r:su:s0 to u:r:magisk:s0 to prevent conflicts

- [MagiskPolicy] Remove unnecessary sepolicy rules to reduce security penalty

- [Daemon] Massive re-design /sbin tmpfs overlay and daemon start up

- [MagiskInit] Remove magiskinit_daemon, the actual magisk daemon (magiskd) shall handle everything itself

- [Daemon] Remove post-fs stage as it is very limited and also will not work on A/B devices; replaced with simple mount in post-fs-data, which will run ASAP even before the daemon is started

- [General] Remove all 64-bit binaries as there is no point in using them; all binaries are now 32-bit only.

Some weirdly implemented root apps might break (e.g. Tasker, already reported to the developer), but it is not my fault

- [resetprop] Add Protobuf encode/decode to support manipulating persist properties on Android P

- [MagiskHide] Include app sub-services as hiding targets. This might significantly increase the amount of apps that could be properly hidden

Magisk Manager v5.7.0

- Add app shortcuts for Android 7.1+

- Bump minimal module minMagisk requirement to 1500

- Adjustments for new sepolicies on v16.4+

- Fix crashes when refreshing the online repo

I spent weeks redesigning the way Magisk starts up, including how /sbin tmpfs overlay is constructed. Along with the redesign, I cleaned up the sepolicy rules and also switched the domain root processes will run in to prevent conflicts. Some parts of procedure graph in the docs thus became obsolete, but I haven't have the time to update it yet.In this major refactoring, I finally decided to remove post-fs mode. As a replacement, the files for simple mount should now be moved from /cache/magisk_mount to /data/adb/magisk_simple, and will be mounted immediately in post-fs-data mode before the daemon initialization.There is an increasing amount of apps that run device verification / root detection in a separate service, which was under the radar of MagiskHide's implementation. These services are now included as the target.I still haven't had the time to check out Galaxy S9 support yet, as these under-the-hood changes took more time than I expected.Here are the changelogs: