Xposed学习一:初探

学习Xposed框架,在github:https://github.com/rovo89 下载XposedInstaller安装到手机上来管理Xposed的模块。
本文记录根据官方文档(资料1)在android studio下创建Xposed模块的步骤:
1 打开AS创建空activity的项目;
2 在AndroidManifest.xml下添加<meta-data>,代码如下:
        <meta-data
            android:name="xposedmodule"
            android:value="true"/>
        <meta-data
            android:name="xposeddescription"
            android:value="学习" />
        <meta-data
            android:name="xposedminversion"
            android:value="54"/>
View Code

 

  需要添加三个<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>

}
View Code

 

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);
    }
}
View Code

 

5 在assets/xposed_init文本中添加我们写的类全名:Xposed框架只会加载在此文本中出现的类(看Xposed学习三)
                               
  xposed_init内容:com.jason.learnxpose.Tutorial
6 Run得到将当前模块安装到手机中;在最初我们是创建没有activity项目,在Run时需要修改设置:
点击右图中的app,得到下图
选择Do not launch Activity。
此时点击Run将apk安装到手机,打开手机中的Xposed Installer点击模块看到刚刚安装的模块。模块必须重启才能开始工作,在后面的讨论Xposed原理会讲到为何重启才能工作。至此,在android studio上开发Xposed模块的全部流程结束。
 
 

参考资料:

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

posted @ 2015-08-26 16:54  vendanner  阅读(2103)  评论(0编辑  收藏  举报