ShizuStore

Stellar

roro2239

1.1 · GitHub

Download APK
Shizuku implementations Android 7.0+ 1 month ago MPL-2.0
270 ShizuStore
34.9k GitHub
1.5k Stars
4 MB Size

More about this app

Another Shizuku implementation with autostart, TCP mode and a simple terminal (can run commands automatically on startup)

Stellar

A deeply customized fork of Shizuku that lets apps access system-level APIs via ADB or Root

GitHub Stars GitHub Forks GitHub Issues GitHub Release


Official Community: QQ Group(A Telegram group may be provided in the future)

Language: English | 中文

Overview

Stellar is a deeply customized fork of Shizuku, designed to give developers a more flexible and powerful privileged API framework. Once the service is started via ADB wireless debugging or Root, apps can call APIs that require system-level permissions — without needing Root themselves.

Tip:We encourage contributors to submit Pull Requests for stable, high-quality changes rather than keeping modifications solely in their own forked repositories.

Key Features

Stellar introduces the following core improvements over the original Shizuku:

Enhanced Permission System

  • Brand-new permission architecture — ditches the single-permission model in favor of a granular, multi-dimensional permission management system
  • Tiered permission control:
    • stellar — core API access, grants the ability to call basic service functions
    • follow_stellar_startup — startup-follow permission, binds an app's lifecycle to the Stellar service
  • Smart permission callbacks — enhanced callback mechanism lets clients know exactly what kind of grant they received (permanent vs. one-time)
  • Complete permission management API — full set of query, request, and revoke interfaces for complex business scenarios

Startup & Service Optimizations

  • Boot startup — apps can attempt to auto-start at boot via boot broadcasts, accessibility service, or Root; supports pre-warming for offline startup
  • Follow-startup — apps can register as companion processes of the Stellar service, waking up automatically when the service starts
  • Dual-process watchdog — an optional daemon process lets Stellar and the daemon monitor each other and restart on abnormal termination

Architecture Refactoring

  • Service layer rebuilt — core service architecture redesigned with optimized inter-module communication for better performance and responsiveness
  • UserService rewritten — user service layer fully refactored for better maintainability and extensibility
  • Shizuku compatibility fixes — known issues inherited from upstream Shizuku have been patched for greater stability

UI/UX Improvements

Stellar's interface has been completely overhauled for a more modern, intuitive experience:

  • New authorization management UI — built with Material Design 3, offering a clean and elegant permission control center
  • Refreshed authorization flow — redesigned interaction makes granting permissions smoother and more natural
  • Visual permission breakdown — the authorization screen clearly displays each individual permission
  • Improved app list — authorized apps at a glance with permission status
  • Upgraded onboarding — redesigned setup guide helps new users get started faster

Key Differences from Shizuku

Removed Features

  • rish — the built-in root shell tool from Shizuku has been removed
  • Sui — API support for Zygisk-Sui has been dropped

New Features

  • Follow-startup mechanism — apps can auto-launch alongside the Stellar service
  • Granular permission system — fine-grained control over multiple permission types
  • Enhanced permission callbacks — one-time grant awareness
  • Privilege downgrade — after starting via Root, Stellar can drop to the Shell user for improved security
  • MediaTek support — fixes a critical bug in upstream v13.6.0 that prevented Shizuku from running on MediaTek devices
  • In-app updates — fetch update details from GitHub and update Stellar without leaving the app
  • TCP capability — start or pre-warm Stellar while connected to Wi-Fi, enabling Wi-Fi-free startup on the next boot before Wi-Fi connects

Re-enabled Features

Stellar brings back features that were deprecated in recent Shizuku releases:

  • newProcess() API — the direct privileged process creation method that Shizuku deprecated but Stellar continues to support
  • Runtime permission grant/revoke — grant or revoke Android runtime permissions for other apps via grantRuntimePermission() and revokeRuntimePermission()

These remain genuinely useful in certain scenarios, and Stellar keeps them available for a more complete API surface.

Architecture Optimizations

  • 100% Kotlin codebase
  • Streamlined module structure
  • Standardized naming conventions

Shizuku Compatibility Layer

Stellar ships with a built-in Shizuku compatibility layer, so apps written against the Shizuku API work with Stellar without any code changes.

How It Works

