Xposed框架编写模块入门

来源:互联网 发布:问道外传数据库修改 编辑:程序博客网 时间:2024/05/16 16:02

Xposed框架编写模块入门

最近接触了xposed框架,一个很好用的hook神器,试着自己编写模块,发现好多坑,这里记录一下。其实网上有好多例子,我这里也是参考了一个博客的例子,但是都会出现各种各样的坑,而且这个博客提供的源码经我证实也是有问题,跑不起来的,所以这里详细的写一下步骤。

AndroidManifest.xml

首先是AndroidManifest.xml文件的配置,要新增三行,分别表示xposed模块的开关、描述和版本号。
这里写图片描述
如图,照着配置好就行,这样在我们的这个apk生成之后xposed框架就能自动识别到这是一个用xposed框架的模块了。

Xposed第三方包引入

我们需要下载Xposed的api包,XposedBridgeApi,网上都有,我这里下载的是XposedBridgeApi-54.jar,这里要具体说一下第三方包的引入,因为我之前做的时候好多坑都是这里引起的。首先,在app文件夹下新建一个lib目录,把这个第三方的jar包粘进去,网上有说法是这个新目录必须是lib不能是libs,因为会引起api调用错误,这个博客第四部分有说,但是经过实验证实,只是改成lib也没用,要做接下来add lib的操作。刚开始我只是右键,add lib,结果运行的时候查看log报错java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
原因就是我们只是简单的add lib,这个时候查看build.gradle文件,发现这个lib是compile加载的,这个时候应该把它改成provided。
这里写图片描述
通过图片可以看到,我们改成了procided,这个博客有写详细内容。

Test测试文件编写

然后就可以按照之前博客的例子编写测试文件了,网上有好多,这里是打印装载的apk程序名。
这里写图片描述

init初始化文档

之前忘了,现在修改一下,还有一点要加上初始化文档,主要是为了指出入口的。很简单,在app/src/main目录下,新建一个assets目录,里面新建一个xposed_init文档即可。文档内容为包名对应的入口方法,如下图。
这里写图片描述

apk打包

然后将apk签名打包,这里也说一下,就是在build中选择generate signed apk,然后配置好签名key,在app文件夹中就会生成apk,这个博客里详细说了怎么签名

运行测试

将生成好的apk安装到测试手机上(已经装有xposed框架),然后点击激活模块,再重启手机,就可以在log中看到我们的launch app了。

至此,over:-)
ps:有时间的话还会尝试更多的例子。

原创粉丝点击