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

说明:本文操作在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/pcre
 url = https://android.googlesource.com/platform/external/pcre
...省略

修改之后:

...省略
[submodule "pcre"]
 path = native/jni/external/pcre
 url = 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 script

optional arguments:
  -h, --help            show this help message and exit
  -r, --release         compile in release mode
  -v, --verbose         verbose output
  -c CONFIG, --config CONFIG
                        custom config file (default: config.prop)

actions:
  {all,binary,app,stub,snet,zip,uninstaller,clean,ndk}
    all                 build binaries, apks, zips
    binary              build binaries
    app                 build Magisk Manager
    stub                build stub Magisk Manager
    snet                build snet extension
    zip                 zip Magisk into a flashable zip
    uninstaller         create flashable uninstaller
    clean               cleanup
    ndk                 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"

 


 

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

图片

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaomaNo01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值