HotReloadSession
API 102 的会话式热重载协调器。
把同一代的 hook 安装集中到 onTargetReady,并在每个 hook 上使用 reloadKey("...")。重载时,libxposed 会先原子替换 reloadKey(即底层 hook ID)与 executable 都相同的 hook; 本类在所有新 hook 成功安装后,才 unhook 没有被新代码重新声明的旧 hook。 因此不会出现旧实现先被全部摘掉、再等待新实现逐个安装的空窗。
一个 module entry 对应一个 session。不要在异步线程里安装属于该 session 的 hook:只有 onTargetReady 的同步执行窗口会被记录和收尾。session 会接管 HotReloadedParam.oldHookHandles 中的全部旧 handle,不要与 raw libxposed hook、其它 session 或其它旧 handle 管理方式混用。 libxposed 只保证单个 handle / 相同 ID hook 的原子替换,不提供跨多个 hook 的整批回滚。
Functions
Link copied to clipboard
注册目标进程就绪后的 hook 安装逻辑。
Link copied to clipboard
fun restore(base: XposedInterface, param: XposedModuleInterface.HotReloadedParam, onExtra: Consumer<Array<Any?>>? = null): HotReloadResult
在新 entry 的 onHotReloaded 中调用。