Go to file
topjohnwu ada0f93686 Apply all sepolicy patches pre-init
Boot services tend to fail in the middle when the kernel loads a sepolicy live.
It seems that moving full patch (allow magisk * * *) to late_start is still not enough to fix service startup failures.
So screw it, apply all patched in magiskinit, which makes sure that all rules are only loaded in a single step.
The only down side is that some OEM with a HUGE set of secontexts (e.g. Samsung) might suffer a slightly longer boot time, which IS the reason why the rules are split to 2 parts in the first place.
2018-08-09 03:20:28 +08:00
app Add 1 more byte to mark 2018-08-09 03:01:33 +08:00
chromeos Massive build script refactor 2017-06-03 20:31:02 +08:00
docs fix typos 2018-06-19 14:28:09 -07:00
gradle/wrapper Update Gradle wrapper to 4.6 2018-04-22 03:09:02 +08:00
native Apply all sepolicy patches pre-init 2018-08-09 03:20:28 +08:00
scripts Proper addon.d-v2 support 2018-08-03 22:40:49 +08:00
snet Shrink snet APK, and prevent crashing 2018-07-28 23:40:41 +08:00
utils Sign release zips with release-key.jks 2018-08-05 02:29:40 +08:00
.gitattributes Build everything ourselves 2017-08-24 12:14:17 +08:00
.gitignore Update SafetyNet extension implementation 2018-06-10 02:35:03 +08:00
.gitmodules Remove magiskpolicy as submodule 2018-07-18 18:43:36 +08:00
build.gradle Improve update channel settings 2018-08-07 15:48:43 +08:00
build.py Small build script adjustments 2018-08-06 19:32:37 +08:00
config.prop.sample Sign release zips with release-key.jks 2018-08-05 02:29:40 +08:00
gradle.properties Disable config ondemand when using Gradle > 4.6 2018-05-26 17:35:02 +08:00
gradlew Update Gradle wrapper to 4.6 2018-04-22 03:09:02 +08:00
gradlew.bat Update Gradle wrapper to 4.6 2018-04-22 03:09:02 +08:00
LICENSE Use GPL v3 license and update copyright messages 2017-04-22 17:12:54 +08:00
README.MD Update README.md 2018-07-28 15:10:06 +08:00
settings.gradle Rename module core to native 2018-01-27 09:11:28 +08:00

Magisk

Building Environment Requirements

  1. Python 3.5+: run build.py script
  2. Java Development Kit (JDK) 8: Compile Magisk Manager and sign zips
  3. Latest Android SDK: set ANDROID_HOME environment variable to the path to Android SDK
  4. Android NDK: Install NDK along with SDK ($ANDROID_HOME/ndk-bundle), or optionally specify a custom path ANDROID_NDK_HOME
  5. (Windows Only) Python package Colorama: Install with pip install colorama, used for ANSI color codes

Building Notes and Instructions

  1. 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.
  2. Set configurations in config.prop. A sample file config.prop.sample is provided as an example.
  3. Run build.py with argument -h to see the built-in help message. The -h option also works for each supported actions, e.g. ./build.py binary -h
  4. By default, build.py build binaries and Magisk Manager in debug mode. If you want to build Magisk Manager in release mode (via the --release flag), you need a Java Keystore file release-key.jks to sign Magisk Manager's APK. For more information, check out Google's Official Documentation.

Documentation

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