您的位置:首页 > 移动开发 > Android开发

Xposed模块开发教程(一) 了解并使用Xposed

2016-10-24 13:11 218 查看
系列教程:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息