前言 🥰
去年还没换手机的时候,偶然一天在淘宝上看到有卖OnePlus Nord(海外版)的,虽然价格不贵,配置也毫无亮点,本地化又少,但我我却瞬间就被它的启动器界面和图标风格所吸引,当然那时候还是Android11。相比各大国产厂商的ui风格,我更喜欢Google的设计理念:尤其是在Android12引入了Material You后,整个系统支持统一调色Monet、增加了众多Widget小部件、同时QS磁贴一改以往小图标堆积的样式,这里贴张图来简单展示一下:
不过也有人会说Android12的控制中心是专为老年人设计的,因为单独每个磁贴都设计的比较大。对于这个的话仁者见仁智者见智,至少市面上找不出第二家这样设计的了,就算丑也丑的很有特点🤣,不像国内厂家千篇一律的设计审美。谷歌的设计还是在线的,从最早的nexus系列到随后的pixel,一直到现在的6Pro,可以看出谷歌在特立独行这条路上至少从未迷过路(这一点和Sony很类似)。
准备工作
解锁🤨
oem解锁
后会清除所有内置数据!!!
这里的解锁并不是平时所说的解锁手机锁屏的意思,而是解锁启动引导Bootloader,厂家默认关闭了这一选项,需要我们手动打开,当然如果你的手机不支持解锁,比如像现在的华为、OV的非海外版,那就别无选择了。前两天在酷安上看到现在小米的新机型如果想要打开oem解锁,还需要进行独自申请,而且申请名额有限,可以看出国内厂商越来越希望封锁这个路线以制造属于自己的封闭生态圈,试问这样做和安卓崇尚开源的本质是否已经相悖了呢?各大厂家开启oem解锁的方式大同小异,通常需要以下几步:
- 在手机设置里找到设备信息这一栏,点进去看到Android系统版本号后,快速点击该版本号多次(界面会有提示)后就打开了开发者选项
- 在开发者选项中找到OEM解锁(允许解锁引导加载程序),打开它。如果碰到OEM解锁灰色:请连接到互联网或与您的运营商联系,此时需要先暂时关闭开发者选项、挂上VPN、在最近任务中划掉设置并熄屏至少5min,这样以后就可以连接到Google服务器了
- 安装adb调试工具,并用数据线将手机连接至电脑,打开usb调试选项,允许本机调试。安装adb可以参考这篇文章:如何在 Windows 10 和 Mac 上安装 ADB,
- 一切准备就绪后,打开windows shell,输入以下命令,手机会自动重启并提示是否unlock oem,使用volume键调整选项,power键确认后手机会自动重启并出现类似如下界面:
1 | adb reboot bootloader && fastboot oem unlock |
- 重新进入系统后长按volume+ -键和power键直至手机自动重启(一定是三个键一起按),听到重启的声音后迅速长按volume-键与power键数秒(有些机型可能是音量+键和电源键),到此为止就进入了手机的bootloader界面,如下图所示(网上随便找的图,界面都大同小异):
选择合适的ROM或GSI镜像😏
这里主要推荐三个途径来获取镜像:
Option | Advantage | Disadvantage |
---|---|---|
XDA | 在XDA上你可以找到几乎任何机型的资源,且发行版本均为比较稳定的官方版本 | 如果rom遇到bug想找解决办法几乎随缘,大部分开发者不会每天逛论坛😭 |
Telegram Group | 如果发布了新版本电报群永远是第一时间更新 | Group内聊天必须全英文,发中文会被clean |
酷安 | 手把手教程,讨论问题比较方便 | 资源最少,戾气重,伸手党居多 |
以我手上这台OnePlus设备为例,在XDA找到对应机型的板块后,点击Development模块后就可以看到各种第三方rom,点进去直接下载即可(下载好的rom/gsi都是压缩包的形式)
看的出来9pro的开发者还是比较热情的,更新频率非常快,如果你对custom rom还不太了解,或者说纠结哪一个好用,可参考以下视频:
线刷
==所有以下操作均需连接至电脑(fastboot模式下)!!!==
线刷ROM 😋
进入bootloader引导界面
1 | adb reboot bootloader |
刷入vendorboot与dtbo镜像文件
1 | fastboot flash dtbo <dtbo>.img |
刷入开发者提供的第三方recovery
1 | fastboot flash boot <boot>.img |
重启进入rec并格式化data
1 | fastboot reboot recovery |
找到应用更新并找到 Apply from adb
1 | adb sideload <filename>.zip |
耐心等待即可,通常adb会报告Total xfer: 1.00x,这代表顺利完成,但在某些情况下,输出会停止在 47% 并报告adb: failed to read command: Success or No error,这样也没有问题
最后重启手机
1 | fastboot reboot system |
线刷GSI 😎
GSI的种类极多,这里推荐使用Phh的GSI,附上链接:
https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-%28GSI%29-list
Step1:先获取到当前活动分区A/B
1 | fastboot getvar current-slot |
Step2: 刷写 vbmeta.img
1 | fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img |
Step3:其中system.img 来自 GSI ROM
1 | fastboot erase system && fastboot flash system system.img |
Step4:自主选择是否刷入magisk,刷入的boot.img为BaseRom(底包)中被修补过的img:
1 | fastboot -w |
常见问题 😨
- 重启后遇到卡logo的情况,但是电脑端显示usb设备插入,那么需要同时按音量+-键和power键,等到手机黑屏后再快速按音量-和power键,这样就成功进入recovery,在rec中进行双清后再重新启动大概率就能解决这个问题
- 重启后直接进入bootloader,说明GSI有问题不适配,如果刷写的是Nippongsi很容易会出现这个问题,所以还是推荐使用phh版本的gsi