Xposed框架以在不修改APK文件的状况下修改程序的运行。php
这套框架须要设备解锁了Bootloader方可安装使用[1](root为解锁Bootloader的充分没必要要条件,而xposed安装仅需经过TWRP等第三方Recovery卡刷安装包而不须要设备拥有完整的root权限)。api
(1) xposed 是啥?
xposed是一个框架,上面有不少模块,这些模块都依赖于xposed这个框架,之因此称xposed是第一神器,就是由于这些模块能够完成许多匪夷所思的功能,例如:修改微信的界面,自动抢红包模块,自定义程序的文本,防止微信消息撤回,防止BAT三大流氓的全家桶相互唤醒、连锁启动,锁屏后自动干掉APP防止后台运行耗电,还有不少修改App或手机数据的装B模块等等。微信
(2) xposed 的原理?
xposed 原理就是修改系统的关键文件,而后当APP调用系统API时,首先通过xposed,而这些基于xposed的模块就能够选择性的在App调用这些api的时候干一些”坏坏”的事情,或者修改返回的结果,这样app在运行的时候效果就会改变,但app自己并无被破坏,只是调用系统api的时候,Android系统的表现发生了变化,这就是钩子,专业术语hook。因此,说白了,xposed就是个强大的钩子框架。app
来一段专业的原理解释吧:框架
做者经过替换 /system/bin/app_precesss 程序控制zygote进程,使得它在系统启动的过程当中会加载Xposed framework的一个jar文件即XposedBridge.jar,从而完成对Zygote进程及其建立的Dalvik虚拟机的劫持,而且可以容许开发者独立的替代任何class,例如framework自己,系统UI又或者随意的一个app。spa
除此以外使用这种方法的好处是ROM,APP都没有产生任何变化,所以理论上就不会形成设备变砖,同时撤掉修改也很是容易,仅须要停用 Xposed framework 便可彻底恢复原样。.net
摘自http://www.javashuo.com/article/p-uedfayny-no.htmlblog
VirtualXposed 是什么原理?进程
它就是先在你手机上创建一个「虚拟空间」,你须要在这个“虚拟环境”里面安装 APP ,而且安装其对应的 Xposed 框架模块,这样就能让这个模块对该 APP 起到做用了。ip
安装到VirtualXposed中的应用,运行起来跟普通应用无任何差异,能够正常收发消息,接收推送,读取本机文件等。