hyperceiler 中文文档 下载 App

重启后功能失效:配置持久化问题

旧版本的配置存储问题

HyperCeiler 2.10.165 及以前版本使用 XSharedPreference 来存储功能开关的配置——XSharedPreference 是 Xposed 框架提供的一个跨进程配置读写机制,设计用于让模块 App(UI)写的配置在被 Hook 的作用域进程里可读。

但 XSharedPreference 有一个已知的兼容性问题:当作用域进程以非 root 用户身份运行时(大多数系统进程都是这样),有时会读不到配置文件里的最新值。表现就是:你在 HyperCeiler App 里明明打开了开关,也重启了作用域,但功能还是不生效——或者第一次重启生效、第二次重启又失效了。

2.10.166 起的修复

HyperCeiler 2.10.166 在 Release Notes 里明确提到:

舍弃 XSharedPreference 并使用全新的配置存储逻辑

新版本把配置存储从 XSharedPreference 换成了一种更可靠的跨进程方案,解决了这个持久化问题。同时还:

舍弃使用 prop 存储 HyperCeiler 内容,避免一些过时且无用的检测

所以如果你还在用 2.10.165 或更早版本,升级到 2.10.166 是解决配置持久化问题的最直接方法。

升级前的临时 workaround

如果暂时不能升级(比如等 OS3 分支更稳定),可以试试:

  1. 把 HyperCeiler App 和所有作用域进程都终止
  2. 手动用 root shell 进入 /data/user/0/com.sevtinge.hyperceiler/shared_prefs/ 目录,确认配置文件确实写入了
  3. 重启设备而不是单个作用域进程

升级后还是失效怎么办

如果升级到 2.10.166 还是有"重启后失效"的情况,按以下顺序排查:

  1. LSPosed 作用域里是不是漏勾了某个进程?
  2. 是不是主动安全模式已经触发(App 右上角有安全模式徽章)?
  3. 同时装了其他 Xposed 模块吗?冲突模块会相互覆盖配置
  4. 你的设备上有没有什么清理类 App(比如"手机清理"、"内存清理")会定期清空 /data 分区的临时文件?