AMMF Directory Structure Explained
📂 Overview
This document describes in detail the directory structure of AMMF (Aurora Magisk Module Framework), helping developers understand the purpose of each file and directory for module development and customization.
🗂️ Root Directory Structure
/
├── .github/ # GitHub related configurations
│ ├── ISSUE_TEMPLATE/ # Issue templates
│ └── workflows/ # GitHub Action workflows
├── bin/ # Binary tools
├── docs/ # Documentation directory
├── files/ # Module files
│ ├── languages.sh # Multi-language support
│ └── scripts/ # Scripts directory
├── module_settings/ # Module settings
├── src/ # Source code directory
├── webroot/ # WebUI files
├── action.sh # User action script
├── customize.sh # Installation customization script
├── LICENSE # License file
└── service.sh # Service script
📁 Detailed Directory Description
.github/
Contains GitHub related configurations for automated builds and issue management.
ISSUE_TEMPLATE/
bug_report.yml
- Bug report templatefeature_request.yml
- Feature request template
workflows/
build_module_commit.yml
- Workflow for building module on commitbuild_module_release_tag.yml
- Workflow for building module on release tag
bin/
Contains binary tools for special module functions.
filewatch
- File monitoring tool for watching file changes and triggering actionslogmonitor
- Log monitoring tool for managing module logs
docs/
Contains project documentation, providing usage guides and development instructions.
README.md
- Chinese project descriptionREADME_EN.md
- English project descriptionSCRIPT.md
- Chinese script usage instructionsSCRIPT_EN.md
- English script usage instructionsWEBUI_GUIDE.md
- Chinese WebUI development guideWEBUI_GUIDE_EN.md
- English WebUI development guideDIRECTORY_STRUCTURE.md
- Chinese directory structure descriptionDIRECTORY_STRUCTURE_EN.md
- English directory structure description
files/
Contains core files and scripts for the module.
languages.sh
- Multi-language support configuration file, defining text strings for various languagesscripts/
default_scripts/
- Default scripts directorymain.sh
- Main functionality script, providing core functions and variables
install_custom_script.sh
- Custom script executed during installationservice_script.sh
- Script executed when service is running
module_settings/
Contains configuration files for the module.
config.sh
- Basic module configuration, such as module ID, name, author, description, etc.settings.json
- Settings JSON file used by WebUI
src/
Contains source code files for the module, used to compile binary tools.
filewatch.cpp
- File monitoring tool source codelogmonitor.cpp
- Log monitoring tool source code
webroot/
Contains WebUI related files for providing a graphical configuration interface.
index.html
- WebUI main pageapp.js
- WebUI main application logiccore.js
- WebUI core functionalityi18n.js
- WebUI internationalization supportstyle.css
- WebUI stylesheettheme.js
- WebUI theme handling- css/ - CSS style files directory
animations.css
- Animation effect stylesapp.css
- Base stylespage.css
- Page component stylesmd3.css
- MD3 layout styles (https://github.com/jogemu/md3css)main-color.css
- MD3 theme color configuration
- pages/ - Page components directory
about.js
- About pagelogs.js
- Logs pagesettings.js
- Settings pagestatus.js
- Status page
📄 Core Files Description
action.sh
User action script, used to execute specific operations after module installation. This script can be manually executed by users to trigger specific module functions.
#!/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
Installation customization script, executed during the Magisk module installation process. Responsible for initializing the module, checking version compatibility, replacing module ID, and other operations. Not recommended to modify; use install_custom_script.sh
for custom scripts.
service.sh
Service script, executed by Magisk after system startup. Responsible for starting the module's background services and monitoring functions. Not recommended to modify; use service_script.sh
for custom scripts.
🔄 Version Compatibility
When upgrading the AMMF framework version, pay attention to changes in the following files:
files/languages.sh
- Multi-language support may be updatedfiles/scripts/default_scripts/main.sh
- Core functions may changemodule_settings/config.sh
- Configuration options may be added or removedwebroot/
directory - WebUI related files may be updated
It is recommended to back up custom content before upgrading, then merge changes.