Android 14 以上使用 Shizuku:rish 写权限的新限制
一条容易被忽视的版本更新说明
v13.5.2 的更新日志里有一条对终端用户影响很大的记录:Android 14+ 系统强制要求 app_process 运行的 dex 文件不可写,因此 rish 文件放在 /sdcard(共享存储)里将无法工作,用户需要把它复制到终端应用的私有数据目录。
翻译成人话:从 Android 14 开始,系统出于安全考虑收紧了一个技术细节——以调试方式执行的代码文件,不允许处于「人人可写」的位置。共享存储恰恰是这种位置,放那里的 rish 自然被拒之门外。
谁会撞上这个限制
画像很具体:
- 系统 Android 14 或更高;
- 使用 rish 在终端应用里跑命令的用户。
不用 rish 的用户完全不受影响——这条限制只作用于「从文件执行代码」的场景,Shizuku 服务本身的激活、授权、生态应用使用都照旧。
正确的文件放置方法
以最常用的 Termux 为例:
- 从 Shizuku 应用内导出 rish 文件;
- 复制进终端应用自己的数据目录(Termux 的 home 目录,即其私有数据区内),不要留在 Download、/sdcard 这类共享位置;
- 赋予可执行权限后按常规方式运行。
不同终端应用的私有目录路径不同,原则统一:放进应用的数据目录。应用检测到文件位置不对时,新版本 Shizuku 会主动提示,按提示搬文件即可。
顺带了解:Android 14 上还有一条相关适配
同一版本(13.5.2)还包含了对 ColorOS Android 14 的适配——同是 Android 14,不同厂商的兼容问题各不相同。如果你在 Android 14 设备上遇到的问题不在本页范围,按机型去 排障章节 找,或确认 Shizuku 版本不低于 13.5.2(版本脉络见 版本演进)。
一个延伸的判断方法
这条限制也示范了阅读官方更新日志的价值:Shizuku 的版本说明写得很细,每次系统大版本升级后扫一眼 Releases 说明,能提前避开一大批「为什么突然不行了」的困惑。最新动态见 最新版介绍。