LSPosed

A Riru module trying to provide an ART hooking framework which delivers consistent APIs with the OG Xposed, leveraging YAHFA hooking framework.

Xposed is a framework for modules that can change the behavior of the system and apps without touching any APKs. That’s great because it means that modules can work for different versions and even ROMs without any changes (as long as the original code was not changed too much). It’s also easy to undo. As all changes are done in the memory, you just need to deactivate the module and reboot to get your original system back. There are many other advantages, but here is just one more: multiple modules can do changes to the same part of the system or app. With modified APKs, you have to choose one. No way to combine them, unless the author builds multiple APKs with different combinations.

Supported Versions

Android 8.1 ~ 12, 12L Beta1

Install

  1. Install Magisk v23+
  2. Install Riru v25+ from Magisk repo
  3. Download and install LSPosed in Magisk app
  4. Reboot
  5. Follow the prompt to add LSPosed shortcut to launcher
    • Some launchers won’t show a prompt but silently add the shortcut
    • If the shortcut cannot be added, you can install the manager located at /data/adb/lspd/manager.apk manually
    • If you accidentally deleted the shortcut, reboot your device or install the manager manually to add the shortcut again
    • If you don’t need a shortcut, install the manager manually and you can disable future shortcut being added in the settings
    • In any case, you can dial *#*#5776733#*#* (aka LSPosed) to launch the manager if you have a dialer
  6. Have fun 🙂

Download

Latest Version

1.8.5

Changelog

  • Update translation to fix crashes in some languages
  • Some UI fixes
  • Avoid calling finishReceiver for unordered broadcasts
  • Clear application profile data before performing dexOpt
  • Distinguish update channels when checking updates
  • Fix hooking/deoptimizing static methods fails on some Android 13 devices
  • Repository shows assets size and download counts
  • Fix hooking proxy method
  • Init resources hook when calling hookSystemWideLayout

更新日志

  • 更新翻译以修复部分语言下的崩溃
  • 一些用户界面的修复
  • 避免为无序广播调用 finishReceiver
  • 执行 dexOpt 之前清空应用 profile 数据
  • 检查更新时候区分更新通道
  • 修复某些 Android 13 设备上静态方法挂钩/反优化失败
  • 仓库显示附件大小和下载次数
  • 修复代理方法挂钩
  • 调用 hookSystemWideLayout 时候初始化资源钩子

Contributors

@yujincheng08 @vvb2060 @Howard20181 @green1052 @5ec1cff

Here’s all all the versions:

1.8.5

Changelog

  • Update translation to fix crashes in some languages
  • Some UI fixes
  • Avoid calling finishReceiver for unordered broadcasts
  • Clear application profile data before performing dexOpt
  • Distinguish update channels when checking updates
  • Fix hooking/deoptimizing static methods fails on some Android 13 devices
  • Repository shows assets size and download counts
  • Fix hooking proxy method
  • Init resources hook when calling hookSystemWideLayout

更新日志

  • 更新翻译以修复部分语言下的崩溃
  • 一些用户界面的修复
  • 避免为无序广播调用 finishReceiver
  • 执行 dexOpt 之前清空应用 profile 数据
  • 检查更新时候区分更新通道
  • 修复某些 Android 13 设备上静态方法挂钩/反优化失败
  • 仓库显示附件大小和下载次数
  • 修复代理方法挂钩
  • 调用 hookSystemWideLayout 时候初始化资源钩子

Contributors

@yujincheng08 @vvb2060 @Howard20181 @green1052 @5ec1cff

1.8.4

Changelog

  • Tested support for Android 13
  • Fix module preference on non-primary users
  • Fix log saving
  • Apply the SELinux label of the entire WebView cache directory
  • Refactor core
  • Fix cancelNotificationWithTag for Android 11-
  • Fix broadcastIntentWithFeature on Android 12+
  • Manager targets SDK 33
  • Replace the corruption handler of DB to avoid crashing
  • Use abseil to improve performance
  • Display module/releases last publish time
  • Fix deoptimize static methods
  • Preliminary support for Android 14

