模块控制
约 2909 字大约 10 分钟
2025-01-11
🎯 模块控制功能让你可以自定义模块列表的显示方式和行为,优化模块管理体验。通过这些设置,你可以控制模块更新检查、排序优化、显示信息等,让模块管理更加高效和便捷。同时,这里也包含 APM(Android Patch Module) 和 KPM(Kernel Patch Module) 的高级设置功能。
功能概述
模块控制包含以下核心功能:
- 禁用模块更新检查: 关闭系统模块的自动更新检查
- 折叠系统模块: 点击模块卡片展开/收起操作按钮
- 模块排序优化: 让有 WebUI 和 Action 的系统模块置顶显示
- 显示更多信息: 在模块列表中显示模块 ID 和大小
- APM 批量安装完整流程: 使用完整流程进行系统模块批量安装
- KPM 自动加载配置: 应用启动时自动加载指定的 KPM 模块
- KPM 文件管理: 导入、删除和管理 KPM 文件
- 自动备份模块列表: 在批量安装时自动备份现有模块
禁用模块更新检查
功能说明
禁用系统模块的自动更新检查功能,避免模块在启动时检查更新。
设置选项
| 选项 | 说明 | 默认值 | 推荐设置 |
|---|---|---|---|
| 禁用模块更新检查 | 关闭系统模块的自动更新检查 | 关闭 | 根据需求 |
使用场景
适用场景
- 让页面更加的简洁
- 希望保持当前模块版本,避免意外更新
- 使用特定版本的模块,不希望被更新提示干扰
使用示例
# 配置存储在 SharedPreferences 中
# 键名: disable_module_update_check
# 默认值: false
# 开启后,系统模块将不再自动检查更新折叠系统模块
功能说明
启用后,系统模块卡片将默认折叠,点击卡片可以展开/收起操作按钮(如启用/禁用、卸载等)。这可以让模块列表更加简洁,减少视觉干扰。
设置选项
| 选项 | 说明 | 默认值 | 推荐设置 |
|---|---|---|---|
| 折叠系统模块 | 点击模块卡片展开/收起操作 | 关闭 | 开启(模块较多时) |
使用场景
适用场景
- 安装的模块数量较多,希望简化界面
- 减少误触操作按钮的风险
- 希望快速浏览模块列表,不需要频繁操作
交互方式
- 默认状态: 模块卡片折叠,只显示模块名称和基本信息
- 点击展开: 点击卡片后展开,显示完整的操作按钮
- 再次点击: 点击卡片后可以重新折叠
使用示例
# 配置存储在 SharedPreferences 中
# 键名: fold_system_module
# 默认值: false
# 开启后,模块卡片将默认折叠状态模块排序优化
功能说明
启用模块排序优化后,带有 WebUI/META 和 Action 的系统模块将自动排在列表顶部,方便快速访问带有可视化界面和快捷操作的模块。
设置选项
| 选项 | 说明 | 默认值 | 推荐设置 |
|---|---|---|---|
| 模块排序优化 | 让有 WebUI/META 和 Action 的模块置顶 | 开启 | 开启 |
排序规则
排序优化按以下优先级排列:
模块加载优先级 (从高到低)
- META 优先级:
META模块 (最高优先级,通常用于全局配置、共享资源或核心功能) - 第一优先级: 同时具备 WebUI 和 Action 的模块
- 第二优先级: 只有 WebUI 的模块
- 第三优先级: 只有 Action 的模块
- 默认优先级: 普通模块 (不具备 WebUI 或 Action 的常规模块)
使用场景
适用场景
- 希望快速访问带有 WebUI/META 的模块(如模块设置页面)
- 需要频繁使用模块的快捷操作功能
- 模块数量较多,希望优化访问效率
显示更多信息
功能说明
在模块列表中显示模块的详细信息,包括模块 ID 和模块大小,帮助你更好地了解模块的基本信息。
设置选项
| 选项 | 说明 | 默认值 | 推荐设置 |
|---|---|---|---|
| 显示详细信息 | 显示模块 ID 和大小 | 开启 | 开启 |
显示内容
启用后会显示以下信息:
- 模块 ID: 模块在系统中的唯一标识符
- 模块大小: 模块占用的存储空间
使用场景
适用场景
- 需要查看模块的 ID 用于调试或问题排查
- 关注模块占用空间,优化存储使用
- 区分同名或相似模块
- 开发者或高级用户
显示效果
# 开启前
模块名称
模块描述信息
# 开启后
模块名称
模块 ID: com.example.module
模块大小: 2.5 MB
模块描述信息简约列表底栏
开启后APM和KPM模块列表只会显示图标不会显示文字,简约而不简单。
撤销删除功能
功能说明
FolkPatch 引入了模块删除撤销功能。当您在管理器中删除一个模块后,该模块并不会立即从文件系统中移除,而是标记为“待删除”状态。只要在重启设备使变更生效之前,您都可以随时撤销删除操作,恢复模块到原有状态。
使用场景
适用场景
- 误操作保护:不小心点击了删除按钮,可以立即挽回。
- 临时调整:想测试删除某个模块后的效果(虽然删除需重启生效,但此功能给了你在最后时刻反悔的机会)。
- 心理安全感:知道有“后悔药”可以吃,操作更放心。
操作方法
- 在模块列表中,点击模块的 删除/卸载 按钮。
- 模块状态变为 已删除(待重启生效),此时删除按钮变为 撤销 按钮(通常是一个撤销图标或文字提示)。
- 点击 撤销 按钮,模块即可恢复到正常状态。
- 如果确定要删除,只需 重启设备,模块将在系统启动过程中被物理移除。
APM 批量安装完整流程
功能说明
APM 批量安装功能允许你一次性安装多个系统模块。启用完整流程模式后,批量安装将使用完整的安装流程,支持需要音量键交互的模块。
设置选项
| 选项 | 说明 | 默认值 | 推荐设置 |
|---|---|---|---|
| 完整批量安装流程 | 使用完整流程进行系统模块批量安装 | 关闭 | 根据模块类型 |
使用模式
快速安装模式(默认)
- 适用模块: 不需要音量键交互的简单模块
- 特点: 快速批量安装,无用户交互
- 适合: 大量简单模块的同时安装
完整流程模式
- 适用模块: 需要音量键交互或确认的复杂模块
- 特点: 逐个安装,支持完整交互流程
- 适合: 需要用户确认或配置的模块
使用场景
使用建议
- 简单模块批量安装: 关闭完整流程,使用快速模式提升效率
- 复杂模块批量安装: 开启完整流程,确保模块正确安装
- 混合模块安装: 建议分批安装,简单模块用快速模式,复杂模块用完整流程
KPM 自动加载配置
功能说明
KPM(Kernel Patch Module)自动加载功能允许你在应用启动时自动加载指定的 KPM 模块,无需手动操作。这种方式比直接嵌入内核更方便,特别适合只能临时加载的模块。
核心特性
- 自动启动加载: 应用启动时自动加载配置的 KPM 模块
- 灵活配置: 支持可视化和 JSON 两种配置模式
- 文件管理: 自动导入和管理 KPM 文件
- 状态保存: 配置持久化保存,重启后自动生效
配置方式
可视化模式(推荐)
可视化模式提供友好的图形界面,适合大多数用户:
- 添加 KPM: 点击"添加 KPM"按钮,选择
.kpm文件 - 查看列表: 显示已添加的所有 KPM 模块及路径
- 启用开关: 打开"启用自动加载"开关
- 保存配置: 点击"保存配置"按钮
JSON 模式
JSON 模式适合高级用户,可以直接编辑配置:
{
"enabled": true,
"kpmPaths": [
"/data/data/me.bmax.apatch/files/autoload_kpms/module1.kpm",
"/data/data/me.bmax.apatch/files/autoload_kpms/module2.kpm"
]
}配置字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
enabled | Boolean | 是否启用自动加载 |
kpmPaths | Array<String> | KPM 文件路径数组 |
设置选项
| 选项 | 说明 | 默认值 | 推荐设置 |
|---|---|---|---|
| 启用自动加载 | 在应用启动时自动加载 KPM 模块 | 关闭 | 根据需求 |
| 配置 JSON | JSON 格式的配置文件 | 空配置 | 见下方示例 |
| 可视化模式/JSON 模式 | 配置界面模式 | 可视化模式 | 推荐可视化模式 |
使用场景
适用场景
- 防止分区修改的 KPM: 某些 KPM 如果嵌入内核可能导致启动失败,只能临时加载
- 快速测试模块: 在决定嵌入内核前,先通过自动加载测试模块效果
- 不修改 BOOT 分区: 如果不想修改 BOOT 分区,可以使用自动加载配置
- 开发调试: 频繁加载和测试不同的 KPM 模块
加载流程
应用启动时的 KPM 自动加载流程:
- 应用启动: 检查自动加载配置
- 读取配置: 加载
kpm_autoload_config.json - 检查开关: 如果
enabled为true,继续加载 - 验证文件: 检查每个 KPM 文件是否存在
- 加载模块: 逐个加载 KPM 模块
- UI 刷新: 用户需要手动下拉刷新查看加载状态
注意事项
重要提示
- 手动刷新: 加载完成后记得手动下拉刷新,检查模块是否正确加载
- 文件存在: 确保配置的 KPM 文件路径正确且文件存在
- 启动时间: 启用自动加载会增加应用启动时间
- 模块兼容: 确保 KPM 模块与当前内核版本兼容
KPM 模块警告
首次访问 KPM 页面时,会显示重要警告:
内核模块直接修改 Boot 实现。与系统模块不同,它们缺乏良好的恢复机制。如果出现问题,你只能通过进入 Fastboot 来修复。建议先加载模块以确保没有问题,然后再将其嵌入 Boot。如果模块只能通过加载使用,可以尝试自动 KPM 模块加载功能。如果你不了解内核模块,请不要使用此功能!
安全警告
- 高风险操作: KPM 模块直接修改 Boot,风险较高
- 缺乏恢复机制: 不同于系统模块,KPM 出错只能通过 Fastboot 修复
- 建议流程: 先加载测试,确认无误后再嵌入 Boot
- 谨慎使用: 如果不了解内核模块,请不要使用此功能
相关设置
获取帮助
如果在使用模块控制功能时遇到问题:
提示
模块控制、APM 和 KPM 是 FolkPatch 的强大功能,建议在使用前充分了解相关知识和风险,特别是对于 KPM 模块的操作。
版权所有
版权归属:FolkPatch Team
