AI手机网,短视频直播 硬改改机 一键新机 群控软件 刷机定制

 找回密码
 立即注册
搜索
查看: 1613|回复: 8

Android 的 Xposed,你想知道的都在这

[复制链接]
发表于 2021-8-10 15:34:08 | 显示全部楼层 |阅读模式

熟悉 Android 的小伙伴们都知道,Android 最大的优点在于开源。开源意味着可定制化程度高,如果开发者对 Android 内核和运行原理的理解足够高,比如 rovo89,他甚至可以创造出 Xposed 这样的万能框架。最近,许多人翘首以盼的 Xposed for Nougat (虽然是第三方)终于发布了,趁着这个时间点,我们来总结一下这款神器的「前世今生」。

原理与功能

Xposed 是一个 Android 平台上的动态劫持框架,通过替换手机上的孵化器 zygote 进程为 Xposed 自带的 zygote,使其在启动过程中加载 XposedBridge.jar,模块开发者可以通过 jar 提供的 API 来实现对所有的 Function 的劫持,在原 Function 执行的前后加上自定义代码。

说成人话就是 Android 上所有正在运行的应用程序都是通过一个万物之主 —— Zygote 创造出来的,但是这个万物之主不听我们的话呀,Xposed 就是把这个万物之主换成自个家的,然后用一本天书(就是前面的 XposedBridge.jar)和他沟通,就可以实现对于系统上任意程序任意数据和行为运行前后的修改,至于我们不会写天书或者读懂天书也没关系,只要我们下载已经写好的天书(模块)就可以完成特定的需求。

基本原理

举个实际的例子,在某个 App 的界面被系统渲染出来之前,Hook(勾住)负责渲染界面的函数,把 App 传递过来的参数(例如红色)改成绿色,最后 App 界面就可以成功变成你想要的颜色啦(当然是选择原谅她)。

或者支付宝微信运动等等 App 请求运动传感器的步数,当传感器返回步数的函数执行完毕,我们就可以 Hook 它,然后把它返回的结果修改成我们想要的数字(例如 23333),现在知道微信运动里面那些天天占领封面的人夸张的步数怎么来了吧(大于 40000 步一天基本就是这样子修改的)。

你们尽管跑......

上面只是 Xposed 最为基础的一些应用实例,事实上,它可以修改系统上所有的数据,所以「Imagination is the only limitation」(这里说的主要是 Android 5.0 以上的 Xposed 框架)。

难产的 Xposed 7.0

对于这样一个优点突出的框架,它的缺点也是明显的。

由于把系统的 zygote 替换成定制的 zygote,一些厂家针对手机的优化也就没有了,同时频繁地 Hook 函数也会造成一些性能损失,直观体现为开机速度明显变慢以及 App 打开速度和滑动帧率的降低。

作为一个严谨(划掉)的德国人同时还是个完美主义者,Xposed 的作者 rovo89 怎么能够忍受如此明显的缺点。对完美框架的追求和并不多的业余时间导致 Xposed 框架对于 Android 7.0 的适配非常慢(Android 7.0 对于应用的底层优化大改也是一个原因)。

Github 上不时就有 issue

虽然 Xposed 框架是开源的,但是涉及底层修改的源码对于绝大部分程序猿来说都是一道难以逾越的坎,对于小部分越过这道坎提交了代码还有提 issue 认为自己可以帮助适配的人,rovo89 是这样子说的:rovo89 的回答

大意就是 7.0 的 Xposed 不是随随便便弄的,真正了解 Xposed 的人很少,按照他的经验还没有人可以真正的帮到他,所以他还是要自己一个人干,拒绝没用的 commit 而且绝对不会放出不完美的分支。还真是傲娇呀……

不过即使这样子也阻止不了大家想在 Android 7.0 上体验 Xposed 的行动。最近,Github 上的 abforce 终于放出了一个并不完美的 Xposed for Nougat (Android 7.1+),即使此时 Android 8.0 已经临近发布了,XDA 和国内各个论坛还是瞬间沸腾了起来。不过对于这个版本,rovo89 是这样回复的:rovo89 的回答

这里贴一个很贴切的评论,酷安 @Aviraxp 评论了应用 Xposed 框架

rovo89刚刚发了长文,说他在去年10月就完成了目前这个所谓框架所达到的工作。但是,前95%的工作要花5%的时间,后5%的工作要花95%的时间。后期的兼容性修复花了他大量时间(中间有段时间搬家,几个月没开发),而且现在他已经放弃以前的思路,避免关闭任何优化以减少性能问题。文中还对出现的预编译xposed二进制表示鄙夷。大致是这个表情:
发表于 2021-8-10 15:34:26 | 显示全部楼层
非常好
发表于 2021-8-10 15:34:44 | 显示全部楼层
这是真的吗
发表于 2021-8-10 15:34:56 | 显示全部楼层
好用,速度比之前快多了,用了感觉很不错
发表于 2021-8-10 15:35:24 | 显示全部楼层
感谢刷机成功
发表于 2021-8-10 15:35:43 | 显示全部楼层
感谢客服指导
发表于 2021-8-10 15:35:44 | 显示全部楼层
谢谢分享,非常好用,很牛
发表于 2021-8-10 15:36:07 | 显示全部楼层
盖了帽了,厉害
发表于 2021-8-10 15:36:16 | 显示全部楼层
现在手机速度也快了很多
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术交流售后群

QQ|小黑屋|手机版|站点找错-建议|AI手机网 |Sitemap



GMT+8, 2024-5-9 07:50 , Processed in 0.162107 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表