Skip to content

0.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 02:43
· 15 commits to main since this release

新增

  • 新增 OnePlus 13T (PKX110) / ColorOS 16 支持。模块在检测到已验证的 Oplus SystemUI 结构时,Hook PhoneStatusBarView.onFinishInflate() 并附加不消费触摸事件的监听器。
  • 保留 Xiaomi 17 Ultra for Leica / HyperOS 4 已验证的 dispatchTouchEvent Hook。两种入口共用同一套双击检测、前台任务解析、用户 ID 传递和动态 Toast。

强制停止后端

  • 将主执行路径统一为 libsu 6.0.0 RootService。SystemUI 只负责发送目标包名和真实 Android 用户 ID;模块进程启动 root 进程,由 root 进程取得 ActivityManager Binder 并调用 forceStopPackage(packageName, userId)
  • 模块桥接 Service 根据 Binder 调用 UID 查询包名,只接受 com.android.systemui,不向其他应用开放强制停止能力。
  • 保留 SystemUI Binder 作为 RootService 失败后的兼容回退,但跨厂商稳定使用需要设备已 root,并向本模块授予 root 权限。
  • 删除已证明在 ColorOS SystemUI 中不可用的直接 su 执行路径和 ContentProvider 实验路径。

实机验证

  • Xiaomi 17 Ultra for Leica (nezha / 25128PNA1C):HyperOS OS4.0.0.10.XPACNXM、Android 17 / SDK 37,选择 MIUI_DISPATCH,RootService root 进程记录为 uid=0,成功强制停止微信并显示“已强制关闭微信”。
  • OnePlus 13T (PKX110):ColorOS 16、PKX110_16.0.10.500(CN01)、Android 16 / SDK 36,选择 OPLUS_INFLATE_LISTENER,RootService 成功强制停止微信并显示同名 Toast。
  • 两台设备使用同一个 0.2.0 Debug APK 分别覆盖安装并重启 SystemUI;验证期间 lspdsystem_server 保持稳定。
  • 真实用户 ID 会原样传递到 root 后端。用户 999 等多用户输入已由单元测试覆盖,本次说明不把它描述为新增实机验证。

包装与安全边界

  • 最低系统版本由 SDK 37 调整为 SDK 36,targetSdk 保持 37,继续使用 libxposed API 102。
  • APK 仍然没有桌面图标、Activity、设置界面、Provider、Receiver 或 Android 权限;新增的唯一组件是 SystemUI 显式绑定的 ForceStopBridgeService
  • 未识别的 SystemUI 类结构会 fail closed,不安装模糊 Hook。
  • 不修改、重签、替换或重新打包任何厂商 APK,也不修改系统分区文件。
  • Debug 构建保留完整分层日志;正式 Release 关闭诊断并由 R8 移除相关分支。

升级说明

  • 可以从正式签名的 0.1.00.1.1 直接覆盖安装。
  • 首次使用 0.2.0 时,请向模块授予 root 权限。
  • 升级后需要重启 SystemUI 或重启设备,使新 Hook 与 RootService 桥接代码载入。
  • 从早期 Android Debug 证书 APK 切换到正式签名版本时,通常需要先卸载 Debug 版。