Xposed学习一:初探

来源:互联网 发布:在淘宝哪里看手机评估 编辑:程序博客网 时间:2024/06/01 10:17
学习Xposed框架,在github:https://github.com/rovo89 下载XposedInstaller安装到手机上来管理Xposed的模块。
本文记录根据官方文档(资料1)在android studio下创建Xposed模块的步骤:
1 打开AS创建空activity的项目;
2 在AndroidManifest.xml下添加<meta-data>,代码如下:
 <span style="white-space:pre"></span><meta-data            android:name="xposedmodule"            android:value="true"/>        <meta-data            android:name="xposeddescription"            android:value="学习" />        <meta-data            android:name="xposedminversion"            android:value="54"/>
需要添加三个<meta-data>,注意的是name字符串不能更改且version要对应你等下要依赖的jar版本
3 包含XposedBridgeApi-54.jar——这里要与上面的xposedminversion value对应
3.1 在app目录下创建deps文件夹,并将jar复制到此目录下,如图:
                                             

3.2 在app目录下的build.gradle文本(见上图)中添加命令将jar包含进项目:
dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    compile 'com.android.support:appcompat-v7:22.0.0'    <span style="color:#3333ff;">provided fileTree(dir: 'deps', include: ['*.jar'])</span>}
4 在java目录下创建java类开始写代码,按照官方文档的代码:
package com.jason.learnxpose;import de.robv.android.xposed.IXposedHookLoadPackage;import de.robv.android.xposed.XposedBridge;import de.robv.android.xposed.callbacks.XC_LoadPackage;/** * Created by vendanner. */public class Tutorial implements IXposedHookLoadPackage{    @Override    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {        XposedBridge.log("Loaded app" + lpparam.packageName);    }}
5 在assets/xposed_init文本中添加我们写的类全名:
                               
xposed_init内容:com.jason.learnxpose.Tutorial
6 Run得到将当前模块安装到手机中;在最初我们是创建没有activity项目,在Run时需要修改设置:
点击右图中的app,得到下图
选择Do not launch Activity。
此时点击Run将apk安装到手机,打开手机中的Xposed Installer点击模块看到刚刚安装的模块。模块必须重启才能开始工作,在后面的讨论Xposed原理会讲到为何重启才能工作。至此,在android studio上开发Xposed模块的全部流程结束。

参考资料:
1 Development tutorial
2 Xposed 开发教程(翻译自官方)
0 0