Notices



What is Shizuku, and what can you do with it on your Android device?

AVN News Feed

Post New ThreadReply
 
Thread Tools
  #1  
Old 06-28-2022, 02:09 AM
phillynewsnow's Avatar
phillynewsnow phillynewsnow is offline   Thread Starter  
Site Moderator - Staff

 
Join Date: October 11th, 2009
Posts: 4,640
Thanks: 0
Thanked 668 Times in 568 Posts
Downloads: 0
Uploads: 0


View phillynewsnow's Profile   Edit Options Edit Profile Picture View phillynewsnow's Photo Album Add phillynewsnow's to Your Contacts Show Groups Edit Avatar Subscribed Threads Private Messages
What is Shizuku, and what can you do with it on your Android device?

What is Shizuku, and what can you do with it on your Android device?



The Android Debug Bridge, or ADB for short, is a handy development tool to interface with your phone for debugging and testing. Through ADB, developers and power users can access Android’s built-in Linux command line shell with greater privileges than user-installed apps. Notably, the ADB shell privilege is not equal to superuser access, hence you might still need to root your device to take complete control of the OS. However, depending on your modding requirements, the shell access is sufficient to grant or deny permissions, change system settings values, and do much more. This is where the Shizuku app comes into play.

Navigate this article:

What is Shizuku?

Shizuku is a nifty solution to tackle a rather complex scenario in the Android modding world: Allowing third-party apps to access system-level Application Programming Interfaces (APIs). The idea is to run a dedicated process with shell-level permissions, which acts as a proxy between the system server and the apps. Instead of relying on running commands in the su shell, developers can then utilize the Shizuku server component to perform elevated operations.

In a nutshell, if an app needs special permissions that can only be granted through ADB (or with root), you can just use Shizuku to grant them right from your Android device.

The Shizuku project is open-source, and it has been maintained by Rikka (aka RikkaW), Haruue, and several other developers.

What are the features of Shizuku?

  • Minimal performance overhead.
  • Extremely fast execution (powered by Android’s inter-process communication mechanism called “binder”).
  • Apps can use the Android system APIs with negligible code additions.
  • On Android 11 and above, you can set up and launch Shizuku directly on your device.
How to download Shizuku?

As mentioned earlier, the Shizuku project is open-source, hence you can take a look at the codebase or compile it yourself after grabbing the sources from its official GitHub repository.

In case you are looking for the pre-compiled version of Shizuku, you can grab it directly from the Google Play Store. The developers also host several mirrors to make it easier to download the official APK release.

Shizuku (Free, Google Play) ?

How can I install and configure Shizuku?

The Google Play version of Shizuku is installed by Android’s own package manager and it will continue to be updated by the Play Store. If you want to opt for the APK release from GitHub, then you need to manually sideload the package on your Android device.

Although you can use Shizuku in a non-root environment, having root access drastically simplifies the process of setting up the Shizuku’s service. Follow along with the guide below to learn how to configure Shizuku with your choice of method.

With root access

Before installing Shizuku with root access, make sure you have the latest version of Magisk installed on the target device.

  1. Locate the Shizuku icon and tap on it to open the app.
  2. On the main screen, go to the section called Start (for rooted devices).
  3. Tap the Start button to initiate the process.
  4. Press Grant to give the root permissions when requested.
  5. If everything goes right, the Shizuku service will start within a few seconds on a new screen, then automatically close when it’s finished.
  6. Scroll to the top and verify the running status of Shizuku. It should display a version number followed by “root.”


By default, the Shizuku service doesn’t automatically start itself after a reboot. To change the behavior, tap the Settings icon in the upper right corner, then locate the Start on boot (root) option. Once enabled, the Shizuku service will execute without any user intervention after you reboot your device.



It is worth mentioning that the developers of the Shizuku project are working on an advanced front-end called Sui. It’ll eventually replace the current Shizuku app. To give it a try, download the latest release from its GitHub repo. Since Sui is designed as a Magisk module, you still need Magisk to run the app.


Unlike regular companion apps, Sui doesn’t offer a typical app icon to start with. To access its interface, do one of the following:

  • (Android 8.0+, Sui 12.1+) Long press system settings from the home app, you will find the shortcut of Sui.
  • (Android 8.0+, Sui 12+) Enter “Developer options” in system settings, the system will ask you to add the shortcut of Sui.
  • Enter *#*#784784#*#* in the default dialer app.


While Sui has its own potential, the project isn’t feature-complete just yet. Until the migration from Shizuku’s current app to Sui is officially greenlit, it is advised to use the main Shizuku app to configure different aspects of Shizuku.

Without root access

