说明:本文操作在Windows 平台实现。

一、Magisk源码下载

在终端执行如下git命令下载Magisk源码。

E:\workspace\androidstudio\EdXposedProj\20210109>git clone --recurse-submodules https://github.com/topjohnwu/Magisk.git

以上命令执行完成之后,pcre模块会下载失败。是由于Magisk子模块"pcre"是从"https://android.googlesource.com/"下载,国内不能访问"https://android.googlesource.com/"。解决办法是把下载的地址改成清华源。

(1)、在Magisk源码根目录中修改.gitmodules的下载url。

文件路径为:

E:\workspace\androidstudio\EdXposedProj\20210109\Magisk\.gitmodules

修改之前:

...省略
[submodule "pcre"]path = native/jni/external/pcreurl = https://android.googlesource.com/platform/external/pcre
...省略

修改之后:

...省略
[submodule "pcre"]path = native/jni/external/pcreurl = https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/external/pcre
...省略

(2)、在Magisk源码根目录.git目录中修改config文件的下载url。

文件路径为:

E:\workspace\androidstudio\EdXposedProj\20210109\Magisk\.git\config

修改之前:

...省略
[submodule "pcre"]url = https://android.googlesource.com/platform/external/pcre
[submodule "selinux"]re
...省略

修改之后:

...省略
[submodule "pcre"]url = https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/external/pcre
...省略

(3)、在Magisk源码根目录执行git submodule命令下载子模块

参考命令如下:

E:\workspace\androidstudio\EdXposedProj\20210109\Magisk>git submodule update --init --recursive
Submodule path 'native/jni/external/pcre': checked out '986dc24ace8aea66189a95510813747155fa3800'

源码同步完成之后就可以用android studio加载Magisk工程源码了。如果同步过程中出现问题,可以配置maven下载源为aliyun试一下。

二、源码编译环境配置

(1)、安装python 3.7及以上版本,并将python加到系统PATH环境变量。比如python路径:

C:\Users\Qiang\AppData\Local\Programs\Python\Python37

(2)、安装JDK并配置jdk中bin所在路径到系统PATH环境变量,比如jdk bin路径:

C:\Program Files\Java\jdk1.8.0_74\bin

jdk bin加到PATH环境变量。

(3)、添加环境变量ANDROID_SDK_ROOT,并设置值为android studio配置的sdk路径。

Magisk同步完成之后,可以在Magisk工程根目录文件"local.properties"中获取sdk路径,比如local.properties可能的sdk路径配置:

...省略
sdk.dir=C\:\\Users\\Qiang\\AppData\\Local\\Android\\Sdk
...省略

配置之后如下图所示:

三、编译Magisk工程

编译之前首先用Android studio打开Magisk工程。并打开Android Studio "Terminal"终端,并在终端切换到Magisk源码根目录。如下所示:

Magisk工程中提供了脚本"build.py"来构建Magisk模块,终端执行"build.py"命令可以查看提供的编译命令参数。如下所示:

E:\workspace\androidstudio\EdXposedProj\20210109\Magisk>build.py
usage: build.py [-h] [-r] [-v] [-c CONFIG]{all,binary,app,stub,snet,zip,uninstaller,clean,ndk} ...Magisk build scriptoptional arguments:-h, --help            show this help message and exit-r, --release         compile in release mode-v, --verbose         verbose output-c CONFIG, --config CONFIGcustom config file (default: config.prop)actions:{all,binary,app,stub,snet,zip,uninstaller,clean,ndk}all                 build binaries, apks, zipsbinary              build binariesapp                 build Magisk Managerstub                build stub Magisk Managersnet                build snet extensionzip                 zip Magisk into a flashable zipuninstaller         create flashable uninstallerclean               cleanupndk                 setup Magisk NDK

(1)、如果是第一次编译,执行如下命令安装"ndk"编译环境。

E:\workspace\androidstudio\EdXposedProj\20210109\Magisk>build.py ndk* Downloading android-ndk-r21d-windows-x86_64.zip

执行完成之后,ndk会被安装到ANDROID_SDK_ROOT指向的根目录。如下所示:

(2)、执行如下命令编译Magisk相关的模块

E:\workspace\androidstudio\EdXposedProj\20210109\Magisk>build.py all* Building Magisk Manager stub

编译完成之后,在Magisk工程根目录out文件中可以看到生成的Magisk刷机包。如下所示:

Magisk刷机包编译完成之后,就可以使用twrp刷入到手机设备。Magisk刷入手机可以参考如下文章:

"Riru&Edxposed学习研究(一)手把手教你安装Edxposed"


扫描下方二维码关注公众号

