此文章发表于 2054 天以前,其内容可能已不再适用

博主近日把自己的一加 7 Pro 升级到了 Android Q beta,发现暂时无法刷入 twrp-recovery,也就意味着 root 有一点点的麻烦,今天博主发布个人测试可行的 root 方案。博主是在 Mac 下操作,Windows 以及 Linux 同理。

环境搭建

Xcode

  • Mac App Store 安装 Xcode。
  • 终端下输入如下命令并按提示安装。
    ada
    1
    xcode-select --install

    HomeBrew

    终端下执行如下命令即可。
    awk
    1
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    adb

    终端下执行如下命令即可
    jboss-cli
    1
    2
    3
    4
    5
    cd ~/Download
    wget https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
    unzip platform-tools-latest-darwin.zip
    echo 'export PATH=/Users/wbx/Downloads/platform-tools:$PATH' >> ~/.zshrc
    source ~/.zshrc

Python3 以及 pip3

终端执行如下命令安装 Python3

mipsasm
1
brew install python3

终端输入如下命令安装 pip3

dsconfig
1
curl https://bootstrap.pypa.io/get-pip.py | python3

protobuf 模块

终端执行如下命令安装 protobuf 模块

mipsasm
1
2
brew install protobuf
pip3 install protobuf

至此,环境搭建已经全部完成。

检测环境搭建正确性

终端输入以下命令,结果如图则正确

vim
1
2
3
4
python3 -V
pip3 -V
adb version
protoc --version

root 权限获取教程

  • 下载并解压手机当前使用的系统镜像,比如博主的是 Android Q Developer Preview 4 for OnePlus 7 Pro。链接如下。
    https://oxygenos.oneplus.net/OnePlus7ProOxygen_13.X.04_OTA_004_all_1908020003_726196c3b79b4f85.zip

  • 下载并解压镜像解包工具。
    https://gist.github.com/ius/42bd02a5df2226633a342ab7a9c60f15/archive/48ffe1eee59af9a7da883d9ec7902d1507428dc4.zip

  • 将解包工具中的两个.py 文件放到我们解压的镜像目录。

  • 执行如下命令解包,当看到 boot.img 解包完成后按 Ctrl+C 终止命令。

    apache
    1
    2
    cd /Users/wbx/Downloads/OnePlus7ProOxygen_13.X.04_OTA_004_all_1908020003_726196c3b79b4f85
    python3 payload_dumper.py payload.bin


  • 数据线连接手机,手机开启 USB 调试模式,将解包生成的 boot.img 文件拷贝到手机根目录 (由于 macOS 下无法直接将文件拷贝到 Android,所以采用 adb 命令方案)

    armasm
    1
    adb push boot.img /sdcard 

  • 手机端安装 Magisk Manager App,可以在酷安下载。

  • 按照图示,给 boot.img 打补丁

  • 将打好补丁的 magisk_patched.img 传回电脑桌面

    awk
    1
    adb pull /sdcard/Download/magisk_patched.img ~/Desktop

  • 将桌面上的 magisk_patched.img 文件刷入到手机的 boot 分区,Root 完成。

    arcade
    1
    2
    adb reboot-bootloader
    fastboot flash boot ~/Desktop/magisk_patched.img

至此您已经 Root 成功

OTA 更新后如何保留 Root 权限

OTA 更新安装完成后,不要重启。按照图示操作后再重启即可保留 Root 权限