Thor 权限模式详解——Root 与 Shizuku 两种路径的区别与选择
为什么需要权限模式
Thor 的核心功能——冻结/卸载系统应用——需要调用 Android Package Manager 的隐藏命令(pm disable、pm uninstall)。这些命令普通应用无法直接调用,必须通过 shell 级别的权限桥接才能执行。Thor 提供两种路径实现这一目标。
模式一:Root 模式
工作原理
Thor 检测设备是否已通过 Magisk 等方案获取 Root 权限。如果检测到 su 命令可用,Thor 直接以 root 身份运行 shell 命令,调用 Package Manager API。
优缺点
| 优势 | 劣势 |
|---|---|
| 功能最完整,无任何限制 | Root 可能触发 SafetyNet / Play Integrity 检查失败 |
| 不需要额外配置中间层 | 修改系统分区,存在一定安全风险 |
| 稳定性高,不依赖 ADB 连接 | 解锁 Bootloader 影响厂商保修 |
| 启动即可用,无激活流程 | 部分机型 Root 难度大 |
适合场景
- 设备已经稳定 Root(Magisk + Zygisk + DenyList 已正确配置)
- 已通过 Play Integrity 检查(可安装 Play Integrity Fix 模块绕过)
- 高级用户,熟悉 Root 操作
模式二:Shizuku 模式(推荐大多数用户)
工作原理
Shizuku 通过 ADB 调试桥获取有限的 shell 权限,然后以守护进程形式持续运行。Thor 作为客户端连接 Shizuku 服务,在其权限范围内执行命令。
整条链路:
Thor 客户端 → Shizuku 守护进程 → ADB shell 权限 → Package Manager API
优缺点
| 优势 | 劣势 |
|---|---|
| 不需要解锁 Bootloader | 需要先激活 Shizuku(一次性) |
| 不修改系统分区 | Shizuku 服务重启后需重新激活(无线调试方案可自动恢复) |
| 不影响厂商保修 | 部分厂商 ROM 限制无线调试功能 |
| 不触发 SafetyNet | 功能略有裁剪(如某些系统应用可能无法卸载) |
适合场景
- 不想 Root,但又想管控系统预装
- 追求设备纯净度但不想冒险修改系统
- 普通用户、品牌机型用户
两种模式功能对比
| 功能 | Root 模式 | Shizuku 模式 |
|---|---|---|
| 冻结/解冻用户应用 | ✅ | ✅ |
| 冻结/解冻系统应用 | ✅ | ✅(大部分) |
| 卸载/重装应用 | ✅ | ✅(系统应用有限制) |
| 批量操作 | ✅ | ✅ |
| 终止进程 | ✅ | ✅ |
| 清除应用数据 | ✅ | ✅ |
| 安装 APK | ✅ | ✅ |
| Packages.xml 编辑 | ✅ | ❌ |
| GPU 负载读取 | ✅ | ❌ |
| 闪存清理 | ✅ | ❌ |
如何切换权限模式
Thor 的设置页底部有权限模式选择器:
- 打开设置标签页
- 找到「权限模式」区块
- 选择 Root 或 Shizuku
- 如果选择 Shizuku 且未激活,会弹出激活引导
建议:先尝试 Shizuku 模式。如果发现某些功能受限(比如想彻底卸载某个顽固的系统应用),再考虑 Root。大多数日常管理场景 Shizuku 完全够用。
权限模式与设备安全
无论选择哪种模式,Thor 本身都非常安全:
- Thor 不会修改系统分区的任何文件
- 所有 shell 调用都经过 Shizuku / Root 的权限检查
- 冻结操作调用的是系统原生的
pm disable-user命令,完全可逆 - 卸载系统应用实际执行的是
pm uninstall --user 0,不碰分区,只是从当前用户移除
真正需要谨慎的是冻结的对象——某些核心系统应用被冻结后可能导致系统异常。详见 系统应用管理安全指南。