序文
最新の xused フレームワークは、xused から Edxused、そして lsposed に変更されました。xused の API はまだ一般的な 82 バージョンですが、インターネット上の Android Studio での xused の設定に関するチュートリアルのほとんどが少し遅れているため、この記事を書きます自己インストールプロセスを記録します。lsposed のインストール方法は、以前の Xiaomi ルート記事に記載されています。
1. build.gradle を設定する
アプリディレクトリで build.gradle を見つけて依存関係に追加します。
compileOnly 'de.robv.android.xposed:api:82'
compileOnly 'de.robv.android.xposed:api:82:sources'
この手順はオンライン チュートリアルと同じですが、xused の最新 API は 89 ですが、元の開発者は 82 に更新しただけです。89 は後から他の開発者によって追加されたため、82 を選択するのが最も安定します。
ただし、インターネット上の多くのチュートリアルのように jcenter を追加しないでください。このウェアハウスは 21 年間で更新を停止すると発表しました。Android Studioと連携するのはmavenか、国内のAlibaba Cloudのイメージを利用できるようになりました。settings.gradle を見つけて (以前の build.gradle のすべてのプロジェクト/リポジトリがここに移動されました)、リポジトリに追加します
maven {
url 'https://maven.aliyun.com/repository/public/' }
また
maven {
url "https://api.xposed.info/" }
どのウェアハウスから同期を実行できるかわかりません。または、私と同じようにいつも同期に失敗します。XposedBridgeApi-82.jar をダウンロードして app/libs フォルダーに置き、jar ファイルを右クリックするだけです。 -> ライブラリに追加し、依存関係implementation files('libs\\XposedBridgeApi-82.jar')
を変更しますcompileOnly files('libs\\XposedBridgeApi-82.jar')
。
後でエラーが報告された場合は、xped に関連する実装を使用しないようにしてください: モジュールをロードできません
Xped API クラスはモジュールの APK にコンパイルされます。
これにより奇妙な問題が発生する可能性があり、モジュール開発者が修正する必要があります。
実装が次のとおりである可能性があります。依存関係で使用されます。
2. AndroidManifest.xml
AndroidManifest.xml アプリケーション タグを追加します。
<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposeddescription"
android:value="这是一个xposed demo" />
<meta-data
android:name="xposedminversion"
android:value="82" />
xusedmodule は、これが xped モジュールであることを xped フレームワークに伝え、xpodeddescription はモジュールに説明を追加し、xusedminversion はサポートされる最小の xped バージョンを示します。
3. xused_init
メイン ディレクトリの AndroidManifest.xml と同じレベルに、新しいアセット フォルダーを作成します。
新しいファイル xposed_init をアセット フォルダーの下に作成し、ファイル タイプとしてテキストを選択し、ファイルのコンテンツに作成する xused クラスの名前を入力します。このファイルは、xped モジュールのエントリ ポイントをマークします。
4. xpose クラスを作成する
main/java/package 名フォルダーの下に、メイン アクティビティと同じレベルで、モジュールのメイン関数である新しい Java クラスを作成します。ここに、アプリ内のメソッドをフックする関数を追加できます。以下は、アプリのパッケージ名を出力するモジュールの例です。
package com.xposed.ssl;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
public class passHook implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
XposedBridge.log("Loaded app: " + lpparam.packageName);
}
}
Lsused のモジュールとしてのみ使用する場合、Main Activity は実際には不要なので、安全な削除を選択できます。ただし、最初に AndroidManifest.xml の Main Activity 部分を削除し、main/res/layout にあるメイン インターフェイス レイアウト ファイルを削除します。
5. デバッグ
携帯電話を使用して Android Studio に接続できます。携帯電話が開発者向けオプションで USB デバッグと USB インストールを有効にできること、および adb がコンピュータにインストールされていることを確認してください。
Android Studio で [ファイル] -> [設定] -> [システム設定] -> [Android SDK] を開き、携帯電話の Android バージョンに対応する SDK をダウンロードします。
ファイル—>設定—>システム設定—>Android SDK—>SDKツールで、Google USBドライバーをダウンロードします。
携帯電話とコンピュータを USB で接続し、デバイス マネージャーを開き、ポータブル デバイスで携帯電話を選択します。ドライバーを選択し、ドライバーを更新し、インストールした USB ドライバーを選択します。パスは通常、SDK を保存するパス (Sdk\extras\google\usb_driver) の下にあります。
インストール後に、携帯電話に最適なドライバーがインストールされているというメッセージが表示された場合は、この手順を実行する必要はありません。次に、USB デバッグと携帯電話のインストールをオンにし、Android Studio のアプリを実行すると、携帯電話にインストールできるようになり、Lsposed はこのモジュールが含まれていることも検出します。