最近看上了 OnePlus 8T,价格实惠,硬件设计也可以。截止至本文发布,LineageOS 官网 https://download.lineageos.org/ 暂时还没有官方支持。

但是官方 OnePlus 6/7(T) 适配的维护者 LuK 已经有了一个非正式的开发版本,设备内部代号是 kebab。它放在 LineageOS 的 GitHub 仓库和 Gerrit 评审系统里,姑且可以认为是候选发布或者提前尝鲜版。这个开发中的版本由 LuK 本人发布在 XDA 论坛。

[ROM][UNOFFICIAL][kebab][11] LineageOS 18.1
Yaay. The thread is back. :D

OnePlus 8T 按照地区、基带、运行商绑定和预装系统可以分为

  • CN 国内版,也叫做 $H_2$,因为预装国内版系统氢OS (HydrogenOS),别的地方都是氧OS (OxygenOS);
  • Global 国际版;
  • EU 欧洲版;
  • IN 印度版;
  • T-Mobile 运营商定制版。

我买的是国内版的。有人说国内的氢OS刷不进去,需要先刷成欧版。这几天在多种 ROM 之间尝试,亲测没有必要。我用 MsmDownloadTool (OnePlus 的出厂高通线刷包,或者叫做救砖包) 刷成上面其他的版本的原厂 ROM,发现国内版 ROM 有一个好处:不需要 WiFi 联网或者 SIM 卡就可以解锁 bootloader,从隐私角度来说有一定的优势。总体来说国内版 ROM 作为基础反而更方便,“需要先刷成欧版”的说法可能已经过时。

在尝试刷机的时候我遇到了很多坑(因为也很久没干这种事情了),看了很多网上的所谓教程。但是却忽略了作者帖子已经写清楚的重要提示消息。下面是一些我个人感觉比较重要的注意事项,并在最后给出我的刷机具体流程。

Recovery

不需要预先刷一个 TWRP Recovery,(目前)也用不了。相比之下,LineageOS 的 ROM 必然已经自带了一个改版的安卓原版 Recovery,它对于刷机已经足够用了。如今图形界面的 LineageOS Recovery 至少包含以下功能:

  • 擦除用户数据;
  • 进入到用户态 fastbootd(相当于机器启动到了 LineageOS Recovery 之后还能继续提供 fastboot 功能);
  • 使用 adb 旁加载文件的方式传入并安装数据包,可以选择跳过签名验证。

相反,TWRP 对 Android 11 的支持前两个月才推出,我能找到适配 OnePlus 8T 的 TWRP 是由 Mauronofrio 制作的非正式版本,而它目前还不支持 Android 11。而且作者明说目前还无法可靠地刷入机器,只能临时启动。我认为没有必要给自己找麻烦。

值得一提的是,LineageOS Recovery 里的 Recovery 模式是紫色主题风格,切换到 fastbootd 模式界面就变成了黄色主题风格。

Fastboot

版本问题

一定要用使用最新的 fastboot 命令,确保刷入的分区镜像符合安卓的最新标准。(这一点在 LuK 的帖子里也有提到。但我一开始没注意,导致刷进去的系统不完整)包含 adb 和 fastboot 的最新工具包可以从官网下载:

SDK Platform Tools release notes | Android Developers
Android SDK Platform-Tools is a component for the Android SDK.

而且同样也要注意,不要用手机上自带的 fastboot 模式,而要用上面提到的 LineageOS Recovery 里头的 fastbootd 模式。因为它接受 fastboot 指令的服务端比手机出厂自带的要新一些。而新的 fastboot 也需要手机一侧新的支持。

需要用到的一些命令

fastboot boot recovery.img
传输并启动 recovery.img(只启动,不刷入)
fastboot update ROM.zip
刷入 ROM 包并自动重启,没错 fastboot 也能直接刷了

大可不必像一些教程要求把 zip 刷机包拆开成一堆的 img 文件,然后手动做各种 fastboot flash xxxx xxxx.img。因为一行 fastboot update 命令已经足以完成所有这些任务。

刷机具体步骤

阅读下文需要了解基本的 Windows 命令行 / Shell 的使用方法。

在 LuK 的帖子给的下载地址里找一个最新的,带有 -gms 后缀的(如果需要谷歌全家桶)zip 刷机包。

解锁 OEM 和刷机将会丢失所有用户数据,注意提前备份。建议先不要插手机 SIM 卡,方便刷机成功后因为断网而暂时绕过欢迎屏幕最后的联网操作(因为还得先安排一个科学上网)。

  • 设置 → 关于 → 快速反复点击 “版本号”,提示开启 “开发者选项”
  • 设置 → 系统 → 开发者选项,开启 “解锁 OEM” 和 “USB 调试”
  • 连接电脑
  • 准备使用最新的 SDK Platform Tools 工具包里的 adb 和 fastboot
adb reboot fastboot
  • 执行上述命令后,手机应当重启到原厂自带的 fastboot 模式
fastboot flashing unlock
  • 执行完上述命令后,手机屏幕上应当出现解锁警示,用手机上的音量加减键控制选项光标,按电源键确认 Unlock。手机会自动擦除所有用户数据、解锁并重启。
  • 下一步操作还需要在 fastboot 里,所以不需要等待重启完成:拔下 USB 线,同时按下 音量+ 音量- 电源 三个按键十秒,强制关机。再次同时按下 音量+ 音量- 电源 三个按键,直接启动回到 fastboot 模式。
  • 接下来我们借用一下 LineageOS Recovery。解压 lineage-18.1-20210128_143311-UNOFFICIAL-kebab-gms.zip,提取出里面的 recovery.img,放在当前目录下。
fastboot boot recovery.img
  • 执行完上述命令后,应当看到手机画面变得炫酷了起来,能看到 LineageOS 的麦田怪圈(?) Logo。
  • 触屏点击 Factory reset 并确定擦除用户数据(刚才解锁后的自动重启可能又引入了一些用户数据,此时最好重新擦除干净)
  • 触屏点击 Advanced → Enter fastboot,进入 LineageOS Recovery 的 fastbootd 模式,画面色彩变为黄色。
fastboot update lineage-18.1-20210128_143311-UNOFFICIAL-kebab-gms.zip
  • 执行完成上述命令后,就刷机完成了,手机会自动重启进入 LineageOS。
  • 欢迎屏幕里跳过而不要连接 WiFi,断网环境下完成后,退回到安卓桌面
  • 和最开始同样的步骤打开开发者选项,USB 调试。
  • 从 GitHub 上科学的项目的 Releases 里下载那种科学的 apk。
adb install 科学上网--universal-5.2.1.apk
懂的都懂

新的系统就可以开始使用了。

后续更新步骤

目前还不是正式发布的版本,所以得手动更新。具体方法可参见官方 Wiki。

Upgrade LineageOS on {codename} | LineageOS Wiki

正式上线的进度可以关注 Wiki 上的列表,也可以直接看https://review.lineageos.org/c/LineageOS/lineage_wiki/+/300858/ 。当正式发布上线之后,系统更新就应该能够收到自动更新了。期待这一天尽快到来。