RiruEdxposed学习研究(四)Magisk(面具)源码下载编译详细实战教程相关推荐

  1. Edxposed学习研究(四)Magisk(面具)源码下载编译详细实战教程

    说明:本文操作在Windows 平台实现. 一.Magisk源码下载 在终端执行如下git命令下载Magisk源码. E:\workspace\androidstudio\EdXposedProj\2 ...

  2. Android音频实时传输与播放(四):源码下载(问题更新)【转】

    Android音频实时传输与播放(四):源码下载(问题更新) 激动人心的时刻到了有木有 ^_^ 服务端下载请点击这里,客户端下载请点击这里! 最近有朋友在下载源码使用之后,说播放出来的声音噪声很大.其 ...

  3. Android AOSP和Android-X86源码下载编译终极普法

        Android AOSP和Android-X86源码下载编译终极普法 引言   最近有朋友在询问怎么下载Android AOSP源码和Android-X86源码,编译学习!其实这个说简单也简单 ...

  4. discuz3.4安装php,Discuz!X3.4论坛源码下载 及 全新安装教程

    Discuz!X3.4论坛源码下载 及 全新安装教程 一.下载 Discuz! X3.4 到本地或者服务器上 简体GBK.简体UTF8.繁体UTF8的打包版下载: 二.解压并上传 Discuz! X3 ...

  5. Ubuntu20.4 Android-9.0.0_r46源码下载编译

    Ubuntu20.4 Android-9.0.0_r46源码下载编译调试 安装Ubuntu虚拟机 ubuntu镜像下载地址: https://ubuntu.com/download 官网下载地址较慢可 ...

  6. Android FrameWork学习(一)Android 7 0系统源码下载 编译

    最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...

  7. 华为鸿蒙系统学习笔记4-方舟编译器源码下载及安装

    2019华为全球开发者大会将在8月9日-11日在华为松山湖基地召开.本次开发者大会邀请了1500位合作伙伴.5000名全球开发者,将是华为历来规模最大的一次会议.在这次大会上,华为方舟编译器也是关注的 ...

  8. Android FrameWork学习(一)Android 7.0系统源码下载\编译

    重点内容 转载. http://blog.csdn.net/cjpx00008/article/details/60474883 硬件环境要求 1. 编译环境 按照官方的说法,编译Android 2. ...

  9. 方舟编译器编写鸿蒙软件,华为鸿蒙系统学习笔记4-方舟编译器源码下载及安装...

    2019华为全球开发者大会将在8月9日-11日在华为松山湖基地召开.本次开发者大会邀请了1500位合作伙伴.5000名全球开发者,将是华为历来规模最大的一次会议.在这次大会上,华为方舟编译器也是关注的 ...

  10. android 源码下载编译

    引用:http://www.2cto.com/kf/201202/121175.html 最新的android4.0源代码公布以后,相信很多人和我一样都跃跃欲试,其实4.0的代码下载和编译和以前的版本 ...

最新文章

  1. C语言面试题-这些简单的你能很快的写出来吗?
  2. 解决eWebEditor老版本在IE新版本下按钮失效问题一劳永逸的办法
  3. ARMS V4.3发布,应用监控全新支持内存快照分析,全息排查等功能。
  4. 中国农民丰收节交易会全国贫困地区农产品产销对接行动
  5. MVC3 - 控制器
  6. leetcode 994. Rotting Oranges | 994. 腐烂的橘子(BFS)
  7. Jeecg-Boot 快速开发平台,前后端分离—开发工具安装
  8. 无线AP网络覆盖两种组网方式
  9. 直播带货,碾压无数上市公司
  10. 运行控制器方法之前先执行注解@ModelAttribute的方法
  11. HTML5+CSS3设计界面
  12. PHP字符串函数hex2bin( 转换十六进制字符串为二进制字符串)
  13. CTOD安悦系统目录转移软件
  14. 易语言 实现程序被关闭时隐藏窗口
  15. Kotlin中let、also、with、run和apply使用
  16. 了解函数式编程背后的属性:单子(Monad)
  17. 副本全攻略之哀号洞穴(超详细)
  18. Elastic Stack之Beats(Filebeat、Metricbeat)、Kibana、Logstash教程
  19. JAVA渣渣感悟——三目运算符(三元运算符)的注意事项
  20. 安科瑞电气火灾监控系统对分散在建筑内的探测器进行遥测、遥调、遥控、遥信,方便实现监控与管理。

热门文章

  1. 电缆桥架安装要求及规范指导
  2. 站斧超级浏览器风控系统助力Lazada商家安全管理
  3. linux ssd 4k对齐工具下载,4k对齐检测工具(as ssd benchmark)
  4. 企业如何布局数字化营销,打造私域运营闭环实现增长?
  5. Origin图例去除边框
  6. JavaScript注释
  7. iOS Charles(青花瓷)安装
  8. python编程 上册第4版_统编版四年级语文上册第1课观潮视频+课件+练习
  9. 流媒体:RTMP 协议完全解析
  10. 计算机网络第七版谢希仁课后答案第二章(部分答案)