Shizuku app
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 pm enable/disable
command to enable/disable components. This method has very big disadvantages:
- Extremely slow (Multiple process creation)
- Needs to process texts (Super unreliable)
- The possibility is limited to available commands
- Even if adb has sufficient permissions, the app requires root privileges to run
Shizuku uses a completely different way. The most important feature Shizuku 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.
Several apps already use Shizuku. If you want to integrate it with yours, take a look at the Developer guide. For users, there's also a User guide.