Xposed 插件開發入門教程(一)

其實網上已經有不少 Xposed 插件開發的入門教程了,我寫的這篇與其說是教程,不如說是參考,爲了防止之後忘了開發步驟,這裏就寫篇博客記錄一下。android

要使用 Xposed 插件,首先要 root 手機並安裝 Xposed 框架,這個是必須的(Xposed 安裝相關教程請自行百度吧)。不過如今有一個 VirtualXposed 能夠免 root 使用 Xposed,本人沒有用過,就很少介紹了,有興趣的朋友能夠去搜索瞭解一下,下面就進入咱們的 Xposed 插件開發教程。api

 

步驟一:建立一個 Android 應用

打開 Android Studio 並建立一個 Android 應用,其實 Xposed 插件也是一個普通的 app,只不過須要添加一些額外的配置,以便 Xposed 可以識別這些插件,這個彷佛沒什麼好說的,我就不囉嗦了。app

 

步驟二:添加 Xposed 插件相關配置

首先在項目的 app 目錄下的 build.gradle 文件中添加以下配置:框架

dependencies {
    compileOnly 'de.robv.android.xposed:api:54'
}

其中 dependencies 表示項目的依賴項;compileOnly 表示此此包僅編譯時使用,不會將相關代碼打包進 apk;後面的數字 54 表示要支持的 Xposed 版本,這個能夠根據須要自行調整。ide

接着在 AndroidManifest.xml 中按以下代碼配置:gradle

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposeddescription"
android:value="description" />
<meta-data
android:name="xposedminversion"
android:value="54" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

主要就是添加 3 個 meta-data 元素,其中 xposedmodule 表示此應用是一個 Xposed 插件;xposeddescription 爲此插件的描述,插件安裝後在 Xposed 插件頁面能夠看到此描述文本;而 xposedminversion 則表示要求的 Xposed 最低版本,一般這個字段要和前面的依賴項版本號相同。ui

 

步驟三:建立 Hook 類並實現相關代碼

新建一個類,假設命名爲 XposedInit,讓此類實現 IXposedHookLoadPackage 接口,代碼以下:spa

public class XposedInit implements IXposedHookLoadPackage {
	
    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        XposedBridge.log("Loaded app: " + lpparam.packageName);
    }
}

這裏先打印一個 log 吧,具體的 hook 代碼之後有時間再寫篇博客,這裏就不寫了,否則這博客寫不完了。插件

 

步驟四:配置 xposed_init

在 assets 目錄下新建一個名爲 xposed_init 的文件(文件名必須是這個,且無後綴),並將相關 hook 類的全限定名稱寫入此文件中,若有多個類,則每行寫一個,如:日誌

xxx.xxx.XposedInit

這一步是告訴 Xposed 咱們的 hook 類是哪些,要不 Xposed 找不到咱們的類就沒法完成 hook 操做了。

 

步驟五:編譯插件並安裝到手機

使用 AndroidStudio 編譯並生成簽名的 apk 文件,而後安裝到手機中,如無心外,Xposed 會提示咱們插件已安裝,並詢問是否要開啓插件並重啓手機,重啓後打開 Xposed 的日誌界面就能夠看到咱們的插件輸出的 log 了。

相關文章
相關標籤/搜索