Skip to content

1.74

Choose a tag to compare

@XiaoTong6666 XiaoTong6666 released this 14 Jun 13:06
47a5cb7

同步自 主仓库 构建产物喵

  • Version: 1.74
  • VersionCode: 74
  • Commit: be87c96
  • Build time: 1m 28s
  • SHA256: 10fe79ccbace6af0659f5cf100cb91b932fbfac5dcdc1381c47a760c15c4c9d9

Message

feat(xposed): 迁移至 libxposed API 102 并引入 Native 热重载架构

将 Xposed 模块升级至 libxposed API 102。移除本地 xposed-stubs 模块,改为通过 libs.versions.toml 引用官方 io.github.libxposed:api:102.0.0 依赖。清理 AndroidManifest.xml 中废弃的 Xposed <meta-data> 标签,将模块配置完全交由 module.prop 接管,并启用 autoHotReload。与此同时,将 Java/Kotlin 编译目标统一升级至 Java 17。

Java 层实现 onHotReloading 与 onHotReloaded 回调以支持动态热重载。新增 buildSavedInstanceState 和 restoreSavedInstanceState 机制,在热重载期间安全保存并恢复 Application、ClassLoader 等上下文状态。重构 Hook 逻辑,通过 HookHandle 记录并替换 Application.attach 与 isUidAllowedAccessToDataOrObbPathForFuse 的 Hook 实例,同时完善 BroadcastReceiver 的注销、重建与热重载后配置重同步生命周期。

Native 层重构为“宿主-载荷 (Anchor-Payload)”架构。将大部分原函数入口与运行期状态收敛到 AnchorProcessState 和 HookThreadState 中管理,并补齐 gOriginalIsAppAccessiblePath 的状态一致性。fuse_wrappers.cpp 降级为路由转发层,核心隐藏逻辑抽离至 payload_builtin.cpp。

引入基于 FuseHideAnchorApi 和 FuseHidePayloadApi 的 ABI 演进机制。新增 anchor_state.cpp 管理 NativeGeneration,通过原子引用计数 (activeCalls) 和排空标志 (draining) 实现无锁、安全的 RCU 风格 Native 逻辑热替换。当前 external payload 的设计边界明确为“同仓构建、共享主库 helper 与状态的热重载代码载体”,而不是面向第三方的完全独立插件 ABI,并在 CMake 中新增 fusehide_payload 构建目标。

新增 switchToBuiltinNativeGeneration 等 JNI 接口供 Java 层在热重载时触发 Native 代际切换。更新多语言 strings.xml 补充应用描述及配置恢复相关文案,并在 README.md 中补充 Native 热重载校验指南与 ABI 演进规则。