OnePlus 12R/Ace3 OOS 升级后恢复信号和Root步骤
因为一加Ace3切换成OxygenOS后会伴随有信号丢失的问题 ,解决办法就是刷ocdt分区和oplusstanvbk分区,但是这个也不是一劳永逸的方法,每次ota后都要重新操作一遍,为了方便自己使用,特在此记录。
恢复信号
1 | adb reboot fastboot |
这里面的ocdt.img和oplusstanvbk.img是自己在买回新机后备份的原ColorOS系统的分区,一直保留使用,据说这个是和自己的手机绑定的,所以使用别人的,以及其它版本的不知道是否可行。
Root
现在使用APatch进行root,虽然从Apr 4, 2024已经没有再进行更新了,但截止到目前依然可用,目前最新版本的oos为CPH2609_15.0.0.400(EX01) 。使用它的原因是感觉比Magisk好用,内核级别的root,不容易被检测到。第一次安装刷入的步骤不难,也不是自己的目的,升级后进行的操作步骤如下:
获取boot镜像文件
- 1、下载全量包,可通过
oxygen Updater
获得 - 2、解包
- 通过解压软件获取
payload.bin
文件 - 通过payload dumper 获取boot.img文件
- 通过解压软件获取
修补镜像
将获取到的原系统boot.img传输到手机,打开APatch,点击右上角手机图标,选择选择一个启动镜像并修补
,找到文件,选择进行修补,之后修补好的文件会被保存到download文件夹,名称类似于apatch_patched_10763_0.10.7_prob.img
。
刷入修补后的boot文件
将修补后的apatch_patched_10763_0.10.7_prob.img
传到电脑,在相应文件夹内打开终端,输入
1 | adb reboot bootloader |
完成
补充:
在oos14时代,可能是内核版本没变,一次修补好的boot文件连续用了好几次,升级后直接刷入,免除了解包的麻烦。
但在oos15时代,不知道什么原因,第一次大版本升级后修补的boot镜像,直接用在后面的小版本OTA后都导致了无法进入系统的问题,所以,还是不要偷懒,每次都解包重新修补比较保险。
当然,出现无法启动的问题后,只需要刷入原版boot.img即可重新开机。
附:Linux环境下payload dumper使用方法
系统要求
- Python3, pip
- google protobuf for python pip install protobuf
准备工作
- 1、git clone https://github.com/vm03/payload_dumper.git
- 2、在
payload dumper
目录下这里要注意,如果不能安装,要进入python虚拟环境,方法在这一篇 ,这一点至关重要,我在这里花费了不少时间。1
python -m pip install -r requirements.txt
全量包解包
1 | python payload_dumper.py payload.bin |