链接:https://juejin.cn/post/6844903535448948750
https://zhuanlan.zhihu.com/p/64849443
对于xposed 你一定听说过或者见过对于他的描述,其中有一段是说想要xposed必须先root才可以,那么事实真的是这样吗?
首先公布答案: xposed一定需要刷入su.zip获取root权限才能刷入并且生效吗?
不一定
xposed插件想要生效,需要root吗?
不用
在集成自定义rom的过程中,我发现了一个问题,就是解压出来的flash-script.sh其实可以直接在recovery下运行。
刷入xposed也可以把zip包解压出来,system放到任意文件夹,flash-script.sh放到同一个目录下,执行flash-script.sh 即可进行刷入操作。
根据flash-script.sh脚本内容,可以发现,其实刷入xposed的操作只是对系统文件的一些替换和链接:
看到这里大概明白了,其实xposed的刷入只是替换掉system文件夹下的一些内容,所以只要有办法访问system文件夹就可以了。
其实在twrp下,键入一下命令whoami就可以有为什么能访问system的答案:
也就是说,在twrp下,其实他是有root权限的,所以根本不需要刷入su。正确的做法是直接在recovery底下刷入xposed.zip就可以了。然后开机重启,发现手机是没有su也没有root权限的,但是xposed确是生效的。
那么为什么网上流言说需要su呢,一方面是因为确实访问system需要root权限,但是recovery已经具备了,实际上是不用额外刷入的。 另一方面是,如果使用xposed installer进行刷入或者重启之类的,确实是需要su授权的。
所以最后的结论是: xposed需要刷入su获取root.这个描述不准确。 xposed完全可以不root。