• 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模块的全部流程结束。
     
     

    参考资料:

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

  • 相关阅读:
    vs2015帮助文档
    算法之冒泡排序
    c++ 离散数学 群的相关判断及求解
    Entity Framwork(EF) 7——在现在数据库的甚而上开发MVC 新项目
    ASP.NET MVC 5 一 入门
    c# winform TreeView NODE(节点) 重命名或获取节点修改后的值
    xml 中转意字符&/使用方法
    entityframework 入门-来自微软
    c# 利用 两个TREEVIEW控件完成TEENODE的鼠标拖动操作
    Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持
  • 原文地址:https://www.cnblogs.com/vendanner/p/4784377.html
Copyright © 2020-2023  润新知