Xposed入门浅析

作者: leonseven | 来源:发表于2017-04-10 14:26 被阅读752次

        由于项目要求,最近学习了一个被称为 “Android第一神器” 的东西——Xposed,我们看下百度介绍:Xposed框架是一款可以在不修改apk的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。

    1.安装框架

        安装Xposed框架首先需要 Root权限,所以要刷成开发版啦,这个没什么好讲的,按照自己手机品牌、型号自己刷去吧。

         然后就是安装Xposed安装器(先是安装Xposed安装器,在安装框架),我的手机是小米所以我在小米社区里下载的 MIUI专版,别的品牌手机可以去官网下载

    官网链接:点击

    MIUI安装教程:点击

        安装好安装器之后会出现如下图一的(我这是安装好Xposed框架的,所以状态是已安装)                      安装好后会出现图二的界面(当然你刚开始也是未激活),小米手机选择MIUI专版安装(图三)。                                

    郑重提示:Xposed框架可能会使手机无法正常启动,如果你之前没听过【软变砖】、【无限重启】,又不知道在这种情况下如何恢复,请不要安装Xposed,所以请先备份

    给它root权限后安装,并重启, 之后就可以选择 你的xposed模块 或 下载xposed模块了(图四),里面有很多很有用的模块(例如:修改Bilibili的主题颜色、微信主题颜色、QQ微信抢红包、防回撤消息等等)


    安装好xposed框架后(图一) 激活xposed框架后(图二) MIUI专版xposed(图三) 图四


    2.学习编写Xposed模块

        新建项目,导入jia 包 jar下载链接 ,导入后修改build.gradle, 把  compile files('libs/XposedBridgeApi-54.jar')  改为  provided files('libs/XposedBridgeApi-54.jar')

        之后在manifest 里添加 

    <meta-data  android:name="xposedmodule"

                        android:value="true"/>    作为xposed模块

    <meta-data  android:name="xposeddescription"

                         android:value="Simple Xposed Test"/>     模块描述

    <meta-data  android:name="xposedminversion"

                        android:value="54"/>      最低版本号

        然后新建一个Test类,实现IXposedHookLoadPackage, 实现它的方法   

    //获取手机中所有应用的包名                                                                                          XposedBridge.log("loadpackage name : "+ loadPackageParam.packageName);

    //测试Hook静态变量,修改手机机型和厂商XposedHelpers.setStaticObjectField(android.os.Build.class,"MANUFACTURER","leon");//厂商XposedHelpers.setStaticObjectField(android.os.Build.class,"MODEL","made in leon");//机型

    在里面我写了一个log打印所有包名,  还有一个 修改手机厂商 和 手机机型

    最后在main 文件夹下新建文件 assets, 在新建文本 xposed_init, 在里面写上 你的包名 + 刚刚写的类名  com.example.administrator.xposeddemo2.Test, 编译程序,  编译完成后再 (如图四)xposed框架的  模块中找到你的应用 选中, 这是应用会提示你重启手机(没提示也无所谓),对,没错就是重启(每编译一次就要重启一次,很麻烦),重启后就能看到如下图图五: 我的手机型号改为(made in leon)了,厂商我没找到在哪。。。

    图六是包名log,在xposed的日志中可以看到, AS上也可以看到。


    手机型号(图五) 包名log(图六)

    以上就我目前所了解的Xposed开发,还很浅薄,我会继续学习,做出更好的Xposed模块应用。

    相关文章

      网友评论

        本文标题:Xposed入门浅析

        本文链接:https://www.haomeiwen.com/subject/midsattx.html