mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-11-06 19:31:10 +00:00
ef62272df72abc8afef97bf502e6a8c89f4fe170
Magisk
Building Environment Requirements
- Python 3.5+: run
build.pyscript - Java Development Kit (JDK) 8: Compile Magisk Manager and sign zips
- Latest Android SDK: set
ANDROID_HOMEenvironment variable to the path to Android SDK - Android NDK: Install NDK along with SDK (
$ANDROID_HOME/ndk-bundle), or optionally specify a custom pathANDROID_NDK - (Windows Only) Python package Colorama: Install with
pip install colorama, used for ANSI color codes
Building Notes and Instructions
- Building is tested on macOS, Ubuntu, and Windows 10 using the latest stable NDK and NDK r10e. Officially released binaries were built with NDK r10e.
- Set configurations in
config.prop. A sample fileconfig.prop.sampleis provided as an example. - Run
build.pywith argument-hto see the built-in help message. The-hoption also works for each supported actions, e.g../build.py binary -h - By default,
build.pybuild binaries and Magisk Manager in debug mode. If you want to build Magisk Manager in release mode (via the--releaseflag), you need a Java Keystore filerelease-key.jksto sign Magisk Manager's APK. For more information, check out Google's Official Documentation. - The SafetyNet extension pack requires the full Magisk Manager as a
compileOnlydependency. Build the release APK, convert it back to Java.classfiles (I use dex2jar), and place the converted JAR undersnet/libsbefore compiling.
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 (app)
- Copyright 2016-2018, John Wu (@topjohnwu)
- All contributors and translators on Github
MagiskSU (native/jni/su)
- Copyright 2016-2018, 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 (native/jni/magiskpolicy)
- Copyright 2016-2018, John Wu (@topjohnwu)
- Copyright 2015, Pierre-Hugues Husson (phh@phh.me)
- Copyright 2015, Joshua Brindle (@joshua_brindle)
MagiskHide (native/jni/magiskhide)
- Copyright 2016-2018, John Wu (@topjohnwu)
- Copyright 2016, Pierre-Hugues Husson (phh@phh.me)
resetprop (native/jni/resetprop)
- Copyright 2016-2018 John Wu (@topjohnwu)
- Copyright 2016 nkk71 (nkk71x@gmail.com)
External Dependencies (native/jni/external)
- Makefile for busybox, generated by ndk-busybox-kitchen
- Each dependencies has its own license/copyright information in each subdirectory.
All of them are either GPL or GPL compatible.
Others Not Mentioned
- Copyright 2016-2018, John Wu (@topjohnwu)
Languages
C++
36.6%
Kotlin
30.4%
Rust
16.4%
Java
9%
Shell
4.9%
Other
2.6%