How to use Shizuku for ADB rootless mods on any Android device
In the earlier days of Android, modding your device was a popular hobby that gave you more control and unlocked features not found in stock Android. Custom ROMs transformed your experience with Android OS. However, with every new major release of Android, there are updates that make modding less likely for the average user. Today, you can customize themost affordable Android phoneswithout jumping through extra hoops. Using Shizuku, you can mod your device for more power, and we show you how in the guide below.
Sign up forfree
Forgot your password?
Create an account
*Required: 8 chars, 1 capital letter, 1 number
By continuing, you agree to thePrivacy PolicyandTerms of Use.You also agree to receive our newsletters, you can opt-out any time.

What makes Shizuku different?
Those who mod their Android devices are known as power users, but Shizuku changed how on-device modding works. This allows everyone to tweak and mod their devices, whether beginners or advanced users.
The Shizuku app uses a unique service that allows third-party apps access to system-level Application Programming Interfaces (APIs). It achieves this through theAndroid Debug Bridge (ADB)interface. ADB commands are limited by nature. However, combining them with system APIs gives you more control over your device. One of the biggest appeals of Shizuku is that you don’t need root access like you did in the past.

Install the Shizuku app and get your device ready
Install the Shizuku app before using custom mods or tweaks on your Android device. Short of having full root access integrated with the Shizuku service, using the ADB interface for the setup process is the next best option. Shizuku uses the hidden developer options on your Android device for the non-root methods in this guide. We show you everything you need to know in the section below.
To install Shizuku and activate the developer options, do the following:

The method to turn on the developer options can differ slightly based on the Android device manufacturer. However, the process is the same, regardless of your device model. If you find aBuild numbersection for your Android version, tap it rapidly seven times to activate the developer options.
With the developer options activated, you’re done with basic preparations. You can move on to setting up Shizuku.

From your lock screen to new gestures, you need to change these five things after upgrading your smartphone
How to set up Shizuku with the wireless debugging feature
Starting with Android 11, Google added the wireless debugging feature to the developer options, which allows you to execute ADB commands over Wi-Fi. Before this, the only option was connecting your Android device to a computer via a USB cable.
The learning curve with the ADB interface is steep enough to prevent the average user from trying it out. However, the on-device wireless debugging feature makes it easy for anyone to use ADB commands. No computer or complicated steps are required. Shizuku relies on this feature to keep the setup process simple.

