理解 Xposed 机制才能用好这个框架
Xposed 是什么来头
Xposed 框架由开发者 rovo89 创建,思路在当年相当超前:不修改任何 APK,也不刷机,而是在应用运行时拦截方法调用,把模块代码插到原方法的前后,甚至替换返回值。
它带来的三个特性奠定了整个生态:
- 跨版本可用:只要应用没重写相关代码,同一个模块可以跨应用版本、跨 ROM 工作
- 完全可逆:所有改动只在内存里,停用模块重启即恢复原样
- 多模块叠加:多个模块可以同时改同一个方法,按优先级依次生效——改 APK 就做不到这一点
老框架为什么退场
原版 Xposed 官方只支持到安卓 8.1。它当年靠替换系统核心文件 app_process 来注入,这种"硬着陆"方式在后来的系统安全机制(如 Verified Boot、SELinux 收紧)面前越来越难以为继。
继承关系一图流
- EdXposed:第一个在 root 环境里借道 Riru 重做 Xposed 的尝试,是本框架的直接前身
- 本框架:接棒 EdXposed,改用自研的 LSPlant 钩子引擎,注入方式升级为 Zygisk(或旧的 Riru)
- libxposed:官方主导的新一代模块 API,逐步取代老旧接口
所以今天社区里说"装个 Xposed 模块",实际指的几乎都是装在本框架这一类现代实现上——模块生态没变,地基全换了。
模块从哪来
模块就是普通 APK,来源是专门的模块仓库:管理器里的"仓库"页可以直接浏览下载,线上仓库收录一千多个模块。给老 Xposed 写的模块与给新框架写的模块在这里混编,装之前看清要求的 API 版本即可。