简介
Xposed的作者是rovo89,但是更新完 8.1 的 beta 版之后就不更新了。由于Android新版本的普及,目前新上市的手机基本都是8.0以上。所以Xposed框架已经不适用。EdXposed团队成为Xposed停止更新后的官方接任者。
当然现在有更好的 LSPosed https://github.com/LSPosed/LSPosed,这个我们后面开一个系列
原理
控制zygote进程:通过替换/system/bin/app_processs
程序控制 zygote进程,使得它在系统启动的过程中会加载Xposed framework的一个jar文件,即XposedBridge.jar,从而完成对Zygote 进程及其创建的Dalvik/ART虚拟机的劫持,并且能够允许开发者独立的替代任何class。
刷镜像
我的测试机装的是Android 8.1,我刷的是EdXposed。这个有两个选项,一个是自己编译 userdebug 镜像,一个是直接使用 google 提供编译好了的镜像。对于刚开始接触的同学来说,最好选择去下载 google 编译好的镜像来刷机。
想自己编译进行,可看我之前发的 《wsl编译android源码》
Nexus 和 Pixel 设备的出厂映像:https://developers.google.com/android/images?hl=zh-cn
可以看到,Pixel 最高可以刷到 Android 10.
下载完镜像之后,就可以刷机了,先解锁 bootloader,然后执行一下命令,等待刷机完成:
adb devices # 先检查Pixel 设备是否存在,存在则执行以下指令
adb reboot bootloader # 先进入fastboot mode
fastboot flashing unlock # 解锁
下载之后进行解压,然后执行一下命令,等待刷机完成:
Windows:运行flash-all.bat
Mac:运行flash-all.sh
刷TWRP
由于Pixel及Pixel XL都采用A/B升级系统,因而可以理解为手机里有2个系统,如果你按照传统刷入Twrp的方法刷入的话,那么你并不会获得一个永久的Twrp。所以需要先刷入一个临时的Twrp,再通过临时的Twrp来刷入永久的Twrp从而来获取Root权限。
首先,前往TWRP官网Devices下载最新版临时TWRP镜像文件.img。
https://twrp.me/Devices/
Pixel 设备选择 Google,选择 Google Pixel (sailfish),选择美版/欧版,进入下载页面。
下载最新的 img 与 zip 文件,然后手机电脑连起来,将下载的img 与 zip 文件push到手机里面(path/to/),然后:
adb reboot bootloader
进入 bootloader 模式后,进入临时 twrp 界面:
fastboot boot path/to/twrp.img
在 twrp 界面安装 zip 文件,这样就得到了一个永久 twrp 。
刷 magisk
下载 magiskmanager:https://magiskmanager.com/downloading-magisk-manager
安装完成后,发现里面一直检查更新,点击菜单->设置->更新通道->自定义,输入:https://gitee.com/QingFeiDeiYi/Magisk/raw/master/stable.json 这个地址,然后返回刷新界面,就好了。
下载 magisk:https://github.com/topjohnwu/Magisk/releases
然后将文件 push 到手机,进入 twrp,安装,重启,即可,手机就 root 了。
EdXposed
下载3个文件:
-
Riru-Core – Download
-
EDXposed Magisk Module – Download (YAHFA and SandHook are two variants available – try both and adopt stable variant which is best for your device)
-
EDXposed Manager APK – Download
将前面两个压缩文件 push 到手机上,打开 magisk manager,点击 菜单 -> 模块 ,将上面两个 zip 文件刷入就好了。
安装 EDXposed Manager APK,重启,这样 EdXposed 框架就安装好了,打开 EdXposed Manager 会提示你是否安装好了。
XposedBridge
https://github.com/rovo89/XposedBridge
还未弄清楚版本的作用,大致看了下,新版添加了API。