The compatibility layer achieves seamless compatibility through:

  1. Client-side compatibility — ShizukuProvider receives the Binder from the Stellar service and manages connection state via ShizukuCompat
  2. Server-side interception — ShizukuServiceIntercept implements the full IShizukuService interface, forwarding Shizuku API calls to the Stellar service
  3. Permission mapping — Shizuku permission requests are automatically mapped to Stellar's shizuku permission

Supported APIs

The compatibility layer covers Shizuku's core APIs:

  • pingBinder() / getVersion() / getUid() — service status queries
  • checkSelfPermission() / requestPermission() — permission management
  • newProcess() — privileged process creation
  • addUserService() / removeUserService() — user service management
  • transactRemote() — Binder transaction forwarding

Enable / Disable

The Shizuku compatibility layer is enabled by default. You can turn it off in the Stellar Manager's settings page under "Shizuku Compatibility Layer."

Notes

  • The compatibility layer automatically rejects requests from Shizuku Manager to avoid conflicts
  • Apps using the Shizuku API need ShizukuProvider configured in their AndroidManifest.xml

Privilege Downgrade

The privilege downgrade feature lets Stellar start with Root, then automatically drop to the Shell user (uid=2000) for improved security.

How to Enable

Toggle on "Privilege Downgrade" in the Stellar Manager's settings page.

How It Works

With privilege downgrade enabled, the startup flow is:

su (root) → libchid.so 2000 → libstellar.so --apk=...
  1. Execute libchid.so with Root
  2. libchid.so switches the process identity to uid=2000 (Shell user)
  3. libstellar.so starts the service as Shell

Notes

  • Privilege downgrade only takes effect in Root startup mode
  • ADB startup mode already runs as uid=2000, so no downgrade is needed
  • After downgrading, the service loses Root-only capabilities (e.g., writing system properties, accessing protected directories)

Quick Start

Integrating Stellar into Your App

See the full integration guide and API documentation:

Basic Usage

  1. Add the JitPack dependency: com.github.roro2239:Stellar-API:latest.release
  2. Configure StellarProvider in your AndroidManifest
  3. Initialize Stellar and request permissions
  4. Use Stellar APIs to perform privileged operations

See the API Integration Guide for detailed steps

Credits & License

Credits

This project is based on Shizuku, developed by RikkaApps. Huge thanks to the original authors for their outstanding work.

License

The modifications in this project are licensed under the Mozilla Public License 2.0.

The original Shizuku code retains its Apache License 2.0.

Component License
Stellar modifications Mozilla Public License 2.0
Shizuku original code Apache License 2.0

Contributing

Issues and pull requests are welcome. Before submitting code, please ensure:

  • Code style follows project conventions (Kotlin)
  • Necessary comments and documentation are included
  • All features pass testing

Contact

Related Links

Close

How Shizuku is used

Can run arbitrary shell commands, read and set system properties, call system binders and host user services via `Runtime.exec`

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Stellar acts as a Shizuku compatible server, so authorized Shizuku client apps get privileged execution through it.

  • Run arbitrary shell commands: a Shizuku app can start any command it requests in a privileged shell process and read its output, wait for it, or stop it through Shizuku.
  • Read and change system properties: a Shizuku app can read any system property value and set property values through Shizuku.
  • Call system services directly: a Shizuku app can send a direct binder transaction to a system service binder through Shizuku, with the server identity applied.
  • Run privileged app code: a Shizuku app can start its own background service component inside the privileged process and communicate with it through Shizuku, including interactive shell sessions with terminal handling.

Android APIs or commands used

  • Runtime.exec
  • android.os.SystemProperties.get
  • android.os.SystemProperties.set
  • IBinder.transact
Close

Changelog

What's new for version 1.1

特殊调整

  • compileSdk 和 targetSdk 升至 37

修复

  • 修复在 Android 17 设备上无法获取授权应用列表的问题
  • 修复在 Android 17 设备上重启 Stellar 可能需要重新为应用授权的问题
  • 修复其他更新 Android 17 的设备可能出现的部分问题
Close

Permissions

13 permissions requested

  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.FOREGROUND_SERVICE_DATA_SYNC
  • android.permission.INTERNET
  • android.permission.POST_NOTIFICATIONS
  • android.permission.USE_LOOPBACK_INTERFACE
  • android.permission.ACCESS_LOCAL_NETWORK
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.WRITE_SECURE_SETTINGS
  • android.permission.WAKE_LOCK
Close