AMMF 目录结构详解
📂 概述
本文档详细描述了 AMMF (Aurora Magisk Module Framework) 的目录结构,帮助开发者了解每个文件和目录的用途,便于进行模块开发和定制。
🗂️ 根目录结构
/
├── .github/ # GitHub相关配置
│ ├── ISSUE_TEMPLATE/ # Issue模板
│ └── workflows/ # GitHub Action工作流
├── bin/ # 二进制工具
├── docs/ # 文档目录
├── files/ # 模块文件
│ ├── languages.sh # 多语言支持
│ └── scripts/ # 脚本目录
├── module_settings/ # 模块设置
├── src/ # 源代码目录
├── webroot/ # WebUI文件
├── action.sh # 用户操作脚本
├── customize.sh # 安装自定义脚本
├── LICENSE # 许可证文件
└── service.sh # 服务脚本
📁 详细目录说明
.github/
包含 GitHub 相关配置,用于自动化构建和 Issue 管理。
ISSUE_TEMPLATE/
bug_report.yml
- Bug 报告模板feature_request.yml
- 功能请求模板
workflows/
build_module_commit.yml
- 提交时构建模块的工作流build_module_release_tag.yml
- 发布标签时构建模块的工作流
bin/
包含二进制工具,用于模块的特殊功能。
filewatch
- 文件监控工具,用于监控文件变化并触发操作logmonitor
- 日志监控工具,用于管理模块日志
docs/
包含项目文档,提供使用指南和开发说明。
README.md
- 中文项目说明README_EN.md
- 英文项目说明SCRIPT.md
- 中文脚本使用说明SCRIPT_EN.md
- 英文脚本使用说明WEBUI_GUIDE.md
- 中文 WebUI 开发指南WEBUI_GUIDE_EN.md
- 英文 WebUI 开发指南DIRECTORY_STRUCTURE.md
- 中文目录结构说明DIRECTORY_STRUCTURE_EN.md
- 英文目录结构说明
files/
包含模块的核心文件和脚本。
languages.sh
- 多语言支持配置文件,定义了各种语言的文本字符串scripts/
default_scripts/
- 默认脚本目录main.sh
- 主要功能脚本,提供核心函数和变量
install_custom_script.sh
- 安装时执行的自定义脚本service_script.sh
- 服务运行时执行的脚本
module_settings/
包含模块的配置文件。
config.sh
- 模块基本配置,如模块 ID、名称、作者、描述等settings.json
- WebUI 使用的设置 JSON 文件
src/
包含模块的源代码文件,用于编译生成二进制工具。
filewatch.cpp
- 文件监控工具源码logmonitor.cpp
- 日志监控工具源码
webroot/
包含 WebUI 相关文件,用于提供图形化配置界面。
index.html
- WebUI 主页面app.js
- WebUI 主应用逻辑core.js
- WebUI 核心功能i18n.js
- WebUI 国际化支持style.css
- WebUI 样式表theme.js
- WebUI 主题处理- css/ - CSS 样式文件目录
animations.css
- 动画效果样式app.css
- 基础样式page.css
- 页面组件样式md3.css
- MD3布局样式(https://github.com/jogemu/md3css)main-color.css
- MD3 主题色配置
- pages/ - 页面组件目录
about.js
- 关于页面logs.js
- 日志页面settings.js
- 设置页面status.js
- 状态页面
📄 核心文件说明
action.sh
用户操作脚本,用于在模块安装后执行特定操作。此脚本可以被用户手动执行,用于触发模块的特定功能。
bash
#!/system/bin/sh
MODDIR=${0%/*}
MODPATH="$MODDIR"
if [ ! -f "$MODPATH/files/scripts/default_scripts/main.sh" ]; then
abort "Notfound File!!!($MODPATH/files/scripts/default_scripts/main.sh)"
else
. "$MODPATH/files/scripts/default_scripts/main.sh"
fi
# Custom Script
# -----------------
# This script extends the functionality of the default and setup scripts, allowing direct use of their variables and functions.
customize.sh
安装自定义脚本,在 Magisk 模块安装过程中执行。负责初始化模块、检查版本兼容性、替换模块 ID 等操作。 不建议修改,自定义脚本请使用install_custom_script.sh
service.sh
服务脚本,在系统启动后由 Magisk 执行。负责启动模块的后台服务和监控功能。 不建议修改,自定义脚本请使用service_script.sh
🔄 版本兼容性
在升级 AMMF 框架版本时,需要注意以下文件的变化:
files/languages.sh
- 多语言支持可能有更新files/scripts/default_scripts/main.sh
- 核心函数可能有变化module_settings/config.sh
- 配置选项可能有增减webroot/
目录 - WebUI 相关文件可能有更新
升级时建议先备份自定义内容,然后再进行合并。