π Welcome to Dynamic Installer
Dynamic Installer is an open-source framework that simplifies Android customization. Itβs a collection of utilities and functions built into a flexible ZIP-based installer. With DI, you can handle everything from basic file installation to advanced APK/JAR patching.
It supports installations by Recovery
or by Magisk/KSU
(click me). In addition, it provides a dual installation mode that allows the same ZIP to be installed in both environments.
Advantagesβ
Key Benefits
- Fully open-source and shell-script based.
- Mounts main partitions as RW (e.g.,
/system
,/vendor
,/product
). - Supports
/apex
mounting for advanced tasks. - Compatible with old and new partition types.
- Dual installation support (Recovery or Magisk).
- Rich set of actions for file editing, APK patching, and ROM installation.
- Runs with Bash instead of ASH or DASH.
- Extensible with addons and more!
Compatibilityβ
Supported Devices
- Architectures:
arm64-v8a
(64-bit),armeabi-v7a
(32-bit). - Partition Types: Dynamic, virtual dynamic, and traditional partitions.
How Does It Work?β
DI uses a simple ZIP structure to package its scripts and tools. Hereβs a basic layout:
dynamic_installer.zip
βββ META-INF
β βββ com
β β βββ google
β β βββ android
β β βββ updater-script # Your Recovery script
β β βββ update-binary # Sets up the environment
β β βββ magisk # Magisk space
β β βββ customize.sh # Your Module script
β β βββ module.prop # Your Module info
β βββ addons # Optional plugins
β β βββ extra.zip # Extra binaries
β βββ zbin # Internal tools and binaries
β βββ (tools)
|
βββ customize.sh # It is only provisional for modules
βββ module.prop # KSU / Magisk v28+ module info
|
βββ (your custom files/folders)
Try It Now!β
Ready to get started? Letβs create a simple "Hello World" installer in a few steps:
Simple Recovery ZIPβ
-
Download the Framework
1.1. Get the latest Dynamic Installer ZIP from here.1.2. Extract it to your computer or Android device.
-
Create Your Script
OpenMETA-INF/com/google/android/updater-script
in a text editor and add to the end of the content:ui_print "Hello World!"
-
Zip It Up
Recompress the folder into a.zip
file. Ensuring thatMETA-INF
always remains in the ZIP root, otherwise it will fail. -
Flash It
Boot into a custom recovery, select "Install," choose your ZIP, and flash it.Youβll see "Hello World!" on the screen.
Simple Module ZIPβ
To learn more about functionality as a Module, click here
-
Download the Framework
1.1. Get the latest Dynamic Installer ZIP from here.1.2. Extract it to your computer or Android device.
-
Create Your Script
OpenMETA-INF/com/google/android/magisk/customize.sh
in a text editor and add to the end of the content:ui_print "Hello World!"
-
Zip It Up
Recompress the folder into a.zip
file. Ensuring thatMETA-INF
always remains in the ZIP root, otherwise it will fail. -
Flash It
Open the Magisk or KSU app and install the ZIP.Youβll see "Hello World!" on the screen.
And if I want both installation cases?
Simply make the two previous cases (Recovery and Magisk). By default, DI will switch between the scripts depending on the installation context (Dual Mode
). That is, if the ZIP is installed from Recovery
(or similar), the first case will be executed, but if the same ZIP is installed from a manager like the Magisk / KSU
app, it will use the second installation case. This allows each case to have its own well-defined script according to the rules of each environment.
The installation cases are configurable, see more information here.
Bugsβ
The functions to decompile/compile APKs use an experimental apktool build that CANNOT process images, so don't try to process a full complex APKs! Only smali editions