更新日志

  • 通过 Android 13 兼容性测试
  • 修复非主用户的模块配置
  • 修复日志保存
  • 调整管理器 WebView 缓存目录的 SELinux 标签
  • 重构核心
  • 修复 Android 11- 的 cancelNotificationWithTag
  • 修复 Android 12+ 的 broadcastIntentWithFeature
  • 管理器目标 SDK 33
  • 替换数据库的损坏句柄以避免崩溃
  • 使用 abseil 提升性能
  • 显示模块/发行版的发布时间
  • 修复静态方法的去优化
  • 初步 Android 14 支持

Contributors

@vvb2060 @canyie @yujincheng08 @Dr-TSNG @chenxiaolong @1552980358 @TigerBeanst @dependabot @keta1 @1552980358 @fankes @Howard20181

1.8.3

Changelog

  • Fix module not working normally on Android 10
  • Refine notification on module installation (thanks @fankes)
  • Fix hook may not work on debuggable apps/modules
  • Fix XSharedPreference after a soft reboot
  • Support Android 13 beta 1
  • Fix zygisk installation on x86 only devices
  • Fix manager state restoration

更新日志

  • 修复 Android 10 下模块工作异常
  • 完善模块安装通知(感谢 @fankes)
  • 修复调试模式下模块或应用钩子可能失效
  • 修复软重启后的 XSharedPreference
  • 支持 Android 13 beta 1
  • 修复仅 x86 设备下 zygisk 版本的安装
  • 修复管理器状态恢复

1.8.2

Changelog

  • Fix rare inactivation after reboot
  • Prevent infinite recursion when modules hooked critical methods
  • Fix resource hook on ZUI devices
  • Fix resource hook for layout
  • Skip duplicate scopes for module process
  • Avoid creating the LoadedApk from ourselves
  • App UI improvements

更新日志

  • 修复一个低概率的未激活
  • 阻止因模块 hook 部分关键方法引发的无限递归
  • 修复 ZUI 设备上的资源钩子
  • 修复对布局的资源钩子
  • 修复模块重复加载
  • 避免自行创建 LoadedApk 引发的问题
  • App UI 更新与修复

1.8.1

Changelog

  • Fix preference of newly installed modules
  • Use a new way to prevent methods from being inlined for Android 10+
  • Fix crash when debugger attached to hooked process (hook may invalidate though)
  • Automatically delete old logs

更新日志

  • 修复新安装模块的配置
  • 在 Andrdoid 10+ 上使用新手段避免方法内联
  • 修复被 hook 进程挂载调试器后崩溃(hook 可能会失效)
  • 自动删除旧日志

1.8.0

Changelog

  • Add a new feature to only allow module classloaders to access Xposed API
  • Fix language switch
  • Support Android 13 DP1 and DP2
  • Fix icon creation and resource hooks on ZUI devices
  • Improve cache performance in XposedHelpers (Thanks @RinOrz)
  • Fix parasitic manager in Android 8.1
  • Fix module deactivation after reboot in rare cases
  • Fix resource cache since Android 11
  • Fix the first invoke invalid of hooked static methods since Android 12
  • Refactor to use LSPlant as ART hook framework

更新日志

  • 添加只允许模块类加载器使用 Xposed API 的新特性
  • 修复语言切换
  • 支持 安卓 13 DP1 和 DP2
  • 修复 ZUI 设备上的图标创建和资源挂钩
  • 提升 XposedHelpers 的缓存性能 (感谢 @RinOrz)
  • 修复安卓 8.1 的寄生管理器
  • 修复罕见情况下重启后模块取消激活
  • 修复自 Android 11 以来的资源缓存
  • 修复自 Android 12 以来的被 hook 静态方法第一次调用失效的问题
  • 重构以使用 LSPlant 作为 ART hook 框架

