Xposed 使用手册

** Xposed **

xposed

关于Xposed

** 使用需要ROOT环境 **

Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,通过替换/system/bin/app_process程序控制zygote进程,使得app_process在启动过程中会加载XposedBridge.jar这个jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。

基于Xposed框架可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。

此外,Xposed框架中的每一个库还可以单独下载使用,如Per APP Setting(为每个应用设置单独的dpi或修改权限)、Cydia、XPrivacy(防止隐私泄露)、BootManager(开启自启动程序管理应用)对原生Launcher替换图标等应用或功能均基于此框架。

官网地址:http://repo.xposed.info/。
源码地址:https://github.com/rovo89。


环境搭建

Xposed框架是基于一个Android的本地服务应用XposedInstaller与一个提供API 的jar文件来完成的。

所以,安装使用Xposed框架我们需要完成以下几个步骤:

安装本地服务XposedInstaller 需要安装XposedInstall.apk本地服务应用,我们能够在其官网的framework栏目中找到,下载并安装。地址为:
http://repo.xposed.info/module/de.robv.android.xposed.installer

打开应用时,提示安装Xposed可能会** 变砖 无限重启 **的风险。

安装好后进入XposedInstaller应用程序,会出现需要激活框架的界面,如下图所示。这里我们点击 ** 安装/更新 ** 就能完成框架的激活了。部分设备如果不支持直接写入的话,可以选择“安装方式”,修改为在Recovery模式下自动安装即可。

Xposed 使用手册_第1张图片
screenshot.png

安装框架:

Xposed 使用手册_第2张图片
install.png

安装过程中出现了Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]的问题。

** ROM空间不足原因导致,删掉部分应用腾出空间即可 **

其他解决方案:wipe data/factory reset


因为安装时会存在需要Root权限,安装后会启动Xposed的app_process,所以安装过程中会存在设备多次重新启动。

TIPS:由于国内的部分ROM对Xposed不兼容,如果安装Xposed不成功的话,强制使用Recovery写入可能会造成设备反复重启而无法正常启动。

下载使用API库

其API库XposedBridgeApi-.jar(version是XposedAPI的版本号,如我们这里是XposedBridgeApi-54.jar)文件,我们能够在Xposed的官方支持xda论坛找到,其地址为:

Xposed API changelog / developer news


XPosed入门(登陆劫持演示)

学习Android Hook神器——XPosed入门(登陆劫持演示)时遇到的问题

  1. iilegalArgumentException: cannot transfer object from class android.content.res.MiuiTypeArray to class
    解决办法:XposedInstaller 设置页面 禁用资源钩子 后重启
    参考自:Xposed作者rovo89亲自回答

  2. illegalAccessError: Class ref in pre-verified class resolved unexpected
    解决办法:XposedHook项目中XposedBridgeApi-.jar放在lib(自己创建)而非libs下,在build.gradle中用provided files('lib/XposedBridgeApi-54.jar')而非compile('lib/XposedBridgeApi-54.jar'),这样jar只编译而不会被打包至APK中。
    参考自:Xposed作者rovo89亲自回答


深度参考:
北漂周 - Android Hook 神器——XPosed入门(登陆劫持演示)

你可能感兴趣的:(Xposed 使用手册)