初识Xposed框架

概述

Xposed(也被称作Xposed框架、XP框架、Xposed framework),是一个运行于Android操作系统的hook框架。其通过替换Android系统的关键文件,可以拦截几乎所有Java函数的调用,并允许通过Xposed模块中的自定义代码更改调用这些函数时的行为。因此,Xposed常被用来修改Android系统和应用程序的功能。

简单来说,它允许你在不修改apk源码的情况下,通过编写自己的模块来改变apk的行为。采用了插件机制,模块能够适用不同版本的框架和rom。模块改变apk行为的操作发生在内存中,对源apk不进行任何修改。你只需要安装编写的模块并重启相应的设备即可。

组成部分

xposed 主要由三个项目来组成的:

  1. Xposed的C++ 部分,主要是用来替换 /system/bin/app_process,并为XposedBridge 提供 JNI方法。
  2. XposedBridge:Xposed 提供的jar文件,app_process 启动过程中会加载该jar包,其他的 Modules 的开发都是基于 该jar包。
  3. XposedInstaller:Xposed的安装包,提供对基于Xposed框架的Modules的管理。

xposed 目前已逐步支持 ART虚拟机,兼容 android 5.0 以上版本。

功能

Xposed框架是以模块扩展方式来实现对系统部分功能的修改,这些模块都依赖于Xposed框架。用户可以在一些应用商店或其自带的下载库进行下载安装。在中国大陆,还有精简QQ,个性化微信界面等用途的模块。

目前存在的问题

部分专有软件(如微信、支付宝等)会检测Xposed框架的存在,并强迫用户卸载Xposed框架及相关组件,否则用户将无法继续使用其所提供的服务。但是这些问题可以使用相应的模块来解决,比如Xposed黑名单模块。