Starting with Android 11, Google added the wireless debugging feature to Android’s developer options. It can be used to configure Shizuku’s service on the target device without root access.

  1. Locate the Shizuku icon and tap on it to open the app.
  2. On the main screen, go to the section called Start via Wireless debugging.
  3. Tap the Pairing button, then press Developer options. Next, scroll down until you find the Wireless debugging option. Turn it on.
  4. Check the Always allow on this network box, then press Allow to enable the feature.
  5. Tap on the Wireless debugging menu. Next, select the option named Pair device with pairing code.
  6. Now, put the unique 6 digit Wi-Fi pairing code into the Shizuku Pairing code notification textbox.
    • You can also swipe down on your status bar to the Shizuku notification, then tap Enter pairing code, and press the Send button on the right to confirm.
  7. At this stage, you should see a Pairing successful message if the pairing code was correct.
  8. Return to the Shizuku app main screen.
    • You might have to swipe away the Pairing successful notification before you can do that.
  9. Locate the Start via Wireless debugging section and tap the Start button to enable the service.
  10. The Shizuku service will now automatically start on a new screen, then automatically close when it’s finished.
  11. Scroll back to the top and verify the running status of Shizuku. It should display a version number followed by “adb.”


Keep in mind that you need to enable the “Wireless debugging” option again and restart Shizuku after restarting the target device.

It is also possible to invoke the Shizuku service via wired ADB access. This is particularly useful for older Android revisions, or some OEM Android skins where wireless debugging isn’t easily accessible. However, you need a PC/Mac with ADB installed as well as the OEM Android driver installed as prerequisites.

  1. Before proceeding, make sure the target device is discoverable by the ADB process on your PC/Mac.
    • Type adb devices in the terminal window, then press Enter. You should see a unique device identifier number under List of devices attached, letting you know it is connected and recognized by the ADB interface.
  2. Open the Shizuku app at least once on your phone.
  3. Execute the following command on your PC/Mac’s terminal window: adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
  4. If successful, you should see an exit with 0 status on the terminal window within a few seconds.
  5. On your phone, open the Shizuku app. Then scroll back to the top and verify the running status of Shizuku. It should display a version number followed by “adb.”
Provided you follow through with all of that, you should now have a working Shizuku instance on your Android device.

How to use Shizuku?

If you?re familiar with Magisk, then Shizuku is quite similar. But instead of managing root access, it manages shell access. As a result, if you have a working Shizuku instance and then try to open an app that utilizes Shizuku to perform elevated operations, you should see a prompt to allow access. As soon as you allow it, Shizuku will seamlessly take care of the API access requirements.

Below you can find a short list of popular apps that utilize Shizuku for elevated operations. This does not serve as an endorsement of the mentioned apps, nor are we suggesting that the work of others should be ignored. We are limiting what we link to in order to prevent this article from becoming too lengthy.

  • Repainter: Repainter brings customizable, dynamic Material You theming to any Android 12 (and newer) device and ROM.
  • App Ops: App Ops is a fine-grained app permission manager.
  • SAI (Split APKs Installer): SAI is an advanced APK installer with split APK support.
  • Swift Backup: Swift Backup can back up your APKs, your texts, your call logs, and applied wallpapers for free and without root.
  • SystemUI Tuner: A feature-rich replacement of Android’s built-in System UI Tuner.
Swift backup requesting Shizuku access


In most of the cases, the apps will ask for Shizuku access during the initial setup phase. Once granted, they will expose the functionalities which require elevated access. In case Shizuku isn’t installed (or not configured), the apps will automatically choose the fallback mode with a limited set of features.

It is also possible to use Shizuku in conjunction with on-device terminal emulator apps. This portion is beyond the scope of this tutorial, but you can explore this feature by tapping the “Use Shizuku in terminal apps” option on the main menu of the app.

For the Android app development community, you can easily leverage the power of Shizuku. To do so, take a look at our explainer and check out the Shizuku API repo.


Conclusion

Rooting your Android device opens it up to a world of customizations, but it’s not always a feasible option. Unfortunately, as time goes on, and Google improves its tamper detection methods, there?s less and less space left to tinker about. The Shizuku app somewhat fills the void, which is great for the Android modding scene. Hopefully, we will see a plethora of apps and mods with native support for the Shizuku service in the near future.


The post What is Shizuku, and what can you do with it on your Android device? appeared first on XDA.



More...
Reply With Quote
Post New ThreadReply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Android 13 Custom ROM List: Unofficially update your Android device! phillynewsnow AVN News Feed 0 10-28-2022 11:07 AM
Top 5 Essential Android Apps to Install After Rooting Your Android Device phillynewsnow AVN News Feed 0 08-17-2022 11:34 AM
What is EdXposed, and what can you do with it on your Android device? phillynewsnow AVN News Feed 0 05-07-2022 04:23 PM
What is Riru, and what can you do with it on your Android device? phillynewsnow AVN News Feed 0 04-24-2022 11:15 AM
The How To Root-Android Device puertoblack2003 Article 1 01-04-2010 11:51 AM


All times are GMT -5. The time now is 06:02 AM.

Layout Options | Width: Fixed
Contact Us - SPJ Bulletin - Archive - Privacy Statement - Terms of Service - Top