前言
Xposed是一款强大的hook框架,是时候该学习一下如何开发它的模块了。刚开始也是比较懵,因此记录一下。Xposed相关的链接
我的开发环境如下:
- 已Root并且安装了Xposed Installer的Nexus 5, Android版本4.4.4
- Android Studio,API Level 25
- XposedBridgeApi-54.jar
开发流程
- 新建Android Studio工程,选择no Activity
2.把XposedBridgeApi-54.jar加到 libs 文件夹,然后修改build.gradle中的一个地方。
compile fileTree(dir: 'libs', include: ['.jar']) 改为 provided fileTree(dir: 'libs', include: ['.jar'])
3.在AndroidManifest.xml文件的application标签中增加下面的内容
<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposeddescription"
android:value="First Xpoesd Module Test" />
<meta-data
android:name="xposedminversion"
android:value="54" />
xposeddescription下面的value填写xposed模块的相关描述,xposedminversion下面的value是我们使用XposedBridge jar包的版本号。
4.新建一个java文件,写一个简单的example
package com.seven.xposedtest;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
public class XModule implements IXposedHookLoadPackage {
public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
XposedBridge.log("Seven Loaded app:" + lpparam.packageName);
}
}
5.新建一个assets目录
assets6.在assets目录新建一个文件 xposed_init ,里面写上hook类的完整路径。比如我的包名是com.seven.xposedtest,类名是XModule,那么就写上com.seven.xposedtest.XModule
7.Build Apk,然后install到手机。在Xposed installer的模块里找到这个模块,勾选上,接着重启手机。就可以在logcat看到效果啦。如果能看到有Seven Loaded app:的text,说明我们的模块安装成功了。
网友评论