系列教程:
Xposed模块开发教程(一) 了解并使用Xposed
http://blog.csdn.net/u014418171/article/details/52910768
Xposed模块开发教程(二) 第一个Xposed模块应用-在手机状态栏增加显示cpu温度
http://blog.csdn.net/u014418171/article/details/52911715
-
1.前言:
前几年 由XDA大神们开发的Xposed模块诞生,并开始逐渐占据整个玩机市场,出现大量基于Xposed开发的模块 这个玩意可以堪称 目前Android历史上最强大的神级软件, 我们都知道java反射 ,Xposed的Api劫持却比java反射强大多了, 在安卓系统上 除了无法hook 接口、抽象类和native方法 其他的通杀。
它对外支持模块式开发 使我们开发者可以基于这个Xposed环境进行模块开发,下面将会有多个系列的开发教程,让大家一起去开发这种Xposed模块神器
如果你还不知道Xposed是干什么的,请看一下下面这些比较有意思的神器,全是基于Xposed开发基于Xposed开发 QQ微信自动抢红包 QQ防止别人撤回 榨干电池 (欺骗系统电量为0时不关机) XHaloFloatingWindow (让应用缩小并悬浮起来) Wifi伪装3G网 ,3G伪装成Wifi 网络 (有些游戏要求Wifi下才能玩,用它解决) GPS地理位置伪装 (欺骗GPS,模拟自定义的经纬度) IMEI、手机型号、本机号码修改等 -
2.准备环境:
在开发模块之前,我们需要安装Xposed模块环境 这个安装环境有两种方式
1.直接下载Xposed Installer.apk 安装到你的手机上,运行点击安装
2.从第三方recovery刷入因为涉及如何刷入第三方recovery,再从第三方recovery刷入Xposed的问题 ,对手机兼容性有不同的教程 , 具体请自行百度 ”你的机型(安卓系统版本) 刷入Xposed教程 ” , apk版本也跟着系统的版本兼容性不同 所以我没贴下载地址 以免盲目安装错误的版本搞坏你的手机
注意: 不要盲目从网上随便找一个安装 否则可能会损坏你的手机 (特别是MIUI Flyme等被修改过的系统)安装Xposed成功后 界面应该是这样的 没有任何错误提示 (有错误请百度 ,这里只讨论如何开发模块)
如图 我的Xposed是85版本 我的手机的小米, 刷的系统是 原生Android 6.0.1
-
然后去百度上下载一些你喜欢的xposed应用(你要写xposed模块应用 首先得了解下)
例如我就随便安装了这些 (不是我的应用,我不是打广告…)
右边的勾上和不勾上意味着是否激活使用该模块
注意:每启动一个模块 不是立刻生效的 要重启手机
我们开发模块的时候就是要不断的重启手机来激活使用模块, 原因看下面
-
3.原理:
安装好的Xposed在重启手机过程中 通过替换/system/bin/app_process的程序 控制zygote进程,同时在app_process启动过程中会加载XposedBridge.jar这个包 (里面是后面说到的xposed api代码), 让基于Xposed开发的模块app们 都能使用XposedBridge.jar里的api (像android.jar那样, 后面会说到如何使用),然后对Zygote进程和Dalvik虚拟机进行劫持。这样就相当于我们可以对安卓系统进行… 额, 想干嘛就能干嘛 -
4.学习资料:
XDA论坛 (最新jar包可在此下载 如果你是Android Studio的话 可以不用下 后面的文章再详细说明)
http://forum.xda-developers.com/xposed/xposed-api-changelog-developer-news-t2714067
Github教程 (初次使用简单开发文档)
https://github.com/rovo89/XposedBridge/wiki/Development-tutorial
Xposed官方Api文档 (需要在线翻墙http://www.fangrmb.com )
http://api.xposed.info/reference/packages.html
安卓开发者交流群欢迎您加入
418263790