Magisk is a suite of open source tools for customizing Android, supporting devices higher than Android 4.2. It covers fundamental parts of Android customization: root, boot scripts, SELinux patches, AVB2.0 / dm-verity / forceencrypt removals etc.
Here are some feature highlights:
- MagiskSU: Provide root access to your device
- Magisk Modules: Modify read-only partitions by installing modules
- MagiskHide: Hide Magisk from root detections / system integrity checks
- Installation Instruction
- OTA Upgrade Guide
- Full Official Docs
- Magisk Troubleshoot Wiki (by @Didgeridoohan)
Android Version Support
- Android 4.2+: MagiskSU and Magisk Modules Only
- Android 4.4+: All core features available
- Android 6.0+: Guaranteed MagiskHide support
- Android 7.0+: Full MagiskHide protection
- Android 9.0+: Magisk Manager stealth mode
Canary Channels are cutting edge builds for those adventurous. To access canary builds, install the Canary Magisk Manager, switch to the Canary Channel in settings and upgrade.
Only bug reports from Canary builds will be accepted.
For installation issues, upload both boot image and install logs.
For Magisk issues, upload boot logcat or dmesg.
For Magisk Manager crashes, record and upload the logcat when the crash occurs.
Building and Development
- Magisk builds on any OS Android Studio supports. Install Android Studio and do the initial setups.
- Clone sources:
git clone --recurse-submodules https://github.com/topjohnwu/Magisk.git
- Install Python 3.6+
(Windows only: select 'Add Python to PATH' in installer, and run
pip install coloramaafter install)
- Configure to use the JDK bundled in Android Studio:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
- Windows: Add
C:\Path\To\Android Studio\jre\binto environment variable
- Set environment variable
ANDROID_HOMEto the Android SDK folder (can be found in Android Studio settings)
./build.py ndkto let the script download and install NDK for you
- Set configurations in
config.prop. A sample
- To start building, run
build.pyto see your options.
For each action, use
-hto access help (e.g.
./build.py all -h)
- To start development, open the project in Android Studio. Both app (Kotlin/Java) and native (C++/C) source code can be properly developed using the IDE, but always use
build.pybuilds in debug mode by default. If you want release builds (with
-r, --release), you need a Java Keystore to sign APKs and zips. For more information, check Google's Documentation.
Default string resources for Magisk Manager and its stub APK are located here:
Translate each and place them in the respective locations (
Magisk, including all git submodules are free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.