Shizuku+-API is an enhanced, developer-friendly version of the Shizuku API. It provides a modernized interface for interacting with Shizuku+, while maintaining full backward compatibility with standard Shizuku and Sui servers.
Shizuku+-API eliminates the boilerplate associated with standard Shizuku development:
- Synchronous Shell Execution: No more managing
InputStream,ErrorStream, and threads. Get a cleanCommandResultin one line. - High-Level Utilities: Dedicated classes for managing System Settings, Package Installation, and System Overlays (RRO).
- Dhizuku (Device Owner) Integration: Directly access the
DevicePolicyManagerbinder without requiring the user to perform a factory reset or complex ADB setup. - Universal Compatibility: Automatically detects if the server is Shizuku+ or standard Shizuku. It uses optimized paths for Shizuku+ and provides a transparent fallback (via
SafeShell) for original Shizuku servers.
Shizuku+-API includes exclusive interfaces for advanced system interaction:
Manage isolated Linux environments via the Android Virtualization Framework.
- Capabilities: Create, start, and manage Microdroid or Debian-based VMs.
- Use Case: Run hardware-accelerated Linux GUI apps or secure isolated services.
Bypass SAF (Storage Access Framework) limitations for verified power-user tools.
- Capabilities: Obtain
FileDescriptorsfor restricted paths like/data/data/. - Security: Requires explicit biometric/user confirmation via the Shizuku+ manager.
Access privileged system intelligence and hardware accelerators.
- Capabilities: High-priority NPU scheduling and privileged screen context sampling (EyeDropper extension).
- Use Case: Advanced automation and context-aware accessibility tools.
Take control of the desktop windowing experience.
- Capabilities: Force free-form resizing, manage the system "Bubble Bar," and set "Always on Top" windows.
Expose privileged overlay management.
- Capabilities: Enable/disable system UI overlays without root.
- Use Case: Rootless theming engines (like Hex Installer).
Manage network restrictions and routing.
- Capabilities: Set system-wide Private DNS and manage iptables rules via routing/VPN.
- Use Case: Rootless ad-blockers (AdAway) and firewalls (AFWall+).
Advanced memory and process management.
- Capabilities: Deeply kill background apps and manage standby buckets.
- Use Case: Performance optimizers (Thanox, 3C Toolbox).
Seamless multi-device state synchronization.
- Capabilities: Sync app states and privileged task handoffs between devices running Shizuku+.
Add the following to your build.gradle:
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.thejaustin:Shizuku+-API:13.2.0-plus'
}Execute any command and get the output synchronously:
CommandResult result = Shizuku+API.Shell.executeCommand("whoami");
if (result.isSuccess()) {
Log.d("API", "Output: " + result.output);
}Easily read or modify system, secure, and global settings:
Shizuku+API.Settings.putSecure("now_bar_enabled", "1");
String battery = Shizuku+API.Settings.getSystem("font_scale");Force an app into free-form mode even if restricted by its manifest:
IWindowManagerPlus wm = Shizuku+API.getWindowManagerPlus();
wm.forceResizable("com.example.app", true);Access a file in an app's private data directory (requires user confirmation):
IStorageProxy storage = Shizuku+API.getStorageProxy();
ParcelFileDescriptor pfd = storage.openFile("/data/data/com.example.app/files/config.json", ParcelFileDescriptor.MODE_READ_ONLY);Shizuku+-API is built on a Translation Layer.
- On Shizuku+: Uses optimized Binder transactions for maximum speed and access to exclusive Plus APIs.
- On standard Shizuku: Automatically wraps commands into
Shizuku.newProcessshell scripts behind the scenes.
Result: Your app works everywhere, but runs better on Shizuku+.
For the core logic, UserService documentation, and AIDL definitions, please refer to the original Shizuku-API repository. Shizuku+-API includes all original rikka.shizuku.Shizuku methods.