1.7.2

Changelog

  • Fix black theme when using customized color
  • Show pm hide-ed modules in the module list
  • Suppress notification of pm unhide-ing modules
  • Fix updating in-app may update to an older version
  • Fix daemon crash if any overlay Magisk module is used
  • Dynamic color shortcut for Android 12+
  • Machine translation for incomplete translation

更新日志

  • 修复自定义主题色下的纯黑主题
  • 模块列表显示被 pm hide 的模块
  • 不显示 pm unhide 模块时的通知
  • 修复应用内更新可能更新到旧版本的问题
  • 修复使用了 overlay 的 Magisk 模块时候守护进程的崩溃
  • Android 12+ 的快捷方式使用动态颜色
  • 未完成翻译使用机器翻译补全

1.7.1

Changelog

  • Update translations
  • Fix log export
  • Fix inactivation in some cases

更新日志

  • 更新翻译
  • 修复日志导出
  • 修复部分情况下的未激活

1.7.0

1.7.0 Anniversary version!

Changelog

  • Lock screen unconditionally after manager switched user (security issue for MIUI)
  • Fix repo empty when cache hint
  • Optimize hook speed
  • Upgradable first on the repo page
  • Support adding icon after launcher changed
  • Split daemon into a single package
  • More MD3 design
  • Tell user to properly reinstall Magisk if version mismatch
  • Enhance resources hook (support getFloat since Android 10 and raw getValue; thanks @PeanutMelonSeedBigAlmond)
  • Add watchdog to ensure log configuration
  • Support Magisk's new update channel
  • Refine color theme
  • Fix toolbar layout expand saved state
  • Generate language list compile time
  • Refine settings icons
  • Proper support RTL
  • Don't show on denylist when enforcement is off
  • Add crash telemetry for debug build (release build won't contain)
  • Fix shortcut disappear in some cases
  • Add an option to manually create the shortcut
  • Zygisk version supports Huawei devices
  • Zygisk version supports ZTE devices
  • Retry if system injection fails
  • Support Huawei Harmony OS

1.7.0 周年版!

更新日志

  • 管理器切换用户后无条件锁屏(MIUI 的安全问题)
  • 修复缓存命中时仓库页面空白
  • 优化 hook 速度
  • 仓库页面优先显示可更新优先显示
  • 支持切换启动器后添加图标
  • 守护进程拆分为独立包
  • 更多 MD3 设计
  • 告诉用户如果提示 Magisk 版本过低时在管理器重装 Magisk
  • 增强资源钩子 (支持 Android 10 以来的 getFloat 以及 getValue; 感谢 @PeanutMelonSeedBigAlmond)
  • 增加日志配置看门狗
  • 支持 Magisk 的新模块更新方式
  • 优化色彩主题
  • 保持管理器标题栏的展开状态
  • 编译期生成语言列表
  • 优化设置图标
  • 正确支持 RTL 语言
  • 强制拒绝列表关闭时不显示提示
  • 调试版增加崩溃遥测(发行版不会带)
  • 修复某些情况下图标消失
  • 设置增加手动创建图标选项
  • Zygisk 版兼容华为设备
  • Zygisk 版兼容中兴设备
  • 尝试在系统注入失败时重新注入
  • 兼容华为鸿蒙系统

1.6.5

Changelog

  • Fix bootloop on some OPPO devices
  • Enable the resources hook when calling SystemWideReplace
  • Retain parasitic manager in recent tasks
  • More MD3 style design
  • Fix denylist warning
  • Fix module update broadcast in Android 12
  • Support Lenovo (Motorola) app clones
  • Fix system properties export on some devices
  • Fix modules not working on some weird devices (Lenovo pad)

更新日志

  • 修复部分 OPPO 设备上的 bootloop
  • 调用 SystemWideReplace 时候自动开启资源钩子
  • 在最近任务中显示寄生管理器
  • 更多 MD3 风格设计
  • 修复拒绝列表警告
  • 修复 Android 12 下模块更新广播
  • 支持联想(摩托罗拉)应用多开
  • 修复部分设备下系统属性导出
  • 修复在奇怪设备下(联想平板)模块不生效的问题
  • 更新 QQ 频道链接

1.6.3

Changelog

  • Support Zygisk¹
  • Repositories support update channel
  • Repositories show the number of upgradable modules on the front page
  • Log supports word wrap
  • Fix rare crash of parasitic manager
  • Automatically enable Resources Hook if needed
  • Filter sensitive information when sharing log from the parasitic manager
  • Fix potential inactivation on some weird devices
  • Tested Android 12.1 support

更新日志

  • 支持 Zygisk¹
  • 仓库支持更新通道
  • 仓库支持在主页显示可更新模块数量
  • 日志支持自动换行
  • 修复寄生管理器罕见的崩溃
  • 在需要的时候自动开启资源挂钩,管理器删除控制开关。
  • 在寄生管理器中分享日志时过滤敏感信息
  • 修复奇怪设备上可能发生的未激活
  • 测试支持 Android 12.1
  • 在关于页面加入 QQ 频道入口²

¹ About Zygisk

  1. LSPosed will not release the Zygisk version until Magisk releases its first stable version with Zygisk support, but you can test with CI build.
  2. Zygisk and Riru are doing the same thing: inject into Zygote.
  3. Zygisk and Riru are not complete alternatives to each other.
  4. Once Zygisk is enabled from Magisk, Riru and its modules will NOT load anymore. You have to choose one but not both.
  5. Magisk will remove Magisk Hide and Magisk Repo from the next release.
  6. Zygisk has a denylist that revokes almost all changes made by Magisk (Note it's not doing the same thing as Magisk Hide, and it CANNOT view as an alternative to Magisk Hide).
  7. Revocation includes Zygisk modules. That means apps in the denylist will NOT load Zygisk modules, including the Zygisk version of LSPosed, so those apps cannot load Xposed modules.
  8. Riru has a Riru Hide that avoids apps to detect it. However, Zygisk does not have the same stuff. Apps can thus discover Zygisk even they are in the denylist.

¹ 关于 Zygisk

  1. LSPosed 在 Magisk 发布其第一个支持 Zygisk 的稳定版本之前不会发布基于 Zygisk 的版本,阁下仍可使用 CI 构建进行测试。
  2. Zygisk 和 Riru 在做同一件事:注入 Zygote。
  3. Zygisk 和 Riru 并不完全是彼此的替代品。
  4. 一旦在 Magisk 中 启用 Zygisk,Riru及其模块就不会再加载。你必须二者选其一,不能同时选择。
  5. Magisk 将在下一个版本中删除 Magisk Hide 和 Magisk Repo.
  6. Zygisk 有一个排除列表,可以撤销 Magisk 所做的几乎所有修改(注意它和 Magisk Hide 做的不是同样的事,因此它不能作为 Magisk Hide 的替代品)。
  7. 撤销的修改包括 Zygisk 模块。这意味着排除列表中的应用程序不会加载 Zygisk 模块,包括 Zygisk 版本的 LSPosed,因而这些应用程序将无法加载 Xposed 模块。
  8. Riru 有一个 Riru Hide,可以避免应用程序检测到它。然而,Zygisk 没有同样的东西。因此,即使应用程序在排除列表中,它们依然可以发现 Zygisk。

² QQ 频道需要实名才可加入,请自行斟酌。该频道仅用于方便中国大陆用户获取更新,并不提供完整技术支持。

1.6.2

Changelog

  • Fix resource hook in Android 12 release
  • Fix modules not working in the early period after reboot
  • Show updates and shortcut request only when activated
  • Fix crash of parasitic manager on some devices
  • Fold long module descriptions

更新日志

  • 修复安卓 12 正式版的资源挂钩
  • 修复模块刚开机时不能激活
  • 只在激活情况下显示更新和快捷方式请求
  • 修复寄生管理器在某些设备下闪退
  • 折叠过长的模块描述

1.6.1

Changelog

  • Fix the module status in the running manager after reinstalling modules
  • Fix recommendation scope activation of newly installed modules
  • Fix manager crashes in some cases
  • Fix parasitic manager crash on Android 9
  • Fix compatibility of some devices (such as Meizu and 360 phones)
  • Support updating Core within the manager since Magisk Repo is out of maintenance
  • Screen configuration changing (e.g. screen orientation changes) will no longer trigger shortcut request
  • Embraces Material You style
  • Allow turning off shortcut request (visible only on non-parasitic manager)
  • Support launching manager by secret code *#*#5776733#*#* (digits correspond to LSPosed)
  • Allow recompiling modules
  • Perform recompiling on the backend for compatibility with Android 12
  • Prepare for Zygisk support

更新日志:

  • 修复模块重装导致的管理器状态混乱
  • 修复首次安装模块时模块激活推荐作用域失败
  • 修复管理器在某下情况下的崩溃
  • 修复寄生管理器在 Android 9 上的崩溃
  • 改进寄生管理器在某些设备(如魅族、360)的兼容性
  • 改进应用内更新,现在可以直接在管理器内安装核心
  • 现在系统设置变更(如屏幕方向改变)不会再请求新增快捷方式,仅会更新已存在的图标
  • 使用 Material You 风格
  • 新增自动添加快捷方式的开关
  • 新增通过暗码 *#*#5776733#*#* 唤起管理器(数字对应 LSPosed)
  • 新增允许对模块重新优化
  • 在后端进行重新优化操作以兼容 Android 12
  • 准备兼容 Zygisk

1.6.0

Happy Chinese National Day!

Changelog

  • Parasitize manager into Shell as it is a system app to avoid detecting manager package name as the manager is not installed on the system!
  • Fix crashes caused by some JIT info are recycled by JIT GC, thanks @2Y2s1mple
  • Add a new API that allows deoptimizing some methods to fix some hooks not working caused by inlining, thanks @kdrag0n
  • Fix modules may be loaded twice in Android 12
  • Fix rare inactivation after "soft reboot"
  • Prevent crash when no browser is available
  • Switching language is now available
  • Optimize manager response

Note: Magisk modules repo is no longer maintained, we will stop publishing to it since the next release. Follow us on our GitHub or Telegram to get the latest news at the first time!

国庆节快乐!

更新日志

  • 寄生管理器到 Shell,防止检测管理器包名
  • 修复 JIT 信息被垃圾回收导致的崩溃
  • 添加新的 API 用于取消优化部分方法以避免 hook 在内联后失效
  • 修复安卓 12 下模块可能加载两次的问题
  • 修复软重启后低概率发生的未激活问题
  • 阻止没有浏览器可用时的管理器崩溃
  • 支持切换语言
  • 优化管理器响应

注: 由于 Magisk 模块仓库已不再维护,从下个版本开始我们将停止向其推送更新。在我们的 GitHub 或者 Telegram 上关注我们以获取最新消息!

1.5.3

Changelog

  • Optimize logcat
  • Fix manager crash when scrolling to the bottom of an empty log
  • Fix crash of randomized Magisk manager

    更新日志

  • 优化日志
  • 修复管理器在滚动到空日志的底部时候崩溃
  • 修复随机包名的 Magisk 崩溃

1.5.2

Changelog

  • Fix in some cases modules are not updated
  • Fix manager crash on some Samsung devices
  • New logger
  • Auto compress logs to .zip file
  • Move all configs to database
  • Module updates are also prompted on the repo page

更新日志

  • 修复某些情况下模块不会更新
  • 修复在某些三星设备上崩溃
  • 新的日志记录器
  • 自动将日志文件压缩为.zip
  • 迁移所有设置项到数据库
  • 模块更新同样提示在仓库页

1.5.1

Changelog

  • Fix the issue that Magisk mounted apps are not displayed
  • Update some strings
  • Remove workaround for modules who get module's apk path from classloader's DexFile's name.

更新日志

  • 修复 Magisk 挂载的应用不被显示的问题
  • 更新一些字符串
  • 移除从类加载器的 DexFile 名字获取模块 apk 路径的兼容。(旧版QQ复读机可能无法使用)

1.5.0

Changelog

  • Fix manager white screen
  • Support split-apk modules (LSPosed will choose only one apk with xposed_init to load)
  • Fix manager crash when launching an uninstalled module from notification
  • Load modules with SharedMemory (it can speedup app cold launch) 2
  • New manager icon
  • Fix incorrect update notification in the first installation
  • Fix some apps not showing in the scope list in some rare cases
  • Show notification of module uninstallation
  • Prevent modules from hooking inner methods (methods from XposedBridge's classloader)

更新日志

  • 修复管理器白屏
  • 支持 split apk 形式的模块(LSPosed 会加载第一个带 xposed_init 的 apk)
  • 修复从通知打开已卸载模块时候的崩溃
  • 使用 SharedMemory 加载模块(这可以加快 app 冷启动速度)2
  • 新的管理器图标
  • 修复第一次安装错误的更新提示
  • 修复在极其罕见情况下某些应用不显示在作用域列表
  • 卸载模块时显示通知
  • 防止模块 hook 内部方法(与 XposedBridge 同一个类加载器的方法)

1 For some weird devices that prevent installing apps from the root user, please install the manager from /data/adb/lspd/manager.apk or manager.apk from the zip file manually. 2 Some modules get modules' apk path using reflection of its classloader, it's not recommended and unstable since the apk path from classloader no longer exists when using SharedMemory to load modules. Please use the documented way (from IXposedHookZygoteInit.StartupParam.modulePath) instead. See #856 as well.

1 对于阻止从根用户安装应用的设备,请手动从 /data/adb/lspd/manager.apk 或 zip 文件中的 manager.apk 安装管理器。 2 一些模块使用反射从类加载器获取模块路径,这是不稳定的,在使用 SharedMemory 加载模块后这里已经不存在模块路径。请使用文档中的方法(从 IXposedHookZygoteInit.StartupParam.modulePath 获取)。详见 #856。

1.4.7

Changelog

  • Fix system injection failure on some devices

更新日志

  • 修复某些设备上的系统框架注入失败

1.4.6

Changelog

  • Fix completely broken native hook since v1.4.5
  • Rework module repository implementation which brings better markdown support, fancier README rendering, and module update detection
  • Fix a few crash issues

更新日志

  • 修复上个版本完全坏掉的 native hook
  • 重构模块仓库实现,带来了更好的 markdown 支持和自述文件渲染,并支持模块更新检测
  • 修复一些崩溃问题

1.4.5

Changelog

  • Fix crash when failed to load a dex
  • Fix updating of pm-hidden modules
  • Fix updating modules after soft-rebooting
  • Fix manager crash on tablet devices

更新日志

  • 修复加载 dex 失败后的崩溃
  • 修复被 pm hide 的模块的更新
  • 修复软重启后模块不更新
  • 修复平板下管理器崩溃

1.4.4

Changelog

  • Fix app crash or bootloop when the module returns a mismatched value
  • Fix the issue that duplicated modules are displayed when installing modules
  • Refactor the manager to use AndroidX Navigation
  • Log when the hooked app crashes, helping module developer better debug their modules

更新日志

  • 修复当模块返回不匹配值时应用崩溃或无法开机
  • 修复安装时显示重复模块的问题
  • 使用 AndroidX Navigation 重构管理器
  • 在被 hook 应用崩溃时输出日志,帮助模块作者更好调试模块

1.4.3

Changelog

  • Remove multiple internal native hooks, which brings better performance
  • Fix manager installation on Pixel devices with Android 12
  • Fix compatibility of Android 8.1
  • Show the user name in manager instead of the user id1

更新日志

  • 移除多个内部的 native hook,带来了更好的性能
  • 修复 Pixel 设备在 Android 12 下的管理器安装问题
  • 修复 Android 8.1 的兼容
  • 在管理器不再显示用户 id 而是显示用户名1
  1. If surprised by the user name, you can change it from Settings-System-Advanced-Multiple users. The route may vary from ROM to ROM. 如果对用户名感到意外,可以在设备的设置-系统-高级-多用户界面修改用户名,不同系统的位置可能不一样。

1.4.2

Changelog

  • Fix module scope can only be set on one user
  • Fix in some devices users are not fully listed

更新日志

  • 修复模块只用于只能在一个用户上设置
  • 修复某些设备上不能列出所有用户

1.4.1

Changelog

  • Fix in MIUI dual modules added by manager will be deleted by reboot
  • Automatically switch user when launching apps or modules of secondary users.
  • Support launching modules with android:showForAllUsers="true" without switching user
  • Fix Riru installation check
  • Fix activation of modules from non-primary users

更新日志

  • 修复 MIUI 下管理器添加的双开模块重启被自动移除
  • 启动次用户模块或者应用时自动切换用户
  • 支持不切换用户下启动带 android:showForAllUsers="true" 的模块
  • 修复检查 Riru 安装
  • 修复非主用户下模块的激活

1.4.0

Changelog

  • Fix in a rare case system modules not working
  • Workaround for that some low-quality modules stick post-fs-data.sh
  • Update native hook API
  • Follow some changes on Android S (support S Beta 1 now)
  • Restrict hidden API bypass to modules' classloader only
  • Add an option to help modules to hide their icons on Android Q+
  • New way to better support dual apps/multi-users1

更新日志

  • 修复极小概率的系统模块无法生效
  • 解决某些低质模块卡死 post-fs-data.sh 的情况
  • 更新 native hook 的 API
  • 跟进一些 Android S 上的修改(兼容 Android S Beta 1)
  • 限制仅模块类加载器允许绕过隐藏 API
  • 添加选项帮助模块在 Android Q+ 上隐藏图标
  • 支持双开、多开应用的新策略1
  1. Previously LSPosed only recognize modules from the primary user. However, this strategy is not good and leads to some problems: some modules require getting installed app lists for configuration but they cannot do so across users; some require reading themselves from the hooked apps but they cannot do so from non-primary users; some users want to configure modules differently on different users which is not feasible previously. Thus LSPosed now requires every module to be installed to the user on which the apps they want to hook are installed. Some devices restrict modules from installing onto some users. In such a case, you can install them from the manager (but it's not recommended). Notice that the module won't take extra space if you install it on different users: there will only be one apk. 之前 LSPosed 仅识别安装在主用户的模块,该策略并非完美且导致诸多问题:一些模块需要获取安装应用列表以进行配置,但是该列表无法跨用户获取;一些模块需要从被注入应用获取本身,这样会在非主用户无法正常工作;一些用户希望分用户对模块进行配置,这也无法实现。于是,LSPosed 现在要求模块必须安装到对应用户上以注入到该用户上的应用。某些设备不允许模块安装到某些用户上,此时可以利用管理器安装(非万不得已时不推荐)。注意,安装在其他用户的模块不会占用额外空间:永远只有一个 apk。

1.3.5

Changelog

  • Reduce size by using self-build libcxx
  • Fix crash when a repo does not have any release
  • Support hooking default methods of interfaces (a feature of Java 8)
  • Replace DobbySymbolResolver with AndroidELF
  • Fix in some rare case, LSPosed cannot be activated
  • Higher optimization level of compiling
  • Refine installation scripts
  • Minimum Magisk requirement updated to 21+ (even so, 22.1+ is strongly recommended)

更新日志

  • 通过自编译 libcxx 优化大小
  • 修复当仓库有模块没有发行版本时候管理器会崩溃
  • 支持 hook 接口的默认方法(这是个 Java 8 的新特性)
  • 使用 AndroidELF 代替 DobbySymbolResolver
  • 修复一个罕见的 LSPosed 不能激活的问题
  • 更高的编译优化等级
  • 优化安装脚本
  • 要求 Magisk 版本至少为 21+(请尽量使用 22.1 或以上版本)

v1.3.4

Changelog

  • Enforce Riru v25 which provides better hide support, ref
  • Show warnings in the manager when SEPolicy isn't properly loaded (Please try updating Magisk to the latest canary and reinstalling LSPosed if you see the warnings)
  • Change package name to org.lsposed.manager
  • Improve hook compatibility for Android R and S
  • Continue reducing binary size
  • Misc bug fixes
  • Deprecate SandHook (4/4): Completely remove SandHook together with multi-variant support codes from the backend

更新日志

  • 强制要求 Riru v25 以上版本以增强隐藏能力,参考
  • 在 SEPolicy 未被正确加载时显示警告(如果看到此警告,请尝试将 Magisk 升级至最新 canary 版本并重新安装 LSPosed)
  • 将包名改为org.lsposed.manager
  • 增强与 Android R 和 S 的兼容性
  • 继续减小体积
  • 其他问题修复
  • 弃用 SandHook (4/4):完全从后端移除 SandHook 与多变体支持代码

v1.2.2

Changelog

  • Magisk zip now contains a manager
  • Properly handle hidden apps
  • Optimize core size
  • Make hook functions' names more reasonable for debugging
  • Fix DoH
  • Swipe to refresh the app list
  • Fix hooks on non-ASCII named methods
  • Optimize logging on the release build
  • Fix pending hook on Android S
  • Deprecate SandHook (2/4): You cannot switch to SandHook in regular ways

更新日志

  • Magisk 模块 zip 现在自带一个管理器了
  • 正确处理隐藏应用
  • 优化 core 大小
  • 使 hook 函数的名字在 debug 时候更加合理
  • 修复 DoH
  • 添加下拉刷新应用列表
  • 修复非 ASCII 名字的函数的 hook
  • 优化日志
  • 修复 Android S 上的延迟 hook
  • 弃用 SandHook (2/4):已经无法以通常方法切换到 SandHook

Notes: manager will automatically upgrade after the first reboot. Please wait patiently until the new manager is installed. 注意:管理器会在第一次重启后自动更新,请耐心等待。

v1.1.0

Changelog

  • Drop support for API 26 (Android 8) (please at least use 8.1 because Android 8 is buggy)
  • Fix YAHFA may fail on some system modules (like GravityBox and XPrivacyLua)
  • Replace dexmaker in Java with dexbuilder in C++ to optimize speed with much faster hook speed (in the meantime YAHFA no longer uses caches)
  • Add blur effect to the manager (depends on system support)
  • Optimize modules and installed apps loading
  • Optimize configuration toggle
  • Fix app list cannot load on some devices
  • Fix logic to wait for zygote when booting
  • Deprecate SandHook (1/4): mark SandHook as deprecated when installing and in manager

更新日志

  • 移除对 API 26 (Android 8.0) 的支持 (请至少使用 8.1,8 太多 bug 了)
  • 修复 YAHFA 有时无法作用于系统组件的问题 (如重力工具箱和 XPrivacyLua 等模块)
  • 用 C++ 的 dexbuilder 替换掉 Java 的 dexmaker,带了来更快的 hook 速度(同时 YAHFA 无需再使用缓存)
  • 在管理器中加入模糊效果(依赖于系统支持)
  • 优化模块列表和作用域列表加载速度
  • 优化配置修改速度
  • 修复某些设备下加载应用列表失败
  • 修复启动时等待 zygote 的逻辑
  • 弃用 SandHook (1/4):在安装时与管理器中标明 SandHook 已被弃用

Get Help

Community Discussion