作为一名玩机党,刷第三方 ROM 反反复复,最终却往往总是回归到原厂系统返璞归真,无论是稳定性还是流畅度,社区出品的第三方 ROM 大概率是比不上官方系统的……除非,这个原厂系统真的令你很失望。于是又一次,抱着破罐破摔的心态,我刷入了社区出品的 Pixel Experience GSI,却出人意料般的稳定和好用。

等等,什么是 GSI?GSI 的全称是 Generic System Image,翻译过来就是「通用系统镜像」,这个概念来源于 Project Treble。 自从 Android 8 引入 Project Treble 后,手机的系统文件和底层的厂商硬件驱动开始分离存放,更新系统时只需要更新系统文件即可。此项举措意在方便厂商加快 Android 大版本更新的步伐,自然也同样方便了第三方 ROM 的开发和更新,成为了社区开发的一大福音。从理论上来说,刷入某个 GSI,你的手机就会摇身一变,从一个系统切换到了另一个系统。

你的手机能刷 GSI 吗

前段说过,GSI 这个概念滥觞于 Project Treble 这个特性。因此,想要手机能刷入 GSI,前提之一就是支持 Project Treble。你可以下载安装 Treble Check 这个 app 进行检测,验证自己的设备是否支持 Project Treble。

检测界面

通过了图中的第一项,意味着你的设备支持 Project Treble;通过了图中的第二项,意味着你的设备支持「无缝系统更新」特性,也就是支持 AB 分区,支持我们在之前另一篇文章《每个 Android 玩家都不可错过的神器(二):保留 Magisk 进行「无痛 OTA」》 中介绍的「重启一次就更新完了系统」绝妙更新体验。

确认手机支持 Project Treble 后,想要刷入 GSI 还有另一项前提,那就一切玩机操作的大前提:解锁 Bootloader(引导程序),关于解锁 Bootloader ,各家厂商各有自己的政策和步骤,在这里就不一一详细描述。

这么多 GSI 镜像,你该选择哪一个

如果你想要挑选一个 GSI 日用, 可不能随便拿一个刷入。GSI 能保证刷入后绝大部分功能运行正常,但那远远达不到日常使用的标准。适合自己的才是最好的,如果能找到经过测试能较好适配自己机型的 GSI,岂不是美哉?

挑选 GSI 的首要原则是机型适配,GSI 的开发者往往会有标注专门适配机型、作出的优化和存在的 bug,方便你进行挑选。甚至针对大多数机型刷入后都存在的 bug,开发者还会额外给出一些 zip 格式的修复文件包供刷入来解决问题。以我的手机 Nokia 7 Plus 为例,开发者蜗牛的 Pixel Experience GSI 标明适配 B2N、C1N、DRG、MATA 等六款机型,同时专门对 VoLTE、蓝牙、屏幕圆角等进行优化适配,也标明添加了什么小功能(比如锁屏显示充电功率)。

其次,也是非常重要的一条,你需要选对正确版本的 GSI 包。GSI 包往往分为两种,AB 包和 A only 包,分别对应不同类型的系统分区(System Partition)。如果你的手机在检测时通过了第二项,那么基本可以断定你的手机是 AB 分区,你需要选择 AB 包进行刷入。如果你的手机在原厂系统下没有通过第二项检测,那么很有可能是 A only 分区。如果你还不确定,你可以通过搜索引擎获得当前机型的更多资料来确认。

不过,如果你仅仅是想尝鲜 Android Q beta1,没有那么高的日用要求,让我们立刻开始刷入吧!

刷入 GSI 的具体操作指南

特别简单,看 GSI 开发者给出的说明。(完)

这不是开玩笑,开发者作为创造它的人,往往会第一时间在自己手中的设备上进行一番测试。所以开发者提供的刷入步骤和注意事项,简直是一份过河指南,把每一颗能踩的石子都给你标注好了。

而实际上,从前面的 GSI 原理介绍来看,我们也能给出一个相对通用的刷入步骤。总的来说,刷 GSI ,就是把这份通用的系统镜像(往往是 .img 格式) 刷入到手机的系统分区(System Partition) 罢了。

