学习目标:Root Piexl6

刷机预备知识

刷机的分类

  • 线刷 官方包(刷的比较彻底,可以刷bootloader、radio)
  • 卡刷 lineage os(双清)

刷机包的分类

  • 线刷包/工厂镜像包
  • OTA全量包/OTA增量包

谷歌手机工厂镜像

https://developers.google.com/android/images?hl=zh-cn

线刷包的组成

  • bootloader
  • radio
  • android系统

官方系统与aosp系统

区别

  • 官方系统有google全家桶,aosp系统默认是没有的,需要另外集成

  • 官方系统是user版本,aops系统可以是user、userdebug或eng,现在一般都使用user版本

联系

  • 不管是官方系统还是aosp系统,刷机步骤都是一样的

开启开发者选项

进入到设置 -> 关于手机 -> 点击7次版本号

开启usb调试

进入到设置 -> 系统 -> 开发者选项 -> 启用USB调试 -> 信任设备

adb的简单使用

首先要将adb添加到环境变量中

adb devices 查看电脑连接的设备
adb reboot 重启
adb reboot bootloader 重启进入到bootloader模式中

进入bootloader模式

关机状态下:长按关机键+音量键

能进系统时:

adb reboot bootloader

刷机

刷机的常规步骤

进入到bootloader模式,双击flash-all.bat即可

为了更大程度的防止黑砖,通常会将bootloader_a 和 bootloader_b 都刷入一样的bootloader镜像

fastboot --slot=other flash bootloader bootloader.img

刷机相关命令

fastboot reboot 和 fastboot reboot bootloader
fastboot flash bootloader bootloader.img
fastboot flash radio radio.img
fastboot -w update image-sailfish-qpla.191005.007.a3.zip

单独刷某个分区镜像(分开刷要注意各分区镜像是否兼容)

fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash system_b system_other.img
fastboot flash vendor vendor.img

批量刷某些分区镜像

fastboot flashall -w	需要设置ANDROID_PRODUCT_OUT环境变量,指向镜像所在目录

刷机常见问题

fastboot devices无法识别设备

下载Google USB驱动(AndroidStudio中即可下载)

此电脑 -> 右键管理(或者win + x) -> 设备管理器 -> 选中没有驱动的安卓设备 -> 右键更新驱动程序 -> 选择浏览我的电脑以查找驱动程序 -> 找到驱动所在目录 -> 确定安装即可

刷机失败

谷歌手机刷机就是一键的,很简单;如果刷机失败,通常是fastboot版本问题,更换版本试试;比如安卓13、安卓15手机使用platform-tools_r33.0.2的版本是没问题的

连接wifi后无法访问网络

查看手机日期和时间是否正确

总结步骤

进入bootloader模式,执行

fastboot --slot=other flash bootloader bootloader.img

然后双击flash-all.bat

本人刷机过程中遇到的问题

计算机无法识别手机调试接口

错误状态:

正常状态:

在电脑设备管理器中,“adb interface” 指的是安卓调试桥接口

ADB(Android Debug Bridge)是一种用于与 Android 设备进行通信的工具,它允许开发者在电脑上通过命令行或其他工具与连接的 Android 设备进行交互,实现诸如安装应用程序、传输文件、调试应用等功能。当 Android 设备通过 USB 连接到电脑,并且设备的 USB 调试模式开启时,电脑的设备管理器中就可能会出现”ADB Interface“,表示电脑已经识别到了该 Android 设备的调试接口,并且可以通过 ADB 工具对设备进行相应的操作。

解决方案

下载Android官方驱动压缩包(在此之前我已经在Android Studio中下载过了USB驱动了,且Pixel1能正常识别,Pixel6确无法识别,可能是驱动版本不匹配导致?)下载地址:GitHub - xushuan/google_latest_usb_driver_windows

找到android_winusb.inf文件,右键选择安装

重启电脑后,即可正常识别到该 Android 设备的调试接口

进入到bootloader模式后无法识别

只要将上一步驱动安装好后,更换一根质量高点的数据线便解决了…….

Apatch root

现有的root方案

  • Magisk root:容易被检测,但是很有多模块可以用
  • KernelSU:内核级别的root方案,不容易被检测,兼容一部分Magisk模块,对内核有要求,需要P6设备及以上
  • Apatch:内核级别的root方案,不容易被检测,兼容一部分Magisk模块

推荐使用Apatch,并且每次都输入最新版本的Apatch,检测到的概率更小

Apatch下载

https://github.com/bmax121/APatch

Apatch root方法

安装Apatch app

adb install D:\BaiduNetdiskDownload\APatch_11039_11039-release-signed.apk

将boot.img推送到手机的sdcard目录并改名为boot.img

注意要与刷机使用的boot.img相同

adb push D:\BaiduNetdiskDownload\marlin-qp1a.191005.007.a3-factory-bef66533\marlin-qp1a.191005.007.a3\boot.img /sdcard/boot.img

重打包boot.img,并设置密码

我设置的为a12345678

cd Download
可以看到重打包好的boot.img文件

将重打包后的boot.img拉取到电脑上并改名为bootnew.img

adb pull /sdcard/Download/apatch_patched_11039_0.11.2_acel.img
/sdcard/Download/apatch_patched_11039_0.11.2_acel.img bootnew.img

刷入新的boot.img到手机的boot分区

adb reboot进入到bootloader模式
fastboot flash boot D:\BaiduNetdiskDownload\marlin-qp1a.191005.007.a3-factory-bef66533\marlin-qp1a.191005.007.a3bootnew.img

打开Apatch app,输入密码启用

密码为a12345678

点击超级密钥,输入密码后点击安装,Root就完成了