Releases: LSPosed/LSPosed
1.9.2
Changelog
- Fix
IContentProvider
for Android P and below - Properly handle invalid
Parcel
- Fix invalid
setOverrideTable
address on some devices - Move manager APK to the module path
- Fix remote preferences listener not working on system_server
- Fix hook crash on Android 14
- Fix static method hook on some Android 14 devices
- Fix some
LoadedApk
s not callingonPackageLoad
- Fix the wrong path of the new
XSharedPreferences
- Add tips about deploying optimizations in Android Studio
更新日志
- 修复 Android P 及以下版本的
IContentProvider
- 正确处理无效的
Parcel
- 修复某些设备上无效的
setOverrideTable
地址 - 将管理器 APK 移动到模块路径
- 修复系统框架上 remote preference 监听器无效的问题
- 修复 Android 14 上的 hook 错误
- 修复某些设备上 Android 14 的静态方法 hook 问题
- 修复一些
LoadedApk
没有回调onPackageLoad
- 修复新
XSharedPreferences
的路径错误 - 增加 Android Studio 部署优化提示
Contributors
@rawer886 @Howard20181 @yujincheng08 @Dr-TSNG @naicfeng @vvb2060
Full Changelog: v1.9.1...v1.9.2
1.9.1
API Changes
- Implementation of Modern Xposed API:
Currently, most part of the new API has been roughly stable (excepthelper
). We hope developers can test the new API to provide feedback on possible issues. The modern API will be published to Maven Central with the release of LSPosed 2.0.0, so before this, you can make suggestions to help make it better. - Allow hooking processes of the
android
package besidessystem_server
(See this commit): For historical reasons, the package name ofsystem_server
was changed toandroid
(See this commit from rovo89). To correct this behavior, for legacy modules, no code adjustment is needed, but the system framework is displayed assystem
instead ofandroid
in manager, with a new packageandroid
which is responsible for system dialogs, etc. For modern modules, the meaning ofsystem
andandroid
in the declared scope have the same meaning as they display in manager.
system_server: uid=1000 pkg=system proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui
Changelog
- Fix manager failed to launch when typing secret code in dialer
- Fix notification on Samsung
- Add Vercel/Cloudflare fallback for module repository
- Magisk version requires 24.0+, and for Riru favor, requires Riru 26.1.7+
- Make dex2oat wrapper more compatible, e.g. on KernelSU
- Fix some hooks on Android 8.1
- Add more hints for creating the shortcut and notification
- Fix backup race, fix 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
- Fix
processName
forhandleLoadedPackage
'slpparam
- Fix
isFirstPackage
forafterHookedMethod
- Fix notification intent for Android 14
- Fix manager dark theme
- Unconditional allow create shortcut except default desktop is not supported
- Fix NPE due to null
getModule()
return value - Fix the typo in
AfterHooker
class name - A11y: Add label for search buttons
- Set EUID to 1000 to fix notification and get modules list for Flyme
- Fix a race by lock-free backup implementation
- Predefine some SQLite modes for better performance
- Set db sync mode for Android P+, fix some Oplus devices not working
- Skip secondary classloaders that do not include code
- Avoid NPE when rendering empty markdown, fix a manager crash
- Add Installed hint for repo modules
- [translation] Update translation from Crowdin
- Upgrade target SDK to 34
- Only clear module's
LoadedApks
rather than all - Upgrade Dobby, fix native hook on arm32
- Show manager package name instead of version
- Always allow pinning shortcuts, regardless of whether they are pinned or not
- Fix ANR when the boot is completed for Android 14
- Fix
IActivityManager.bindService
for Android 14 - Don't shrink non-AdaptiveIcons
- Fix the task icon for the manager
- Enable Xposed API call protection by default
- Fix notification setting bottom status
API 变更
- 实现了 Modern Xposed API:
目前,新 API 的大部分已经相对稳定(除了helper
)。我们希望开发者能够测试新 API,并提供反馈以解决可能存在的问题。现代 API 将在 LSPosed 2.0.0 发布时发布到 Maven Central,因此在此之前,您可以提出建议以帮助改进它。 - 允许钩住
system_server
外的android
进程(查看此提交):
由于历史原因,system_server
的包名被更改为android
,ChooserActivity
等系统UI的包名被更改为system
(请参阅 rovo89 的此提交)。为纠正此行为,管理器作用域界面中的system
和android
的含义现与它们的实际含义相同。我们保留传统模块代码层面的相反含义,但现代模块已得到更正。
system_server: uid=1000 pkg=system proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui
更新日志
- 修复在拨号器中输入暗码启动管理器无效的问题
- 修复三星设备上的通知问题
- 添加 Vercel/Cloudflare 作为模块仓库的后备方案
- Magisk 版本要求 24.0+,对于 Riru,要求 Riru 26.1.7+
- 使 dex2oat 包装器更兼容,例如在 KernelSU 上
- 修复 Android 8.1 上的一些钩子问题
- 为创建快捷方式和通知添加更多提示
- 修复备份冲突,修复 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
- 修复
handleLoadedPackage
的lpparam
中的processName
- 修复
afterHookedMethod
的isFirstPackage
- 修复 Android 14 的通知意图
- 修复管理器的暗色主题
- 无条件允许创建快捷方式,除非默认桌面不支持
- 修复由于空的
getModule()
返回值引起的 NPE - 修复
AfterHooker
类名中的拼写错误 - 辅助功能:为搜索按钮添加标签
- 将 EUID 设置为 1000 以修复 Flyme 上的通知和模块列表
- 通过无锁备份实现修复竞争问题
- 预定义一些 SQLite 模式以提高性能
- 为 Android P+ 设置 db 同步模式,修复一些 Oplus 设备无法工作的问题
- 跳过不包含代码的次级类加载器
- 在渲染空的 Markdown 时避免 NPE,修复管理器崩溃问题
- 为仓库模块添加已安装提示
- [翻译] 从 Crowdin 更新翻译
- 将目标 SDK 升级到 34
- 只清除模块的
LoadedApks
而不是全部清除 - 升级 Dobby,修复在 arm32 上的native hook问题
- 显示管理器的包名而不是版本号
- 始终允许固定快捷方式,无论它们是否已固定
- 修复 Android 14 启动完成后的 ANR 问题
- 修复 Android 14 的
IActivityManager.bindService
- 不为非自适应图标应用系统图标形状
- 修复管理器的任务图标
- 默认启用 Xposed API 调用保护功能
- 修复通知开关状态
Contributors
@libxzr @yujincheng08 @Howard20181 @vvb2060 @Dr-TSNG @naicfeng @aviraxp @StefMa @delvinru @5ec1cff @anonymix007 @JasonKhew96
Full Changelog: v1.8.6...v1.9.1
1.9.0
This version was replaced by v1.9.1 due to a signature error
API Changes
- Implementation of Modern Xposed API:
Currently, most part of the new API has been roughly stable (excepthelper
). We hope developers can test the new API to provide feedback on possible issues. The modern API will be published to Maven Central with the release of LSPosed 2.0.0, so before this, you can make suggestions to help make it better. - Allow hooking processes of the
android
package besidessystem_server
(See this commit): For historical reasons, the package name ofsystem_server
was changed toandroid
(See this commit from rovo89). To correct this behavior, for legacy modules, no code adjustment is needed, but the system framework is displayed assystem
instead ofandroid
in manager, with a new packageandroid
which is responsible for system dialogs, etc. For modern modules, the meaning ofsystem
andandroid
in the declared scope have the same meaning as they display in manager.
system_server: uid=1000 pkg=system proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui
Changelog
- Fix manager failed to launch when typing secret code in dialer
- Fix notification on Samsung
- Add Vercel/Cloudflare fallback for module repository
- Magisk version requires 24.0+, and for Riru favor, requires Riru 26.1.7+
- Make dex2oat wrapper more compatible, e.g. on KernelSU
- Fix some hooks on Android 8.1
- Add more hints for creating the shortcut and notification
- Fix backup race, fix 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
- Fix
processName
forhandleLoadedPackage
'slpparam
- Fix
isFirstPackage
forafterHookedMethod
- Fix notification intent for Android 14
- Fix manager dark theme
- Unconditional allow create shortcut except default desktop is not supported
- Fix NPE due to null
getModule()
return value - Fix the typo in
AfterHooker
class name - A11y: Add label for search buttons
- Set EUID to 1000 to fix notification and get modules list for Flyme
- Fix a race by lock-free backup implementation
- Predefine some SQLite modes for better performance
- Set db sync mode for Android P+, fix some Oplus devices not working
- Skip secondary classloaders that do not include code
- Avoid NPE when rendering empty markdown, fix a manager crash
- Add Installed hint for repo modules
- [translation] Update translation from Crowdin
- Upgrade target SDK to 34
- Only clear module's
LoadedApks
rather than all - Upgrade Dobby, fix native hook on arm32
- Show manager package name instead of version
- Always allow pinning shortcuts, regardless of whether they are pinned or not
- Fix ANR when the boot is completed for Android 14
- Fix
IActivityManager.bindService
for Android 14 - Don't shrink non-AdaptiveIcons
- Fix the task icon for the manager
- Enable Xposed API call protection by default
API 变更
- 实现了 Modern Xposed API:
目前,新 API 的大部分已经相对稳定(除了helper
)。我们希望开发者能够测试新 API,并提供反馈以解决可能存在的问题。现代 API 将在 LSPosed 2.0.0 发布时发布到 Maven Central,因此在此之前,您可以提出建议以帮助改进它。 - 允许钩住
system_server
外的android
进程(查看此提交):
由于历史原因,system_server
的包名被更改为android
,ChooserActivity
等系统UI的包名被更改为system
(请参阅 rovo89 的此提交)。为纠正此行为,管理器作用域界面中的system
和android
的含义现与它们的实际含义相同。我们保留传统模块代码层面的相反含义,但现代模块已得到更正。
system_server: uid=1000 pkg=system proc=system
ChooserActivity,ResolverActivity: uid=1000 pkg=android proc=android:ui,system:ui
更新日志
- 修复在拨号器中输入暗码启动管理器无效的问题
- 修复三星设备上的通知问题
- 添加 Vercel/Cloudflare 作为模块仓库的后备方案
- Magisk 版本要求 24.0+,对于 Riru,要求 Riru 26.1.7+
- 使 dex2oat 包装器更兼容,例如在 KernelSU 上
- 修复 Android 8.1 上的一些钩子问题
- 为创建快捷方式和通知添加更多提示
- 修复备份冲突,修复 'JNI DETECTED ERROR IN APPLICATION: java_object == null'
- 修复
handleLoadedPackage
的lpparam
中的processName
- 修复
afterHookedMethod
的isFirstPackage
- 修复 Android 14 的通知意图
- 修复管理器的暗色主题
- 无条件允许创建快捷方式,除非不支持默认桌面
- 修复由于空的
getModule()
返回值引起的 NPE - 修复
AfterHooker
类名中的拼写错误 - 辅助功能:为搜索按钮添加标签
- 将 EUID 设置为 1000 以修复 Flyme 上的通知和模块列表
- 通过无锁备份实现修复竞争问题
- 预定义一些 SQLite 模式以提高性能
- 为 Android P+ 设置 db 同步模式,修复一些 Oplus 设备无法工作的问题
- 跳过不包含代码的次级类加载器
- 在渲染空的 Markdown 时避免 NPE,修复管理器崩溃问题
- 为仓库模块添加已安装提示
- [翻译] 从 Crowdin 更新翻译
- 将目标 SDK 升级到 34
- 只清除模块的
LoadedApks
而不是全部清除 - 升级 Dobby,修复在 arm32 上的native hook问题
- 显示管理器的包名而不是版本号
- 始终允许固定快捷方式,无论它们是否已固定
- 修复 Android 14 启动完成后的 ANR 问题
- 修复 Android 14 的
IActivityManager.bindService
- 不为非自适应图标应用系统图标形状
- 修复管理器的任务图标
- 默认启用 Xposed API 调用保护功能
Contributors
@libxzr @yujincheng08 @Howard20181 @vvb2060 @Dr-TSNG @naicfeng @aviraxp @StefMa @delvinru @5ec1cff @anonymix007 @JasonKhew96
Full Changelog: v1.8.6...v1.9.0
1.8.6
New Xposed API proposal
As Android version iterates, the original Xposed API by rovo89 reaches its limits. Now we are working on the new modern Xposed API with features of application scope management, remote preferences, dex parser interface and so on.
The new API will be implemented in the next releasing of LSPosed, and it is welcome to post your suggestions on https://github.com/libxposed.
New way to open parasitic manager
Some devices cannot create shortcuts due to kernel issues, now LSPosed switches to opening parasitic manager from notification. This notification is always present and can be disable in manager settings after created a shortcut.
Changelog
- Some manager UI fixes
- Update DoH
- Set the dex2oat wrapper owner and group to root:shell
- Guard backup during hook
- Add notification to open parasitic manager
- Fix hook 32bit process
- Fix dex2oat fallback
- Fix webview permission
新的 Xposed API 提案
随着 Android 版本的迭代,原有的 rovo89 Xposed API 已经达到了极限。 我们正在开发新的现代 Xposed API,它具有模块作用域管理、远程配置文件、dex 解析器接口等功能。
新的 API 将在 LSPosed 的下一个版本中实现,欢迎在 https://github.com/libxposed 上发表您的建议。
新的管理器打开方式
有部分设备因内核问题无法创建快捷方式,现在 LSPosed 切换到从通知打开管理器。此通知一直存在,也可以在创建了快捷方式之后在管理器设置中关闭通知。
更新日志
- 一些管理器界面修复
- 更新安全 DNS 实现
- 将 dex2oat 包装器权限设置为 root:shell
- hook 期间保护备份
- 添加从通知打开寄生管理器的方式
- 修复 hook 32 位进程
- 修复 dex2oat 回退
- 修复 webview 文件权限
Contributors
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
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