The Magic Mask for Android
Go to file
2021-01-26 02:16:11 -08:00
.github Disable gradle daemon on Windows CI 2020-12-29 02:46:57 -08:00
.run Rename scripts 2021-01-24 07:18:14 -08:00
app Cache update check results 2021-01-25 04:13:08 -08:00
buildSrc More complete stub sources 2021-01-22 20:45:37 -08:00
docs Update README 2021-01-17 06:19:56 -08:00
gradle/wrapper Build compatible bytecode with newer JDKs 2020-06-21 02:43:32 -07:00
native Fix root on Android 7.0 and lower 2021-01-26 02:16:11 -08:00
scripts Move nand flash handling into boot_patch.sh 2021-01-25 03:37:41 -08:00
stub Remove unused action 2021-01-23 18:11:08 -08:00
tools Embed keys into dex files 2020-12-26 21:33:30 -08:00
.gitattributes Small native code reorganization 2020-03-09 01:50:30 -07:00
.gitignore Make main app fully independent from the stub 2019-10-17 02:55:42 -04:00
.gitmodules Use xHook to hook functions in PLT 2021-01-08 00:53:24 -08:00
build.gradle.kts Bump target SDK to 30 2021-01-22 05:03:33 -08:00
build.py Cleanup scripts 2021-01-24 07:24:13 -08:00
config.prop.sample Cleanup scripts 2021-01-24 07:24:13 -08:00
gradle.properties Some optimizations 2021-01-25 03:02:43 -08:00
gradlew Upgrade gradle wrapper 2020-06-20 04:41:54 -07:00
gradlew.bat Update Gradle wrapper to 5.6.1 2019-09-01 01:17:22 +08:00
LICENSE Use GPL v3 license and update copyright messages 2017-04-22 17:12:54 +08:00
README.MD Better development workflow 2021-01-23 16:50:55 -08:00
settings.gradle.kts Move signing code into main app sources 2020-12-26 17:03:10 -08:00

ZIP Downloads APK Downloads

Introduction

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

Downloads


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

Bug Reports

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 colorama after install)
  • Configure to use the JDK bundled in Android Studio:
    • macOS: export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
    • Linux: export PATH="/path/to/androidstudio/jre/bin:$PATH"
    • Windows: Add C:\Path\To\Android Studio\jre\bin to environment variable PATH
  • Set environment variable ANDROID_SDK_ROOT to the Android SDK folder (can be found in Android Studio settings)
  • Run ./build.py ndk to let the script download and install NDK for you
  • To start building, run build.py to see your options.
    For each action, use -h to access help (e.g. ./build.py all -h)
  • To start development, open the project with Android Studio. The IDE can be used for both app (Kotlin/Java) and native (C++/C) sources.
  • Select the "appFull" run/debug configuration to run Magisk Manager via Android Studio. The default "app" config will not work.
  • Optionally, set custom configs with config.prop. A sample config.prop.sample is provided.
  • To sign APKs and zips with your own private keys, set signing configs in config.prop. For more info, check Google's Documentation.

Translation Contributions

Default string resources for Magisk Manager and its stub APK are located here:

  • app/src/main/res/values/strings.xml
  • stub/src/main/res/values/strings.xml

Translate each and place them in the respective locations ([module]/src/main/res/values-[lang]/strings.xml).

License

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/>.