Xposed模块开发入门

本文介绍了如何开始开发Xposed模块。首先从官网下载jar包,接着在Android Studio中创建项目并导入Xposed API库,确保使用`provided`避免冲突。在AndroidManifest.xml中声明Xposed模块,创建实现`IXposedHookLoadPackage`的hook类,并在`xposed_init`文件中声明入口。最后,运行项目并在Xposed框架中激活模块,查看日志确认效果。
摘要由CSDN通过智能技术生成

1.首先将需要的jar包下载下来
它是不断更新的,请大家直接到官网页面进行下载: https://jcenter.bintray.com/de/robv/android/xposed/api/

开发Xposed项目
介绍完Xposed,那么接下来我们来开发Xposed的项目。
创建AS项目
使用Android Studio创建一个新的项目,具体内容就不详细说了,基本都会创建项目的。
导入Xposed的api库
要使用Xposed的东西,就必须导入相对应的api库,
导入jar包
首先我们需要下载对应的jar包,然后导入到项目中的Libs文件夹里面,下载api-82-sources.jar,api-82.jar

注意这里要将compile改为provided,原因是Xposed里已有该jar包内容,再次打包进去会冲突,所以要改为provided。
同时也要将compile fileTree(include: [’*.jar’], dir: ‘libs’)也改为provided,如果不修改的话,就会导致handleLoadPackage没有回调。

Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。

gradle
当然也可以用gradle导入Xposed,同样将compile改为provided

dependencies {
provided fileTree(include: [’*.jar’], dir: ‘libs’)
androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2’, {
exclude group: ‘com.android.support’, module: ‘support-annotations’
})
compile ‘com.android.support:appcompat-v7:25.3.1’
compile ‘com.android.support.constraint:constraint-layout:1.0.2’
testCompile ‘junit:junit:4.12’
provided ‘de.robv.android.xposed:api:82’
}

声明Xposed模块
创建Xposed项目后,还需要在AndroidMenafest.xml文件里面声明Xposed模块,在application里面添加三个meta-data标签(xposedmodule、xposeddescription、xposedminversion)。




xposedmodule
表示作为Xposed的一个模块
xposeddescription
表示对本模块的描述,该描述会显示在安装好后的程序名称下方
xposedminversion
表示jar包的最低版本号
创建hook类
我们新建一个类,类名随意,然后实现IXposedHookLoadPackage接口,并且重写handleLoadPackage方法,里面就是我们要具体操作的地方。
package top.jowanxu.xposedtest;

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class Tutorial implements IXposedHookLoadPackage {

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

}

声明类的入口
创建完我们hook类之后,我们需要将该类加载到XposedInstaller中,也就是我们必须声明该类的位置,需要在xposed_init中声明。
xposed_init文件
创建assests文件夹

然后在里面新建一个文件,文件名为xposed_init,没有后缀,然后在里面写入我们刚刚创建的类的完整类名,

运行
搞完上面的步骤之后,我们直接run起来,程序跑起来之后,Xposed会提示是否激活

我们可以在Xposed里面看到我们的我们刚刚创建的项目

打勾,然后重启

重启之后然后打开Xposed的日志,点击保存

然后导出到电脑,搜索一下,就能找到我们自己打印的内容了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值