原理
Xposed替换了/system/bin/app_process可执行文件,在启动Zygote时加载额外的jar文件(/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar),并执行一些初始化操作(执行XposedBridge的main方法)。然后我们就可以在这个Zygote上下文中进行某些hook操作。
安装XposedInstaller
- 下载XposedInstaller
- 安装。安装完会提示重启手机。如果是虚拟机要选择
软重启
,真实手机要选择硬重启
,千万不要搞反。 注:手机启动会比较慢,但如果手机重启时卡在欢迎界面,可以通过连续按电源键来跳过Xposed加载。
开发Xposed项目
1. Xposed module基础
Xposed程序称为module,它是包含一些特殊元数据和文件的android项目。建议使用android SDK 4.0.3 (API 15)进行开发。 一个Xposed module项目结构如下:
其中/assets/xposed_init文件指定了module的入口类,开发者要在这个类中实现需要的hook代码。这个类要实现特定的XposedBridge接口。 /assets/xposed_init内容:
com.example.xmodule.car.XModule
AndroidMannifest.xml内容: