Shizuku
33,444
Stars
3,627
Forks
649
Watchers
639
Open Issues
Apache-2.0
许可证
Kotlin
语言
2017-05-24
创建时间
2025-06-18
最近更新
项目能做什么
通过 app_process 启动 Java 进程,使普通应用能以 adb 或 root 权限直接调用系统 API。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Shizuku ## Background When developing apps that requires root, the most common method is to run some commands in the su shell. For example, there is an app that uses the `pm enable/disable` command to enable/disable components. This method has very big disadvantages: 1. **Extremely slow** (Multiple process creation) 2. Needs to process texts (**Super unreliable**) 3. The possibility is limited to available commands 4. Even if ADB has sufficient permissions, the app requires root privileges to run Shizuku uses a completely different way. See detailed description below. ## User guide & Download <https://shizuku.rikka.app/> ## How does Shizuku work? First, we need to talk about how app use system APIs. For example, if the app wants to get installed apps, we all know we should use `PackageManager#getInstalledPackages()`. This is actually an interprocess communication (IPC) process of the app process and system server process, just the Android framework did the inner works for us. Android uses `binder` to do this type of IPC. `Binder` allows the server-side to learn the uid and pid of the client-side, so that the system server can check if the app has the permission to do the operation. Usually, if there is a "manager" (e.g., `PackageManager`) for apps to use, there should be a "service" (e.g., `PackageManagerService`) in the system server process. We can simply think if the app holds the `binder` of the "service", it can communicate with the "service". The app process will receive binders of system services on start. Shizuku guides users to run a process, Shizuku server, with root or ADB first. When the app starts, the `binder` to Shizuku server will also be sent to the app. The most important feature Shizuku provides is something like be a middle man to receive requests from the app, sent them to the system server, and send back the results. You can see the `transactRemote` method in `rikka.shizuku.server.ShizukuService` class, and `moe.shizuku.api.ShizukuBinderWrapper` class for the detail. So, we reached our goal, to use system APIs with higher permission. And to the app, it is almost identical to the use of system APIs directly. ## Developer guide ### API & sample https://github.com/RikkaApps/Shizuku-API ### Migrating from pre-v11 > Existing applications still works, of course. https://github.com/RikkaApps/Shizuku-API#migration-guide-for-existing-applications-use-shizuku-pre-v11 ### Attention 1. ADB permissions are limited ADB has limited permissions and different on various system versions. You can see permissions granted to ADB [here](https://github.com/aosp-mirror/platform_frameworks_base/blob/master/packages/Shell/AndroidManifest.xml). Before calling the API, you can use `ShizukuService#getUid` to check if Shizuku is running user ADB, or use `ShizukuService#checkPermission` to check if the server has sufficient permissions. 2. Hidden API limitation from Android 9 As of Android 9, the usage of the hidden AP阅读完整原文
商业机会分析 AI 生成
基于Shizuku生态的无Root高阶系统工具箱 (C端SaaS/买断)
| 产品构想 | 利用Shizuku直接调用系统Binder的优势,开发免Root的深度应用管理(批量冻结、后台行为限制、权限精细化控制、无损应用备份恢复)商业工具。 |
| 核心功能 | 利用Shizuku IPC调用隐藏API实现免Root应用停用/卸载;电池高级优化策略定制;免Root应用数据备份。 |
| 目标用户 | 不能/不想解锁Root但需要深度控制手机的Android高级用户、隐私极客。 |
| 难度/周期 | 中等 · 1-3个月 · 成本:极低(主要是个人开发工时及Play Store开发者账号费用) |
| 收费模式 | 应用内购买高级功能(Freemium)或Google Play付费下载(买断制)。 |
| 竞争风险 | 各手机厂商定制ROM(MIUI/ColorOS/OriginOS等)对ADB权限限制差异大,适配维护成本高。 |
| 依据 | 已验证事实 |
企业轻量级无Root设备管控方案 (MDM替代方案)
| 产品构想 | 针对中小型企业或测试机房,封装基于Shizuku技术的轻量化设备批量管理与静默部署套件,无需刷机或搭建重型EMM。 |
| 核心功能 | 局域网无线ADB自动激活Shizuku;批量静默安装/降级应用;远程无感抓取系统私有日志;批量设备状态监控与恢复。 |
| 目标用户 | 中小企业IT管理员、移动自动化测试农场/设备实验室负责人。 |
| 难度/周期 | 较高 · 3-6个月 · 成本:低(云控制台服务器成本与测试设备采购) |
| 收费模式 | 按受管设备数量收取月费/年费(B2B订阅制)。 |
| 竞争风险 | Android系统升级可能进一步收紧ADB Shell权限或隐藏API反射限制(如AndroidHiddenApiBypass失效风险)。 |
| 依据 | AI推测 |
开发者高级跨版本Binder适配SDK与技术支持服务
| 产品构想 | 针对希望免Root接入高级系统能力的App团队,提供封装好高低版本Android API差异的商业SDK与合规技术咨询服务。 |
| 核心功能 | 规避Android 9+ hidden API限制的预封装库;跨API 26-34+的Binder TransactionCode动态解析模块;开箱即用的Shizuku生命周期管理组件。 |
| 目标用户 | 开发清理类、自动化类、辅助功能类App的中小开发团队及独立开发者。 |
| 难度/周期 | 高 · 2-4个月 · 成本:低(主要为技术积累与文档维护) |
| 收费模式 | 商业授权许可费(按应用授权)及技术支持咨询费。 |
| 竞争风险 | 目标开发者市场规模有限,且大部分开源社区开发者倾向于直接使用免费开源的Shizuku-API自行折腾。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| timschneeb/awesome-shizuku | 中文介绍暂未生成 Curated list of awesome Android apps making use of Shizuku |
10,837 | Python |
| wxxsfxyzm/InstallerX-Revived | 中文介绍暂未生成 More Expressive InstallerX ! |
7,432 | Kotlin |
| aistra0528/Hail | 中文介绍暂未生成 Disable / Hide / Suspend / Uninstall Android apps without ro |
7,249 | Kotlin |
| samolego/Canta | 中文介绍暂未生成 Uninstall any Android app without root (with power of Shizuk |
7,094 | Kotlin |
| sameerasw/essentials | 中文介绍暂未生成 Essential tools and mods for Android nerds |
3,779 | Kotlin |
| zacharee/InstallWithOptions | 中文介绍暂未生成 Simple-ish app using Shizuku to install APKs on-device with |
3,427 | Kotlin |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2017-05-24,最近推送 2025-06-18,发布过 59 个 Release |
| 社区活跃 | Star 33,444 / Fork 3,627 / Issue 639(数据支持,可自行核实) |
| 许可证 | Apache-2.0 |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/RikkaApps/Shizuku.git cd Shizuku # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。