mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-11-06 19:12:00 +00:00
8c02d120a247f637d14a7a900cf52c82f9ab482c
Magisk
How to build Magisk
Building has been tested on 3 major platforms: macOS, Ubuntu, Windows 10
Environment Requirements
- A 64-bit machine:
cmakefor Android is only available in 64-bit - Python 3.5+: run
build.pyscript - Java Development Kit (JDK) 8: Compile Magisk Manager and sign zips
- Latest Android SDK:
ANDROID_HOMEenvironment variable should point to the Android SDK folder - Latest Android NDK: Install NDK via
sdkmanager, or via Android SDK Manager in Android Studio - (Windows Only) Colorama: Install Colorama with
pip install colorama, used for ANSI color codes - (Unix only) C compiler: Build
zipadjust. Windows users can use the pre-builtzipadjust.exe
Instructions and Notes
- The easiest way to setup a working environment is to open Magisk Manager with Android Studio. The IDE will download required components and construct the environment for you. Don't forget to set
ANDROID_HOMEenvironment variable to the SDK path. - Run the script with
-has an argument to see the built-in help message. The-hoption also works for each supported actions, e.g../build.py binary -h - By default, the script will build binaries and Magisk Manager in debug mode. If you want to build Magisk Manager in release mode (through the flag
--release), you will need to place your Java Keystore file atrelease_signature.jksto sign Magisk Manager's APK. For more information, check out Google's Official Documentation.
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/>.
Credits
MagiskManager (java)
- Copyright 2016-2017, John Wu (@topjohnwu)
- All contributors and translators
MagiskSU (jni/su)
- Copyright 2016-2017, John Wu (@topjohnwu)
- Copyright 2015, Pierre-Hugues Husson (phh@phh.me)
- Copyright 2013, Koushik Dutta (@koush)
- Copyright 2010, Adam Shanks (@ChainsDD)
- Copyright 2008, Zinx Verituse (@zinxv)
MagiskPolicy (jni/magiskpolicy)
- Copyright 2016-2017, John Wu (@topjohnwu)
- Copyright 2015, Pierre-Hugues Husson (phh@phh.me)
- Copyright 2015, Joshua Brindle (@joshua_brindle)
MagiskHide (jni/magiskhide)
- Copyright 2016-2017, John Wu (@topjohnwu)
- Copyright 2016, Pierre-Hugues Husson (phh@phh.me)
resetprop (jni/resetprop)
- Copyright 2016-2017 John Wu (@topjohnwu)
- Copyright 2016 nkk71 (nkk71x@gmail.com)
ndk-busybox (jni/external/busybox)
- Makefile for NDK, generated by ndk-busybox-kitchen: Copyright 2017, John Wu (@topjohnwu)
- Patches for NDK: Many contributors along the way, all placed in osm0sis/android-busybox-ndk
- The copyright message for busybox should be included in its own directory
Others Not Mentioned (exclude jni/external)
- Copyright 2016-2017, John Wu (@topjohnwu)
Languages
C++
36.6%
Kotlin
30.4%
Rust
16.4%
Java
9%
Shell
4.9%
Other
2.6%