Skip to content

IntentShell

Sayantan Paul edited this page Jun 27, 2024 · 2 revisions

How to use

To use IntentShell, you must use another application with the ability to send custom intents. Most automation apps do have this feature by default, like MacroDroid or Tasker. These apps can leverage the power of intent shell to run adb commands whenever they deem necessary.

To execute the commands, the apps need to send ShizuTools an execution request in the form of a custom intent. For the automation apps, create an action labeled as "send intent" or similar. Example of macrodroid - Macrodroid-create-action

As the parameters to create the intent, use the following values -

target - Broadcast

intent action - com.legendsayantan.adbtools.execute

intent package - com.legendsayantan.adbtools

intent extra strings -

 command : <The adb command to execute> 
 key : <The 32-character hexadecimal access key found inside ShizuTools app, with or without dashes>

Example of a valid intent would look like: Macrodroid-example-1 Macrodroid-example-2

The command will be executed as soon as the action block runs in the automation app (In the case of this example, the device restarts). For this operation to succeed, the key must contain the actual valid access key from ShizuTools. The parameter key is unique to every device and if you re-used an action block from other devices, make sure to update the key accordingly. Also, the device needs to maintain a running Shizuku client, otherwise the commands will fail to execute.

Custom intent using a wrong access key will block all the commands for the next 5 minutes, to prevent brute force attempts.