Xposed系列之Xposed介绍

什么是Xposed

Xposed框架(Xposed Framework)是一套开源的、在Android高权限模式下运行的框架服务,可以在不修改APK文件的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。

Xposed系列之Xposed介绍

Xposed用途

xposed框架是一个由xda开发的框架,安装之后,让许多软件在此框架里面运行,比如绿色守护借助这个框架可以获得更多的功能,gravitybox必须在这个框架里面运行,需要root,MIUI禁止使用。

Xposed 就好比是 Google 模块化手机的主体,只是一个框架的存在,在添加其他功能模块(Modules)之前,发挥不了什么作用,但是没了它也不行。也正因为如此,Xposed 具有比较高的可定制化程度。Moto X 用户可定制手机的外观、壁纸、开机动画等,Xposed 则允许用户自选模块对手机功能进行自定义扩充。

Xposed原理

Android基于Linux,第一个启动的进程自然是init进程,该进程会 启动所有Android进程的父进程——Zygote(孵化)进程,该进程的启动配置在 /init.rc脚本中,而Zygote进程对应的执行文件是/system/bin/app_process, 该文件完成类库的加载以及一些函数的调用工作。在Zygote进程创建后, 再fork出SystemServer进程和其他进程。而Xposed Framework呢,就是用自己实现的app_process替换掉了系统原本 提供的app_process,加载一个额外的jar包,然后入口从原来的: com.android.internal.osZygoteInit.main()被替换成了: de.robv.android.xposed.XposedBridge.main(), 然后创建的Zygote进程就变成Hook的Zygote进程了,而后面Fork出来的进程 也是被Hook过的。这个Jar包在: /data/data/de.rbov.android.xposed.installer/bin/XposedBridge.jar。

Xposed的优点

Xposed 是基于 AOSP 开发的,对源代码改动不大的 ROM 的兼容性较好,这也就使得某一功能可借由 Xposed 移植到不同的 ROM 上。

作为 Android 用户,你可能喜欢现有 ROM 的界面,同时羡慕其他 ROM 的一些特色功能。有了 Xposed,大可不必为了追求某些特色功能而换掉现有 ROM,使 ROM 的美观性与功能性兼备。不过前提是仓库中存在相应的功能模块。

若要使 ROM 恢复原状,只需取消勾选所有模块或停用 Xposed 即可,无需复杂的刷机操作。

Xposed下载

然后是Xposed Installer,由于Android 5.0以上采用ART,而5.0以下默认采用Dalvik,

所以是有两个版本的Xposed,附上下载链接:

Android 4.0.3-4.4:http://repo.xposed.info/module/de.robv.android.xposed.installer

Android 5.0以上::https://forum.xda-developers.com/showthread.php?t=3034811

官网:http://repo.xposed.info/

作者Github仓库:https://github.com/rovo89

官方教程:https://github.com/rovo89/XposedBridge/wiki/Development-tutorial

XposedBridge.jar下载:https://jcenter.bintray.com/de/robv/android/xposed/api/


分享到:


相關文章: