日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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/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下載源:

年輕人不講武德之Android Studio中gradle文件下載慢解決辦法

二、源碼編譯環境配置

(1)、安裝python 3.7及以上版本,并將python加到系統PATH環境變量。比如python路徑:

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

python路徑加到PATH環境變量之后如下所示:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-KgItiRmO-1610934112638)(https://imgkr2.cn-bj.ufileos.com/e48f52b7-dcbc-42e6-aecf-4bf2877e2477.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=f9iyZsNlvOuTaOudhqqIXL1QKeg%253D&Expires=1610969310)]

(2)、安裝JDK并配置jdk中bin所在路徑到系統PATH環境變量,比如jdk bin路徑:

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

jdk bin加到PATH環境變量之后如下所示:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-QNIei68q-1610934112642)(https://imgkr2.cn-bj.ufileos.com/33075d00-d14a-424f-ad49-fe5034a94412.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=7%252BJ5X4g9vijFxLjKKgJ0kXy8XHI%253D&Expires=1610969314)]

(3)、添加環境變量ANDROID_SDK_ROOT,并設置值為android studio配置的sdk路徑。

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

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

配置之后如下圖所示:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zN8P2jFt-1610934112644)(https://static01.imgkr.com/temp/b935b44696134d629f1f1b484b2f6fca.png)]

三、編譯Magisk工程

編譯之前首先用Android studio打開Magisk工程。并打開Android Studio "Terminal"終端,并在終端切換到Magisk源碼根目錄。如下所示:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-FzZ96O11-1610934112646)(https://static01.imgkr.com/temp/be42cde6112d45eeb925f28311ac5800.png)]

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指向的根目錄。如下所示:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gCKqNm7z-1610934112648)(https://static01.imgkr.com/temp/1b1702375b9347b4a5e9b01d24518cc5.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3akLu9TO-1610934112649)(https://imgkr2.cn-bj.ufileos.com/a044d89c-b6d3-4fcd-9a3e-1cfc4df7383b.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=w7UWIJEFQgKqUUSqMcsa6kUzMQg%253D&Expires=1610970376)]

(2)、執行如下命令編譯Magisk相關的模塊

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

編譯完成之后,在Magisk工程根目錄out文件中可以看到生成的Magisk刷機包。如下所示:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IRAFy6aE-1610934112649)(https://imgkr2.cn-bj.ufileos.com/9727d225-995d-40fc-8bd6-fd30eefa84e6.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=Con0Qq9fYVE9jUQfO9zDg1Ex1uQ%253D&Expires=1610970690)]

Magisk刷機包編譯完成之后,就可以使用twrp刷入到手機設備。Magisk刷入手機可以參考如下文章:
Edxposed學習研究(一)手把手教你安裝Edxposed

上一篇Edxposed學習研究(三)免Magisk使用adb命令安裝Edxposed

Edxposed學習研究相關文章:

Edxposed學習研究(一)手把手教你安裝Edxposed

Edxposed學習研究(二)手把手編譯Riru和Edxposed工程源碼

Edxposed學習研究(三)免Magisk使用adb命令安裝Edxposed

專注安卓系統、安卓ndk開發、安卓應用安全和逆向分析相關等IT知識分享,系統定制、frida、xposed(sandhook、edxposed)系統集成、加固、脫殼等等。微信搜索公眾號"QDOIRD88888"或者掃描以下二維碼關注公眾號。第一時間接收更新文章。

總結

以上是生活随笔為你收集整理的Edxposed学习研究(四)Magisk(面具)源码下载编译详细实战教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。