Xposed 是什么?
Xposed 是一款安卓系统的框架,可以在不修改 APK 文件的情况下修改程序,基于它可以制作出许多功能强大的模块。Xposed 框架通过替换 Android 系统的关键文件,可以拦截几乎所有 Java 函数的调用,并允许通过 Xposed 模块中的自定义代码更改调用这些函数时的行为。Xposed 框架需要在拥有 root 权限的设备上安装,Xposed Installer 是 Xposed 框架的官方安装器,可以在手机上安装 Xposed 框架,也提供模块的下载、管理、日志显示等功能。
Edxposed 是什么?
Edxposed 是一款依赖 Magisk 的安卓系统框架,它是 Xposed 的一个分支,也是一个 Riru 模块。Edxposed 可以让你在不修改任何应用和系统组件的情况下,改变它们的行为和功能,实现各种定制和优化。Edxposed 使用了 SandHook 和 YAHFA 两种 hooking 框架,提供了与原版 Xposed 一致的 API,所以 Edxposed 可以兼容大部分的 Xposed 模块。Edxposed 还有一个配套的管理器应用,可以让你下载、安装、管理和更新各种模块。
Lsposed 是什么?
Lsposed 是一款依赖 Magisk 的安卓系统框架,它可以让你在不修改任何应用和系统组件的情况下,改变它们的行为和功能,实现各种定制和优化。Lsposed 是 Edxposed 的一个分支。Lsposed 与 Edxposed 相互兼容,却比 Edxposed 更加简洁、易用和高效,是现如今饱受诟病的 Edxposed 的极佳替代品。Lsposed 使用了 YAHFA 的 hooking 框架,提供了与原版 Xposed 一致的 API。Lsposed 还有一个配套的管理器应用,可以让你下载、安装、管理和更新各种模块。
Magisk 是什么?
Magisk 框架是一个通用的第三方 systemless 接口。systemless 的意思是不修改系统分区,而是在 boot image 中创建一个新的分区,用于存放 Magisk 的文件和模块,然后通过修改 init 进程,使得系统在启动时加载 Magisk 的分区,从而实现对系统的修改。这样做的好处是,可以避免触发系统的安全检测,也可以随时恢复原始的系统状态,不影响系统的稳定性和更新。
它们之间的关系
简单描述一下,可能并不准确。Edxposed 是 Xposed 的改进版,Lsposed 则是 Edxposed 的改进版,目前推荐使用的是 Lsposed。Magisk 是 Edxposed 和 Lsposed 的基础。
Xposed,Edxposed,Lsposed 的优缺点
- Xposed 的优点是:
- 因为是最早期的框架,所以它有很多成熟的模块
- Xposed 的缺点是:
- 它需要修改系统分区,会触发 SafetyNet(安卓的一种安全防护机制)
- 它只支持到 Android 8
- Edxposed 的优点是:
- 它是一个 Magisk 模块,所以它不需要修改系统分区,也不会触发 SafetyNet
- 它使用了 SandHook 和 YAHFA 两种 hooking 框架,提供了与原版 Xposed 一致的 API,所以 Edxposed 可以兼容大部分的 Xposed 模块
- 它支持从 Android 8 到 Android 11 的系统版本
- Edxposed 的缺点是:
- 它默认使用全局模式,即它会默认对全部应用进行注入,这会影响系统的流畅度和稳定性
- 它的更新和维护不够及时
- Lsposed 的优点是:
- 它是一个 Magisk 模块,所以它不需要修改系统分区,也不会触发 SafetyNet
- 它使用了 YAHFA 的 hooking 框架,提供了与原版 Xposed 一致的 API,所以 Lsposed 可以兼容大部分的 Xposed 模块
- 它支持从 Android 8 到 Android 13 的系统版本
- 它可以让你为每个模块设置作用域,只对需要的应用和系统组件生效,避免不必要的 hooking,提高性能和稳定性
- 它的更新和维护非常及时
- Lsposed 的缺点是:
- 模块数量可能没有其他两个框架多
- 它需要用户自己为每个模块设置作用域,这可能会增加用户的操作复杂度和出错的可能性