Skip to content

li589/LSPosedFix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LSPosedFix

中文 | English

中文说明

LSPosedFix 是一个面向特定故障场景的 Android 小工具项目:设备上的 LSPosed 或 Vector 框架仍然可以正常加载旧模块,但管理器的“模块”页面变成空白,导致新模块无法正常开关或调整作用域。

这个仓库并不打算替代完整的 LSPosed Manager,而是提供一个更小、更直接、更可控的修复型工具,用来完成最核心的管理动作:

  • 开启或关闭 LSPosed 兼容模块
  • 查看并编辑模块作用域
  • 绕过管理器侧的模块发现或界面展示故障

应用源码位于 Fix/,可以直接作为 Android Studio 工程打开。

项目目标

  • 在受影响的 rooted 设备上恢复可用的模块管理能力
  • 保持实现尽量小、可审查、易构建
  • 避免依赖现有管理器的隐藏流程或不稳定界面
  • 优先保证模块开关和作用域编辑这两个核心能力

当前范围

当前应用聚焦于以下能力:

  • 读取 LSPosed 或 Vector 的模块配置数据库
  • 修改模块启用状态
  • 编辑模块作用域记录
  • 通过 root 权限安全地读取和写回底层配置

以完整复刻 LSPosed Manager 为目标,因此暂不覆盖以下功能:

  • 仓库浏览
  • 模块安装管理
  • 完整设置同步
  • 框架诊断界面

问题判断

结合本地日志、已有现象和框架行为交叉分析,目前更可能的情况是:

  • 框架本身仍能正常加载之前已启用的模块
  • 故障集中在管理器的模块发现或展示链路
  • 数据库中的模块状态仍然是实际可操作的配置来源

这意味着,即使原始管理器页面空白,做一个面向数据库和 root 的简化控制工具依然是可行的。

仓库结构

  • Fix/
    • LSPosedFix 的 Android Studio 工程
  • Fix/app/src/main/java/com/lsposed/fix/
    • 应用主要源码
  • Fix/README.md
    • 更偏实现细节和排查结论的技术说明
  • MistakeLog/
    • 用于分析问题的运行日志与框架日志
  • release/
    • 当前仓库附带的发行 APK 文件

仅本地保留的内容

以下内容会保留在本地开发环境中,但不会上传到远端仓库:

  • 任务说明
  • 设备适配信息
  • GitSource/ 中的镜像源码
  • 本地签名文件与 keystore

这些资料可能用于本地分析、调试或签名,但不属于公开仓库内容。

构建方式

使用 Android Studio 打开 Fix/ 后,按标准 Android 工程流程构建:

  1. 同步 Gradle
  2. 构建或运行 app 模块
  3. 需要正式安装包时,导出签名后的 APK

常见 debug 输出路径:

  • Fix/app/build/outputs/apk/debug/app-debug.apk

签名后的 release APK 导出位置取决于 Android Studio 的导出向导设置,可能位于自定义目录。

发行文件

仓库根目录下的 release/ 目录当前包含两个 APK:

  • LSPosedFix-debug.apk
  • LSPosedFix-release.apk

它们主要用于测试、验证和分发演示。

说明

  • 目标场景需要 root 权限
  • 项目面向“框架仍可工作,但原管理器界面不可用”的设备环境
  • 根据实际使用反馈,修改模块开关或作用域后,通常需要重启系统,设置才会稳定生效
  • 实际运行效果仍可能受到设备系统、LSPosed/Vector 变体和 root 环境差异影响

许可

本仓库使用 MIT License。详见 LICENSE。

English

LSPosedFix is a focused Android utility for a specific recovery scenario: the LSPosed or Vector framework still loads existing modules correctly, but the manager's module page becomes blank, so newly installed modules can no longer be managed normally.

This repository does not aim to replace the full LSPosed Manager. Instead, it provides a smaller and more controllable tool for the most critical operations:

  • enable or disable LSPosed-compatible modules
  • inspect and edit module scopes
  • work around manager-side discovery or display failures

The app source code lives in Fix/ and can be opened directly as an Android Studio project.

Project Goals

  • Restore practical module management on affected rooted devices
  • Keep the implementation small, auditable, and easy to build
  • Avoid dependence on fragile manager-side UI flows
  • Prioritize module toggling and scope editing over non-essential features

Current Scope

The current application focuses on:

  • reading module configuration from the LSPosed or Vector database
  • toggling module enabled state
  • editing module scope records
  • using root access to safely read and write the underlying configuration

It intentionally does not try to replicate the full LSPosed Manager feature set, such as:

  • repository browsing
  • module installation management
  • complete settings synchronization
  • framework diagnostics UI

Diagnosis Summary

Based on the collected logs, observed behavior, and framework-side evidence, the most likely situation is:

  • the framework still loads previously enabled modules correctly
  • the failure is concentrated in the manager-side discovery or display path
  • the database-backed state remains the practical source of truth

That makes a dedicated root-and-database control tool feasible even when the original manager UI stays blank.

Repository Structure

  • Fix/
    • Android Studio project for LSPosedFix
  • Fix/app/src/main/java/com/lsposed/fix/
    • main application source code
  • Fix/README.md
    • deeper implementation notes and technical findings
  • MistakeLog/
    • collected runtime and framework logs used during investigation
  • release/
    • packaged APK artifacts included in this repository

Local-Only Files

The following materials are intentionally kept local and excluded from the remote repository:

  • task notes
  • device adaptation notes
  • mirrored source trees under GitSource/
  • local signing materials and keystores

These files may exist in the local workspace for analysis, debugging, or signing, but they are not part of the public repository.

Build

Open Fix/ in Android Studio and follow the standard Android project flow:

  1. Sync the Gradle project
  2. Build or run the app module
  3. Export a signed APK when a formal release package is needed

Typical debug output:

  • Fix/app/build/outputs/apk/debug/app-debug.apk

Signed release output may be exported to a custom directory depending on the Android Studio export wizard settings.

Release Artifacts

The repository-level release/ directory currently includes two APK files:

  • LSPosedFix-debug.apk
  • LSPosedFix-release.apk

They are provided mainly for testing, verification, and distribution convenience.

Notes

  • Root access is required for the target use case
  • The app is intended for environments where the framework still works but the original manager UI is unreliable
  • Based on real-world usage, changes to module enabled state or scope usually require a full system reboot before they apply reliably
  • Actual behavior may still vary depending on the device ROM, LSPosed or Vector variant, and root environment

License

This repository is licensed under the MIT License. See LICENSE.

About

用于修复LSPosed在红米设备上可能出现的模块界面显示空白的情况。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages