This guide walks you through getting Shizuku running on your phone so AimBuddy can perform touch injection without root. If you already have a rooted device you can skip this entirely and use the uinput backend.
The whole process takes about 5 minutes the first time. You only have to do it once per device boot (Shizuku keeps running until you reboot the phone).
Android does not let normal apps simulate touches in other apps. There are two ways around that:
- Root. A rooted device can open
/dev/uinputand create a virtual touchscreen. AimBuddy already supports this. - Shizuku. An app that briefly receives elevated permissions through ADB (or a one-time root grant). Once Shizuku is running, other apps can use those permissions through Shizuku's binder. AimBuddy uses it to call the hidden
IInputManager.injectInputEventAPI.
Both paths produce the same result: a synthetic touch contact that runs in parallel with your finger. The only difference is that Shizuku does not require permanently rooting the phone.
- An Android phone, version 11 or newer.
- A USB cable, OR a PC on the same Wi-Fi network as the phone (for wireless ADB).
- About 50 MB free for the Shizuku app.
Pick one of these. The Play Store version updates automatically, which is the easiest path.
| Source | How |
|---|---|
| Google Play | Search "Shizuku" by Rikka, install. |
| GitHub release | Download the latest APK from https://github.com/RikkaApps/Shizuku/releases and sideload. |
Open the app once after installing so it can finish first-run setup. You will see a screen that says "Shizuku is not running". That is normal. Pick a way to start it below.
This is the easiest method. You do not need a computer.
- On the phone, open Settings -> About phone. Tap Build number seven times until the toast says "You are now a developer".
- Go back to Settings -> System -> Developer options.
- Scroll down and enable Wireless debugging. Tap it to open its detail screen, leave it open.
- Open the Shizuku app. Tap Pair device with QR code (under "Start via Wireless debugging").
- Back in Wireless debugging on the system settings page, tap Pair device with QR code.
- Point the camera at the QR shown by Shizuku. Once paired, Shizuku will start the service automatically.
- Pull down the notification shade. You should see a persistent "Shizuku is running" notification.
The Shizuku app now shows a green check and the running version number. Skip ahead to Step 3.
flowchart LR
A[Open Shizuku app] --> B[Tap 'Pair device with QR code']
B --> C[Settings -> Developer options]
C --> D[Enable Wireless debugging]
D --> E[Tap 'Pair device with QR code' in settings]
E --> F[Scan Shizuku's QR with your phone camera]
F --> G[Shizuku service starts automatically]
Use this if Step 2A does not work or your phone is below Android 11.
- Install platform-tools on your PC: https://developer.android.com/tools/releases/platform-tools
- Enable USB debugging in Developer options on the phone.
- Plug the phone into the PC. Approve the "Allow USB debugging?" prompt that appears the first time.
- From the PC terminal, verify the phone is visible:
You should see one entry that is not "unauthorized". If it is unauthorized, accept the prompt on the phone.
adb devices
- Run the Shizuku start script:
If that path is not found, the Shizuku app's home screen also shows the exact command to run for your install. Copy-paste it.
adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
- The terminal prints something like
info: shizuku_starter started.and exits. - On the phone, the Shizuku app turns green and the persistent notification appears.
If your phone is already rooted, the Shizuku app exposes a one-tap Start (root) button. The service then runs under elevated privileges without any ADB dance.
- Open AimBuddy.
- Tap Start.
- On the first launch, AimBuddy asks for the overlay permission. Approve it.
- AimBuddy then asks Shizuku for permission. Shizuku pops a dialog that says "Allow AimBuddy to use Shizuku?". Tap Allow.
- AimBuddy asks for the MediaProjection (screen-capture) permission. Approve.
- The overlay appears. The Aim tab will show Backend status: ready under Shizuku.
You only have to grant the Shizuku permission once. AimBuddy will reuse it on every launch.
flowchart TB
A[Start AimBuddy] --> B{Overlay permission?}
B -->|No| C[Approve in Settings]
B -->|Yes| D[Tap Start]
C --> D
D --> E{Shizuku permission?}
E -->|No| F[Shizuku dialog: Allow]
E -->|Yes| G[MediaProjection prompt]
F --> G
G --> H[Approve screen capture]
H --> I[Overlay live, backend = Shizuku]
Shizuku stops when you reboot the phone. You need to start it again using whichever method from Step 2 worked the first time.
The Shizuku app remembers the wireless-debugging pairing, so on Android 11+ you usually only need to:
- Enable wireless debugging in Developer options.
- Open Shizuku - it auto-reconnects within a few seconds.
Some custom ROMs (HyperOS, ColorOS, MIUI) revoke wireless-debugging pairings on reboot. On those, repeat the QR pairing once after every restart. There are workarounds (paid Tasker scripts, etc.) but AimBuddy itself can do nothing about that - it is a Shizuku and OS limitation.
The Shizuku service is not running. Open the Shizuku app and check the status. If it shows "not running", repeat Step 2.
This usually means the binder did not establish. Try:
- Force-stop both Shizuku and AimBuddy.
- Re-open Shizuku, confirm it still shows running.
- Re-open AimBuddy and tap Start again.
The Shizuku service crashed or was killed by the OS (low memory / aggressive battery saver). Re-start it via Step 2 and press Start in AimBuddy again.
Some games actively block synthetic input. There is no clean workaround; switch to the root/uinput backend if your phone supports it, or test a different game.
You cannot use wireless debugging. Use Step 2B (USB cable) or Step 2C (root).
Add Shizuku to your phone's "do not optimize" / "auto start" / "background activity" list. The exact menu name varies by OEM:
| OEM | Menu path |
|---|---|
| Samsung | Settings -> Apps -> Shizuku -> Battery -> Unrestricted |
| Xiaomi (HyperOS / MIUI) | Settings -> Apps -> Manage apps -> Shizuku -> Battery saver -> No restrictions; Autostart -> on |
| OnePlus / Oppo | Settings -> Battery -> Battery optimization -> Shizuku -> Don't optimize |
| Stock Android | Settings -> Apps -> Shizuku -> Battery -> Unrestricted |
Do the same for AimBuddy itself - otherwise the OS may kill the foreground capture service mid-session.
Open AimBuddy, tap Start, and check the Aim tab:
- Backend dropdown: Shizuku (Non-root)
- Backend status: ready
If both are true, you are done. Enable Aim Assist and try a game. You should see the aimbot touch overlap your own finger without either being dropped.
- Shizuku official docs explain other use cases.
- Architecture - Input Injection section explains how AimBuddy talks to Shizuku internally and why we use a virtual device id.
- Troubleshooting covers issues that are not specific to Shizuku.