Shizuku
using system APIs directly with adb/root privileges from normal apps
moe.shizuku.privileged.api
About Shizuku
<p>When developing apps that requires root, the most common method is to run some commands in the su shell. For example, there is app uses <code>pm enable/disable</code> command to enable/disable components. This method has very big disadvantages:</p><ul><li><b>Extremely slow</b> (Multiple process creation)</li><li>Needs to process texts (Super unreliable)</li><li>The possibility is limited to available commands</li><li>Even if adb has sufficient permissions, the app requires root privileges to run</li></ul><p><i>Shizuku</i> uses a completely different way. The most important feature <i>Shizuku</i> provides is something like be a middle man to receive requests from the app, sent to the system server, and send back the results. To the app, it is almost identical to the use system APIs directly. But it's much faster as it hooks into the system directly.</p><p>Several <a href='https://shizuku.rikka.app/apps.html' target='_blank' rel='noindex nofollow noopener'>apps already use <i>Shizuku</i></a>. If you want to integrate it with yours, take a look at the <a href='https://github.com/RikkaApps/Shizuku/blob/master/README.md' target='_blank' rel='noindex nofollow noopener'>Developer guide</a>. For users, there's also a <a href='https://shizuku.rikka.app/guide/setup.html' target='_blank' rel='noindex nofollow noopener'>User guide</a>.</p>