xposed模块入门开发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xposed模块入门开发相关的知识,希望对你有一定的参考价值。

参考技术A 具体的配置环境和手机环境就不再赘述了。
电脑端:
android studio
Android sdk
XposedBridgeApi jar包
手机端:
root
安装了xposed installer
已安装并激活xposed框架

其实就是一路next,创建工程完成后等待gradle加载完毕。

导入完成后,修改下app/build.gradle中的依赖声明。将XposedBridgeApi的依赖由implementation改成provided。改完后记得sync一下gradle。

xposedmodule: 表示这是一个xposed模块
xposeddescription: 描述该模块的用途,可以引用string.xml中的字符串
xposedminversion:要求支持的Xposed Framework最低版本

创建一个或者几个类,并实现IXposedHookLoadPackage,IXposedHookZygoteInit或者其他IXposedMod的子接口。

XposedBridge.log会将日志输出到logcat,并写入日志文件
也可以用 android.util.Log输出到logcat

这里举个例子,实现一下xposed的模块自检,检查自己的模块是否启动。就是在程序启动时,判断模块是否激活了。如果激活了就弹个toast提示模块已开启,如果因为某种未知原因导致激活失败,那么久弹个toast提示模块未开启。

实现也很简单,就是在MainActivity实现一个boolean方法,然后用xposed hook自己。能hook成功,自然代表模块成功启动了,反之亦然。

hook isModuleActive函数

这样就ok了

我们需要新建一个assets文件夹,并创建文件xposed_init,在里面填上xposed模块的入口.
这里我们声明自己的类“com.johnhao.testdemo.TestDemo”

到这里,这个简单的模块就算开发完了。

将这个工程,编译,打包,安装到已经支持Xposed的手机中。
需要注意的是,要关闭instant run功能!!!

下面看下实际效果(为什么gif不能自己动呢,还得点击图片查看):

勾选激活模块,重启设备

我们再来启动试试(gif怎么弄才能自动循环播放呢)

是不是ok了呢?
关于xposed简单的介绍就到这儿了

以上是关于xposed模块入门开发的主要内容,如果未能解决你的问题,请参考以下文章

Xposed 插件开发入门教程

Xposed优缺点和入门

Android基础项目 Xposed HOOK MAC地址与详细的hook入门

Android基础项目 Xposed HOOK MAC地址与详细的hook入门

Python Web 教程之 Tornado 框架入门

VirtualXposed,让你无需Root也能使用Xposed框架!