这几天给手机折腾刷面具,获取 root 权限,以及装 edxposed 实在麻烦,遇到很多问题,反复来过很多遍,请教过很多大佬。
在此,整理下过程遇到的问题及解决过程。
OEM 解锁
第一步 OEM 解锁非常重要,解锁之后才能通过 twrp 进行刷机包安装。
必须要注意:解锁之后手机会清空所有数据,注意备份数据。
网上推荐备份的软件:Titanium Backup(钛备份)、swift backup、Helium(氦备份)
对于事先没有 root 的手机,前两款是用不了的,最后一款 Helium 需要配合电脑连接,通过开发者模式的 adb 启用类似临时系统权限。
即便如此,Helium 我也没有成功备份,总是遇到些许错误。
这里推荐用 google photos 备份你的照片外(会记录你的时间线),其次把手机存储上需要的文件手动备份到其他可靠位置。
最后通过,一加内置的“一加搬家”进行备份数据,完成后通过数据线连接电脑将你的备份数据拷走,因为是文件夹形式,最后建议打包存储到硬盘里,方便后面恢复。
一加会备份你多个相册,但是会乱掉,时间线或者相册无法完全恢复到最终的结构,只能是数据还在。除了相册,例如基础的手机数据,包括最左侧的便签都包含。
工具包下载:https://lanzous.com/ibn99kh
下载刷机工具包,解压并在其中的 fastboot 文件所在目录,按下 shift+鼠标右键点击打开 powershell,以便后续解锁。
解锁步骤:
设置-关于手机-版本号码-连点“版本号码”以开启开发者选项。
设置-系统-开发者选项-勾选 OEM 解锁
设置-系统-开发者选项-勾选进阶启动/高级启动
长按开机按键,点选开机启动器/引导启动器
通过数据线连接到 PC,通过 powershell 执行 “fastboot oem unlock”
手机端询问是否解锁,通过音量加+-选择“UNLOCK THE BOOTLOADER”,并通过开机键按下确认
解锁完成,可通过开发者选项-查看 OEM 选项
TWRP 刷入
手机解锁之后,在开机情况下将开发者选项中的“进阶启动/高级启动”打开之后,长按开机键,点选开机启动器。
如果是关机模式下,长按"音量-"及"开机键"即可进入 fastboot 模式。
下载地址:
https://forum.xda-developers.com/oneplus-7-pro/development/recovery-unofficial-twrp-recovery-t3931322
在解压后的目录通过按住 shift+鼠标右键打开 powershell
通过 fastboot devices 检测设备是否连入
> .\fastboot.exe devices
如果有显示:8b4f0000 fastboot 类似的就表示有效连接,若没有重新来过此步骤。
刷入一次性的 twrp
这里的路径为你的 twrp 的镜像路径,解压到哪里就是哪里,可以通过拖动文件到 powershell 直接获取路径。
.\fastboot.exe boot "C:\Users\Administrator\Downloads\TWRP-3.3.1-79-Q.img"
这种启动方式是一次性的,具体为手机 A/B 分区问题,可以参见其他 google 其他解答。
刷入 Magisk
保持上一步骤中 twrp 状态下进行此步骤
将你的 magisk 拖入手机存储中,或者邮件 magisk.zip 右键发送到手机设备也行。
刷入过程很简单,只需要在首页点击安装按钮-找到并选中 magisk.zip 的包,确认安装就行。
注意:在这里推荐各位下载最新符合自己系统用的刷机包,再刷一遍完整系统包。因为无论是 oem 解锁或者恢复出厂设置的系统都残缺很多应用,例如“一加小部件”会在数据备份恢复后,无法正常显示。天气等应用问题也很多。
系统下载地址:https://www.oneplus.com/de/support/softwareupgrade/details?code=PM1574156267635
所以,推荐的步骤是:
刷入系统(OnePlus7ProOxygen_21.E.24_OTA_024_all_2002022314_12cfa8192fee4cf5.JAR)将 JAR 后缀改为 zip,否则 twrp 不会识别。
开机确认无误后,重新引导进入 fastboot,再次启动 twrp
刷入 magisk
恢复系统数据
将之前备份的数据打包为 zip 拖放到手机存储中,并解压。(打包只是为了传输更快)
打开“一加搬家”,点击底部的备份恢复,会发现什么都没有,不过此步骤会在系统目录下创建“opbackup”文件夹。
你此时只需要将你备份数据解压到 opbackup 目录下的 MobileBackup 里就可以。(可以先解压,再删除原有的 MobileBackup,将你的目录剪贴过去都可以。)
再次打开“一加搬家”,备份恢复。点选备份记录确认恢复。等待恢复就可以了,过程中 app 恢复时间较长,还会提醒你有的应用不安全是否仍要安装。
edxposed
为了保证你的 safetynet 是双绿,请按后续步骤一步到位。
打开 magisk-manager-设定-magiskhide(将其选中)
重启
打开 magisk-manager,左侧会多出一个 magisk hide,点击并将其列表中的 google play 服务全部选中。
尝试测试 safetynet,应该是双绿,如果不是重启再测试 safetynet
接下来安装 edxposed
下载地址:https://github.com/ElderDrivers/EdXposedManager/releases
下载 edxposed-manager,安装到手机中并打开,选中“canary”,并选择安装更新。他会将最新的 edxposed 安装包下载到系统 download 目录下。
在 magisk-manager 中“线上模组”,搜索 riru-core 并安装。
在 magisk-manager 中“模组”,点击"+"图标,并找到 download 下刚才下载的 edxposed 最新包,然后安装。
重启
在 magisk-manager 中“模组”检查 edxposed 是否安装成功,并在 edxposed-manager 检查 xp 是否安装成功。
不出意外,此时你的 safetynet 应该是双红,是因为框架托管给 edxposed 了,我们还需要在 edxposed 设置一番,类似于 magisk-hide 的操作。
打开 edxposed-manager,设定-应用程序清单模式 (选中)
打开 edxposed-manager,设定-使 safetynet 通过验证 (选中)
打开 edxposed-manager,应用程序,应该已经勾选中了 google 服务框架以及 googleplay 服务。(如果没有应用程序,先重启再继续)
打开 edxposed-manager,应用程序-magisk-manager(将其选中)
打开 safetynet 测试,双绿通过,如失败则重启再测试。
升级系统
如果以后升级系统,需要通过以下方式保持 magisk 正常,且不会被 edxposed 搞坏系统。
下载安装 OTA 更新包,安装完毕后,不要重启系统。
打开 magisk-manager,设定-magisk 核心模式(选中)
打开 magisk-manager,首页的 magisk 点击安装-安装到其他分区位置。
然后再重启
检查系统正常,magisk 正常后,再关闭 magisk 核心模式(取消选中)
再次重启让 edxposed 有所有权。
Comments