手机重启后 App Ops 不能用了怎么重新激活 Shizuku
问题描述
手机重启后打开 App Ops,发现它提示"Shizuku 未运行"或"工作模式未激活",之前设的权限不能修改了。
为什么会这样
Android 安全机制决定了:
- ADB 激活的 Shizuku 服务在手机重启后会被终止(没有持久化为系统服务)
- 系统认为 ADB 调试是临时操作,不会让它持久运行
- 但App Ops 的权限设置本身不会丢失——它们已经写入了 appops 数据库
所以重启后的状态是:权限设置还在,但暂时无法用 App Ops 修改它们。
重新激活步骤
USB 调试方式(最稳定)
- 手机用数据线连接电脑
- 确认手机弹出 USB 调试授权对话框 → 勾选允许
- 电脑端打开命令提示符/终端
- 执行 Shizuku 启动命令(通常是 Shizuku 应用内复制的那条):
adb shell sh /data/user_de/0/moe.shizuku.privileged.api/start.sh
- 手机屏幕弹出 Shizuku 授权请求 → 允许
- App Ops 自动检测到 Shizuku 运行中
无线调试方式(Android 11+,不用插线)
- 手机开启无线调试(开发者选项 → 无线调试)
- 电脑执行连接命令(IP 和端口每次可能变):
adb connect <手机IP>:<无线调试端口>
- 如果提示"未授权",先用配对码配对:
adb pair <手机IP>:<配对端口>
然后输入配对码(手机屏幕显示)
- 连接成功后执行 Shizuku 启动命令:
adb shell sh /data/user_de/0/moe.shizuku.privileged.api/start.sh
- 手机弹出 Shizuku 授权 → 允许
省事技巧
技巧一:Root 激活(终极省心)
如果手机已 Root:
- 打开 Shizuku 应用
- 选择"通过 Root 激活"
- Root 激活的 Shizuku 服务开机自启,重启后自动运行
- 彻底告别每次重启都要插线/跑命令
这是最推荐的方案,但需要手机刷 Magisk 或其他 Root 方案。
技巧二:Tasker 自动化(需 Root)
如果有 Root 且用 Tasker:
- 创建一个 Tasker 任务,开机时自动执行 ADB 命令
- 或让 Tasker 自动启动 Shizuku 的 Root 激活
- 自动化程度更高
技巧三:保存命令快捷方式
把 Shizuku 启动命令保存在:
- 电脑桌面的批处理文件(
.bat) - 电脑上的笔记/便签
- 手机上的笔记 App
- 避免每次都去 Shizuku 应用里找命令
技巧四:App Ops 重启快捷方式
App Ops 应用内可能有"重新激活工作模式"的快捷入口。Shizuku 服务停止时 App Ops 会尝试自动重连,但成功率不高——还是手动执行 ADB 命令更稳。
如果 Shizuku 启动命令报错
| 错误 | 原因 | 解决 |
|---|---|---|
adb: no devices/emulators found | 手机没连接 | 插线或重连无线调试 |
unauthorized | USB 调试授权被撤销 | 手机上重新点允许 |
command not found | ADB 工具不在 PATH | 用完整路径或 cd 到 adb 目录 |
No such file or directory | Shizuku 服务文件路径不对 | 从 Shizuku 应用内复制当前命令 |
SecurityException | Root 权限请求被拦截 | 在 SuperSU/Magisk 里允许 App Ops 和 Shizuku |
权限设置会丢吗
不会。每次重启只需要重新激活 Shizuku 服务,之前在 App Ops 里设的权限修改已经写入 Android 系统的 appops 数据库了,只要不刷机不恢复出厂设置就一直在。