Edxposed research Magiskソースコードをダウンロードして、詳細な実用的なチュートリアルをコンパイルします

注:この記事の操作は、Windowsプラットフォームに実装されています。

1.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ディレクトリにある設定ファイルのダウンロード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'

ソースコードの同期が完了したら、androidstudioを使用してMagiskプロジェクトのソースコードを読み込むことができます。同期プロセス中に問題が発生した場合は、次の記事を参照してMavenダウンロードソースを構成できます。

武道について話さない若者のために、AndroidStudioでgradleファイルのダウンロードを遅くするソリューション

2、ソースコードコンパイル環境の構成

(1)python 3.7以降をインストールし、システムPATH環境変数にpythonを追加します。たとえば、Pythonパスは次のとおりです。

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

以下に示すように、PythonパスがPATH環境変数に追加されます。

画像

(2)JDKをインストールし、jdkのbinのパスをjdk binpathなどのシステムPATH環境変数に構成します。

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

jdk binがPATH環境変数に追加されると、次のようになります。

画像

(3)環境変数ANDROID_SDK_ROOTを追加し、androidstudioで設定したSDKパスに値を設定します。

Magiskの同期が完了すると、SDKパスはMagiskプロジェクトのルートディレクトリファイル「local.properties」で取得できます。たとえば、local.propertiesの可能なSDKパス構成は次のとおりです。

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

次の図に示すように、構成後:

画像

3、Magiskプロジェクトをコンパイルします

コンパイルする前に、最初に開くMagiskのプロジェクトをAndroidのスタジオそして、Android Studioの 「ターミナル」ターミナルを開き、ターミナルMagiskソースコードルートディレクトリに切り替えます。次のように:

画像

 

スクリプト「build.pyMagiskモジュールをビルドするために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

実行が完了すると、ndkANDROID_SDK_ROOTが指すルートディレクトリにインストールさます次のように:

 

画像

 

画像

(2)以下のコマンドを実行して、Magisk関連モジュールをコンパイルします。

E:\workspace\androidstudio\EdXposedProj\20210109\Magisk>build.py all

* Building Magisk Manager stub

コンパイルが完了すると、生成されたMagiskフラッシュパッケージがMagiskプロジェクトのルートディレクトリのoutファイルに表示されます。次のように:

画像

Magiskフラッシュパッケージがコンパイルされた後、twrpを使用してモバイルデバイスにフラッシュできます。Magiskが電話に点滅する方法については、次の記事を参照してください。

Edxposed学習研究(1)はEdxposedをインストールする方法を教えます

 

前の記事Edxposed学習研究(3)adbコマンドを使用してMagiskなしでEdxposedをインストールする

Edxposed学習研究関連記事:

Edxposed学習研究(1)はEdxposedをインストールする方法を教えます

Edxposed学習研究(2)RiruおよびEdxposedプロジェクトのソースコードを手作業でコンパイルする

Edxposed学習研究(3)無料のMagiskがadbコマンドを使用してEdxposedをインストールする

 

共有記事を毎日読むことはあなたの最大のサポートです。WeChatパブリックアカウントに注意を払っていない大物は、出発する前に注意を払います。セキュリティ研究、Androidシステムのソースコードのカスタマイズ、開発などの素晴らしい記事を毎日共有します。 。画像

画像

おすすめ

転載: blog.csdn.net/u011426115/article/details/112936921