Pair your device with Shizuku
The next part involves getting a unique pairing code and linking your device with the Shizuku app. When you complete this step, you won’t do it again unless something changes.
you could use Shizuku with the wireless debugging feature by doing the following:
Enter the pairing code and activate the Shizuku service
Now that you have the pairing code for linking Shizuku with your device, type or paste that code into the appropriate text field.
To pair your device with Shizuku and finish the setup, check out the following:
Start the Shizuku background service
Now that your device has been synced with the Shizuku app, it’s time to start the Shizuku background service.
To start the Shizuku service, do the following:
If you’re stuck at theSearching for wireless debugging servicemessage when activating Shizuku, toggleWireless debuggingby following these steps:
Now that the Shizuku service is ready and waiting on your device, you’re able to use it for any app or mod that supports it. You must start the service again after every reboot, so keep that in mind.
Wirelessly debug your Android phone!
How to set up Shizuku with ADB commands on a computer
The wireless debugging feature is the best non-root method for most Shizuku users. However, some might prefer to use the ADB interface through a computer. The setup process involves more than the on-device wireless debugging feature introduced with Android 11. When you get past the initial setup phase, it becomes easier to use.
Download the platform-tools folder and start the setup process
In this part, you’ll download the platform-tools folder, which has everything you need to run ADB commands from your computer.
To start Shizuku with ADB commands on a computer, do the following:
Finish the ADB setup process and activate Shizuku
Now that the platform-tools folder is ready to go and USB debugging has been activated, you’ll link your computer with your phone. From there, you’ll run a specific ADB command to start the Shizuku service on your phone.
To finish the setup process and activate Shizuku, do the following:
As with the wireless debugging feature, you must reactivate the Shizuku service each time you reboot your device. These two methods rely on the ADB interface, which only makes temporary changes to your device without root access. Since you don’t need to reboot that often these days, it shouldn’t be an issue.
How to use Shizuku in a terminal (optional)
If you want to use Shizuku in a terminal environment on Android, follow the in-app instructions by tappingUse Shizuku in terminal apps. It asks you to export and edit two files with the package name of your terminal app. Move them to a place where the terminal can find them. This is an advanced feature for people who like working with a command-line interface.
How to set up Shizuku with full root access
You don’t need root access to use Shizuku on your Android device. However, it’s the fastest route to activate the service. If your device allows it, the setup is as simple as pressing a button, and you can keep the Shizuku service activated after a reboot.
If you want to use Shizuku with full root access, do the following:
If you don’t want to reactivate the Shizuku service after every reboot, follow these steps:
Shizuku makes easy on-device rootless mods a reality
Now that you know how to set up Shizuku, you’re able to test different mods. Because Shizuku allows users to grant elevated permissions to other apps, mods and apps that usually need root access don’t need it. Soon, we should see more unique apps and mods with built-in support for the Shizuku service. Check out thetools and apps compatible with Shizukuto get started.
You might want to check outhow to restore your device after a factory reset using Shizukuto make your life easier. We walk you through the steps and explain how using Shizuku to back up and restore your device can help you in the long run.
We want to hear from you! Share your opinions in the thread below and remember to keep it respectful.
Your comment has not been saved
تابعوني انستا fo_ok_0
Ok. So what if you don’t have Android 11 or above (let’s say Android 10) and there’s no wireless debugging option. And sadly you don’t want or don’t have access to computer nor a second device (a second Android phone). Now you are a ffreakingg genius, right? Tell can you make it possible with just one single device alongside with Termux. Enlightened me. Azz h0le.
Why the shizuku app correct on my device
I’m rooted but use Shizuku to run the Batt app that shows how many cycles your battery has on it since google pulled the feature months ago.
Google’s version of that feature wasn’t even correct which may be why they pulled it.
💔 💔 💔 💔 اللهم الموت
adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh
Do you have any example of what you could do with it?
Can it stop charging the phone at a specific battery level?
They have their own “battery protection” feature.
If you use your phone for alarms, it analysis your alarm,
and adjust its charging speed.
It gets to about 80%.. And then
It basically ‘trickle charges’ the rest.
It usually finishes around the same time as your alarm.
This is, of course, assuming you have a somewhat steady sleep schedule…
I personally like this way better..
- If it’s plugged in ¬charging..
That’s bad..
That’s what causes the damage in the first place..
Charging your device to 100% will not hurt it..
But, leaving it plugged in, after it’s done can- depending on the battery..
(It’s complicated chemistry stuff really)
You can utilize youwholebattery, not just80%
If you only charge to 80%, you forceallthe stress and usage to be done by the same cells, more often..
(causing those ones to die faster)
BrynI have to correct this - what you wrote is objectively not accurate.
Modern digital devices know when batteries are fully charged, and don’t continue feeding current. Otherwise you’d constantly read about phones exploding from overnight charging. It’s not “complicated chemistry stuff”, it’s a circuit that detects real operating voltage, which indicates a battery’s current charge level. (Although, most phones are not actuallyfullycharged when the icon reads 100% - most major devices have usable capacity above that, and will last longer before recharging when left on a charger past 100%)
Most people don’t need to use their phone’s entire battery every single day. But, yes, it is true that charging to 80% means you can only use 80% of the battery. If you know a long day is coming up, a longer stint on the charger isn’t hard to manage.
Finally, the last point is blatantly false. Charge level has no impact on “which cells” charge - most phones use single-cell batteries, and neither users nor software would have any control over prioritizing which out of a dual-cell battery charges first. Charge level increases relatively uniformly across a single cell.
Maintaining a charge level between 50-80% is a commonly recommended way to improve battery longevity, it’s, like, a whole studied thing.
val deviceIntegrity =
JSONObject(payload).getJSONObject(“deviceIntegrity”)
val deviceRecognitionVerdict =
if (deviceIntegrity.has(“deviceRecognitionVerdict”)) {
deviceIntegrity.getJSONArray(“deviceRecognitionVerdict”).toString()
if (deviceRecognitionVerdict.contains(“MEETS_DEVICE_INTEGRITY”)) {
// Looks good!
R2 mobile wireless debugging problem
Broader branding hints at wider paid-tier ambitions
The note-taking app I should have used all along
The gimmicks phone makers keep selling us every single year
Via the Phone Link app, of course
Some scary urban digital legends
EA has confirmed the early access release date for the next game in the Skate series