准备工作:

  1. 确保你的手机尽量原厂,不要刷有第三方内核、magisk、Xposed 等等魔改。
  2. 备份你的数据到网络、电脑、外置存储等手机以外的地方,因为你的所有数据即将被清空。
  3. 在电脑上准备好 adb、Fastboot 相关环境,下载好对应的 GSI 包和救砖包以防万一。如果下载到的 GSI 包是压缩包格式,你可以解压看看是否得到了一个 .img 格式的镜像文件。

TWRP 刷入法

如果你的机型有 TWRP 支持,那么情况就更为简单了。

  1. 进入 TWRP,先来一次恢复出厂设置,抹除数据。
  2. 把 GSI 从电脑上传到手机上,只要 TWRP 能读取到就行。
  3. 点击 Install ,通过点击右下角的 Install Image 按钮将刷入类型从 zip 切换到 img。
  4. 找到你下载的 GSI img 镜像文件,选择 System image,开始刷入。
  5. (可选)如果开发者给出了用来修复 bug 的相关 zip 包,切换刷入类型为 zip 后也一并进行刷入。
  6. 重启

电脑刷入法

如果你和我一样,没有 TWRP 支持,那就只能借助电脑来刷写来,几行代码,用不了多少时间:

  1. 对于首次刷入,我们需要重置手机到出厂状态。设备恢复出厂设置后,在启动时使用按钮组合重新启动到设备的 bootloader 引导加载程序界面,或者直接连接到电脑输入 adb reboot bootloader 重启到引导程序界面。
  2. 将设备连接到PC后,在下载所选 GSI 的同一目录中打开命令提示符或终端窗口。
  3. 输入命令 fastboot erase system(清除系统分区)
  4. 输入命令 fastboot -u flash system GSI.img (刷入 GSI 到系统分区)
  5. 输入命令 fastboot -w reboot (清除数据并重启)

当然不同的机型有不同的注意事项,比如 Pixel 2 系列需要关闭 Android Verified Boot (AVB) 等等,多多注意和留心社区、论坛、帖子中的注意事项。

除非开发者特别要求清除数据刷入(Clean Flash),GSI 后续升级不需要清除数据,直接刷入(Dirty Flash)即可。这样的情况下,电脑刷入法中最后的重启命令需要改为 fastboot reboot (去掉 -w 就不会清除数据)。

通过 GSI 体验 Android Q

作为一名机智的我们读者,现在你一定能够回答标题中的第二个问号。Project Treble 的原意就是为了加快系统的大版本更新适配,GSI 更是让玩家能够在不同的设备、系统之间进行通刷。那么只要有一个 Android Q GSI,一切岂不是水到渠成?

xda 上的开发者 @Khode_Erfan 就把 Android Q 的系统文件做成了 GSI,另一位开发者 @MacTavishAO 更放出了针对这个 GSI 的修复包。你想跟踪 Q GSI 的后续更新的话,可以加入这个 电报群组。加入群组后,你还可以看到全球网友刷了这个 GSI 的反馈,比如哪些设备能够刷入,或者刷入后有什么样的问题,供你在刷入前作为参考。

参考机型

好了,尝鲜党们,开始刷入测试吧!当前版本无法连接到加密 Wi-Fi,请谨慎

GSI 下载地址: https://build.lolinet.com/file/GSI/

工具包下载地址:https://www.androidfilehost.com/?w=files&flid=279429

刷前请确保你的系统版本在 Android 8.1 以上。

AB 分区:

1) 按照前文的方法将 GSI 包刷入到系统分区
2) 刷入工具包中的 permissiver_v2.zip
3) 重启

A-Only 分区:

1) 按照前文的方法将 GSI 包刷入到系统分区
2) 刷入工具包中的 permissiver_v2.zip
3) 刷入工具包中的 FixZygote.zip
4) 重启

结语

如果你解锁后对正在使用的机型原厂系统使用体验不理想,又有 GSI 开发者宣布适配你这个机型,没准你可以试试看刷一个 GSI, 尝试更换到另一个系统使用,说不定会有比原厂系统更好的体验。

Apr.4 更新:

谷歌上线了官方 Android Q GSI 镜像,极度不稳定的实验版,四月安全更新。具体已知 bug 也已经详细地写在上线页面了。请各位玩家备份好数据,小心尝试。