Thanks to visit codestin.com
Credit goes to Github.com

Skip to content
forked from RikkaApps/Shizuku

Using system APIs directly with adb/root privileges from normal apps through a Java process started with app_process.

License

Notifications You must be signed in to change notification settings

thedjchi/Shizuku

 
 

Repository files navigation

Shizuku

An Android app that allows other apps to use system-level APIs that require ADB/root privileges.

Stars Downloads

Latest Stable Latest Beta

Bug Reports Feature Requests

Translate on Crowdin Buy Me A Coffee

⚠️ Disclaimer

This is a FORK of Shizuku. If you are looking for the original version, please visit the RikkaApps/Shizuku repository.

⬇️ Download

Get the latest stable or beta version.

All versions are distributed via GitHub Releases.

✨ Added Features

This version of Shizuku includes some extra features over the original version, such as:

  • More robust "start on boot": waits for a Wi-Fi connection before starting the Shizuku service
  • TCP mode: (i.e., the adb tcpip command) once Shizuku successfully starts with Wi-Fi after a reboot, you can stop/restart Shizuku without a Wi-Fi connection!
  • Watchdog service: automatically restarts Shizuku if it stops unexpectedly, and can alert you of crashes/potential fixes
  • Start/stop intents: toggle Shizuku on-demand using automation apps (e.g., Tasker, MacroDroid, Automate)
  • [BETA] Stealth mode: hide Shizuku from other apps that don't work when Shizuku is installed
  • [BETA] In-app updates: option to automatically check for new updates, and can automatically download/install the latest version from GitHub
  • Android/Google TV and VR headset support: UI is now compatible with D-Pad remotes, all TVs are supported (including Android 14+ TVs that require pairing), and the multi-window pairing dialog is toggleable in settings for VR headsets
  • MediaTek support: fixes a critical bug in the original v13.6.0 which prevented Shizuku from working on MediaTek devices
  • And more!

📝 User Guide

Please read the wiki for setup, info, and troubleshooting steps.

☑️ Requirements

Minimum Version: Android 7+

  • Root mode: Requires a rooted device
  • Wireless Debugging mode: Works on Android 11+ and all Android TVs
  • PC mode: Works on all devices
  • Start on boot: Available only when using Wireless Debugging or Root mode

🔒 Privacy

Shizuku takes user privacy very seriously.

  • No tracking or analytics
  • No telemetry
  • No proprietary libraries
  • No Google Play Services
  • Open-source codebase
  • Reproducible builds
  • Internet access is only used for wireless debugging connections and to fetch updates from GitHub
  • Only required permissions are declared

Permissions

  • INTERNET: required for the wireless debugging start mode to work. Also used to fetch updates from GitHub
  • ACCESS_NETWORK_STATE: used to determine when Wi-Fi is available for background start via wireless debugging
  • POST_NOTIFICATIONS: required for pairing notification and other alerts
  • RECEIVE_BOOT_COMPLETED: required for start on boot
  • FOREGROUND_SERVICE: prevents watchdog from being killed
  • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: prevents start on boot and watchdog services from being killed
  • WRITE_SECURE_SETTINGS: used to toggle USB and wireless debugging in the background when starting/stopping Shizuku
  • REQUEST_DELETE_PACKAGES: used to request uninstall for Shizuku/stub when using stealth mode
  • REQUEST_INSTALL_PACKAGES: used to request install for app updates, as well as Shizuku stub when using stealth mode

🌎 Translations

Contribute translations through the Crowdin project.

🎁 Donations

This Shizuku fork and all of its features will always be free, and there will never be ads. If you've found any of the added features to be useful, consider donating to help me maintain the project!

📱 Developer Guide

API & Demo Project

The API guide and a demo project are available in the Shizuku-API repository

Notes

  1. Shizuku has different permissions in root and ADB mode. You can see permissions granted to ADB here. If your app requires root permission, use ShizukuService#getUid to check if Shizuku is running as root or ADB, or use ShizukuService#checkPermission to check if the server has sufficient permissions.
  2. On devices running Android 8 or lower, if you need to use Shizuku in a Service or Broadcast Receiver that might not be started by an Activity, please trigger the send binder by starting a transparent activity.
  3. Please prefer using ShizukuBinderWrapper instead of directly using transactRemote when possible, as API calls can change across Android versions.

🤝 Contritbuting

Building the App

  • Clone with git clone --recurse-submodules
  • Run gradle task :manager:assembleDebug or :manager:assembleRelease

The :manager:assembleDebug task generates a debuggable server. You can attach a debugger to shizuku_server to debug the server. In Android Studio, ensure Run/Debug configurations > Always install with package manager is checked, so that the server will use the latest code.

Submitting Changes

  1. Fork the repository
  2. Create a feature branch (git checkout -b branch-name)
  3. Make your changes
  4. Commit your changes (git commit -m 'Commit message')
  5. Push to the branch (git push origin branch-name)
  6. Open a Pull Request

📃 License

All code files in this project are licensed under Apache 2.0

About

Using system APIs directly with adb/root privileges from normal apps through a Java process started with app_process.

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Languages

  • Kotlin 65.0%
  • Java 27.1%
  • C++ 7.1%
  • Other 0.8%