一加5刷LineageOS 16.0过(折)程(腾)详解…… 您所在的位置:网站首页 lineage锁屏 一加5刷LineageOS 16.0过(折)程(腾)详解……

一加5刷LineageOS 16.0过(折)程(腾)详解……

2023-10-27 15:19| 来源: 网络整理| 查看: 265

【2020年9月29日更新】

1、本教程同样适用于其他第三方ROM,例如魔趣(https://download.mokeedev.com/),刷机步骤完全一致。

2、本教程发布后不久,豌豆荚下线了PC版,有需要备份APP和个人数据的需求,请选择诸如应用宝的同类工具,不再赘述。

3、经网友 @StreakStar 提醒,在「1.2」步骤中,刷入TWRP重启进入recovery模式可直接在手机端操作:用音量键选择重启到recovery模式,电源键确认执行。

4、由于我用B站较晚,不是很会用各项功能,私信经常好多天看不到,有问题(如果不是太私密)的同学请直接评论——其实教程写的已经足够详细、并且还发了视频教程,只要你认真看过并按照操作,出问题的概率,应该很低。

手里有台128G的一加5(找人用内购码买的第二批机器)用了很久,虽然屏幕素质一般但系统稳定、流畅,毫无其他安卓机用久了卡、慢的表现。3年多来除了边角有些磕碰,就连电池到现在也没出过问题,令人十分满意。有口皆碑的一加对刷机十分友好,换块电池再战3年也不在话下。一加官方提供的两个系统(氧OS和氢OS)我都使用了很长时间,平时不爱拍照、不玩游戏,对市场上你追我赶的大部分宣传点基本免疫,刷上谷歌套件(Google Play、Calendar、Gmail什么的)就满足了我的绝大部分需求。

前两个月我重拾iPhone SE切回到了iOS系统,这台一加5就暂时闲置了起来,想着抽空刷个第三方安卓玩玩,以下是折腾过程的纪要(本文的操作环境为Windows 10-1909-18363.535)。

0. 准备工作

之所以折腾是因为准备工作不充分,主要的时间都耽搁在从百度云盘、相关网站下载跟刷机有关的文件上(主要是百度云盘)。由于 Lineage OS是Nightly更新(可以理解为每天滚动更新),因此本文刷机的Lineage OS和相关软件版本以2019年12月25日~30日期间为准。

在进行刷机之前,需要准备好如下软件或环境:

一加5驱动(重要程度:★★★★★)

作用:确保电脑能够识别/驱动并连接手机。

刷机前将手机连到电脑,下滑顶部的状态栏,找到USB连接的状态(或在手机设置里搜USB偏好设置)

在USB偏好设置选项中选择文件传输,打开“我的电脑”就可以看到红色图标的虚拟光盘,双击打开安装驱动并复制一份到电脑以策万全。

手机连电脑,在“我的电脑”可看到原机自带的驱动

Firmware for OnePlus 5最新9.0.9版(重要程度:★★★★★)

作用我尚不确定,有人说是基带不同,我没深究。Firmware是烧录在主板上的固件,类似于电脑的BIOS,用户通常极少触及。早年安卓机遇到信号弱的情况,玩家可以通过刷第三方基带来改善手机信号,这种操作可以说是刷固件了。

我留意了Lineage OS指定的Firmware for OnePlus 5的基带和一加5救砖出厂OS、两次升级后的基带,发现当前最新版氢OS(Android 9)的基带与Firmware for OnePlus 5的基带没什么不同,Linux内核的版本也一致,所以暂时只能理解为这个固件集成了一加特有的硬件驱动。

基带版本对比

下载地址:https://sourceforge.net/projects/cheeseburgerdumplings/files/16.0/cheeseburger/ 下的firmware目录。

TWRP for OnePlus 5最新的3.3.1XXX.img版(重要程度:★★★★)

安装在手机上的第三方引导程序,常用于卡刷操作。本文是线刷思路,TWRP用来配合ADB、Fastboot使用,作用是绕过官方Recovery的限制刷入第三方ROM或其他软件。

官方下载地址:https://twrp.me/oneplus/oneplus5.html (请认真阅读官网使用教程)

另外SourceForge也提供了针对OnePlus 5的下载镜像,见 https://sourceforge.net/projects/cheeseburgerdumplings/files/16.0/cheeseburger/ 下的recovery目录。

ADB(Android Debug Bridge)与Fastboot环境(重要程度:★★★★★)

作用是线刷(其实是调试),用户在电脑端通过命令行输入指令进行刷机所需的各项操作。

Android SDK Platform-Tools 是 Android SDK 的一个组件,它包含与 Android 平台进行交互的工具,例如adb、fastboot和systrace,你可以在https://developer.android.com/studio/releases/platform-tools 下载并安装。一般情况下Windows系统安装后重启电脑即可使用,少数情况需要手动配置环境变量,具体操作请自行搜索。

如果你恰好喜欢命令行,推荐使用Windows下的包管理器Choco install adb安装ADB环境,我选用的是这种方式。

LineageOS最新版(一加5目前可用的是16.0)(重要程度:★★★★★)

Lineage OS(或称Lineage OS Android Distribution)的前身是CyanogenMod(早年玩安卓稍微多点应该没有不知道CM的吧?),2016年12月Cyanogen公司突然宣布停止开发并关闭其Android项目,社区在fork了CyanogenMod的代码后更名为Lineage OS,因Lineage OS不包含间谍软体和臃肿的定制软件并且提供了许多厂商ROM所没有的安卓新特性而广受赞誉。

我比较看重的有两点:其一是原生,其二是简洁;实事求是地说,在国内乌烟瘴气的安卓生态环境中,一加官方的氢OS和氧OS真的很不错。但Lineage OS也是一个不错的选择嘛,我决定试试,下载地址 https://download.lineageos.org 选择一加5手机后,就是对应的ROM包下载。

一加5救砖工具包(重要程度:★★★★★)

作用:售后模式,让变砖手机恢复真·出厂状态。

如果你不慎将手机刷成了砖头,请使用该工具进行真正、彻底的恢复出厂设置。使用方法也很简单,一台联网的电脑,手机关机状态下,按住音量上键(不要按其他键尤其是电源键;如果不行,就同时按住音量上+下键),将手机通过USB线连到电脑,在下图的第3行看到COM设备时就表示连接正常,点start按钮坐等手机起死回生。

救砖操作

哈希校验工具(重要程度:★★★)

作用是确保你下载的上述软件都是正确的没有被篡改。建议使用支持SHA256或更高加密算法的工具,因为上述部分软件没有提供MD5值。

推荐【Hash My Files】或【MD5 & SHA Checksum Utility】,后者可能在部分Window10环境下无法使用。

将上述软件下载后放在同一个文件夹(最好是英文字母/数字命名)下,这样进行命令行操作时(不需要输入文件的绝对地址)就不会因为路径问题找不到文件而失败。本教程用到的所有工具&软件度盘下载地址  https://pan.baidu.com/s/1n2ieb49Y008PSoBj3M2MlA 提取码: up9k

1. 刷机详细步骤

以下刷机步骤遵循LineageOS 16.0安装向导  https://wiki.lineageos.org/devices/cheeseburger/install 如果你英文还不错,请自行参考。

1.1. 解锁Bootloader

解锁Bootloader是刷机的先决条件,简而言之就是“让手机允许刷入非官方认可的、别人家的系统”。

在这里说句题外话,早年(大概是安卓4.0时代吧),国内的手机厂商对用户刷机还是很友好的,尤其是像小米这种打着“为发烧而生”旗号的产品更是随便刷。罗永浩这个傻逼(我是锤黑)创业的时候承诺粉丝不锁Bootloader但还是锁了并且强词夺理一番。如果我没记错的话(也可能记错了,因为我同时也是菊厂黑),华为是第一家公开宣布不提供解锁Bootloader且用户自行解锁就质保失效的国产手机厂商。当然华为的海军那么厉害,再加上“用户都是傻逼”所以其它厂商就纷纷跟进了。

1.1.1. 什么是Bootloader?

在计算机架构体系中,Bootloader是所有boot(U-Boot、Eboot、vivi、Redboot等)的总称;BIOS完成引导后,Bootloader接手初始化硬件设备、创建存储器空间的映射,以便为操作系统内核准备好正确的软硬件环境。

安卓系统的智能手机在开机时需要先通过Bootloader启动,Bootloader是各手机制造商专有的镜像文件,它会监护设备状态、负责初始化(例如基带初始化)可信执行环境以及绑定其信任根、引导系统内核,直到系统启动。更多内容请参考Android官方的介绍文档。

1.1.2. 为什么要解锁Bootloader?

一句话,为了自由。

锁Bootloader与Android自由(free)、开放(open)的精神背道而驰,也是我这类人对厂商锁Bootloader义愤填膺的根本原因。至于国内厂商对安卓所作的那些生孩子没屁眼的烂事,与本文主题无关这里就不再赘述。举个不恰当(毫不夸张)的例子,就好比你买了套精装修的房子,开发商说,不许你动这房子里的任何门窗、墙面、地板以及装修,若违反的话他们不再对房子的任何问题承担任何责任。你不觉得这很搞笑吗?有的开发商甚至在你客厅里装了个比分众传媒的终端更恶心的智慧屏天天放乱七八糟的广告、更有甚者在你卧室装一个摄像头研究你们的夫妻生活。Fuck off!

当然,解锁Bootloader存在一定的安全隐患,对普通用户来说就好比给了他们一把枪,他们万一打到自己怎么办?厂商(的说辞)的确有厂商的道理(在我看来是为了减少售后工作量),但用户应该有用户的自由。

1.1.3. 怎样解锁Bootloader?

解锁Bootloader前的准备工作:

在手机端启用开发者模式,如下图所示,依次找到设置--关于手机--版本号,连续点7次版本号。

【重要:如果不开启这项设置,解锁会失败】在开发者选项中打开允许OEM解锁,依次找到设置--系统--开发者选项--OEM解锁,点击开关打开。未开启该设置下面的操作会出现类似下图的报错:

报错提示

在开发者选项中开启USB调试,依次找到设置--系统--开发者选项--USB调试,点击开关打开。

开启USB调试

将手机连到电脑,手机会弹出下图所示界面,勾选一律允许使用这台计算机进行调试,然后点击确定。如果没完成这步操作,下面的操作则报错、无法继续。

允许电脑对手机进行USB调试

Windows电脑开始--运行--输入"cmd"【按Windows+R键在弹窗输入cmd】打开命令行窗口,输入以下指令:

adb devices # 该命令用于检查电脑是否成功识别并连接手机,将输出以下2行内容List of devices attached755b2db9  device  # 该输出结果表示电脑已成功识别并连接手机`至此无异常,继续以下命令:`adb reboot bootloader  # 该命令可使手机重启并进入FastBoot模式,效果等同于关机后长按“音量上+电源”组合键fastboot devices  # 手机进入Bootloader模式后执行该命令再次确认电脑成功识别并连接手机755b2db9  fastboot  # 该输出结果表示电脑已成功识别并连接手机`至此无异常,继续以下命令:`fastboot oem device-info  # 该命令可查询bootloader状态信息(bootloader) Verity mode: true(bootloader) Device unlocked: false  # 该输出表示手机处于未解锁状态(bootloader) Device critical unlocked: false(bootloader) Charger screen enabled: true(bootloader) enable_dm_verity: true(bootloader) have_console: false(bootloader) selinux_type: SELINUX_TYPE_INVALID(bootloader) boot_mode: NORMAL_MODE(bootloader) kmemleak_detect: false(bootloader) force_training: 0(bootloader) mount_tempfs: 0OKAY [  0.022s]Finished. Total time: 0.022s`确定未解锁后,执行以下命令:`fastboot oem unlock # 该命令用于解锁手机Bootloader,此时输出以下结果             OKAY [  0.044s]Finished. Total time: 0.049s # 出现该输出表示解锁手机Bootloader命令执行成功

如果上面这段命令行你执行的顺利,手机屏幕会出现下图所示的内容。这时需要你在手机端通过音量上/下键选择UNLOCK THE BOOTLOADER,然后按电源键以确认。

选择解锁后点击确定

此时手机会自动重启并进行初始化后才进入系统,至此你完成了手机的Bootloader解锁。接下来你需要重新打开手机的开发者模式(在关于手机的版本号连续点7次),在开发者选项设置界面可以看到如下图右侧所示的解锁成功(灰色)界面。

1.2. 刷入TWRP

以上操作完成了解锁手机的Bootloader,接下来的操作你需要先执行上一阶段《解锁Bootloader》中1~4步骤的开启开发者模式和允许USB调试,然后手机连接电脑后进入FastBoot模式再继续。

将手机开机后连接电脑,进入命令行界面,输入cd 准备工作下载的软件所在文件夹先跳转到该目录下,再执行以下操作:

如果你的下载文件不在C盘,则DOS命令cd到绝对路径时会报错,你需要先在命令行直接输入盘符如d:或者e:后回车,进入该分区后,再用cd命令跳转到文件所在目录。小提醒,以下示例代码中具体命令后跟的文件名可能和你下载的文件名不一致,请以你本机的文件名为准。执行命令时输入开头几个字母再敲TAB键会自动补齐文件名。

cd C:\oneplus5\  # 例如我的下载文件都放在桌面的`oneplus5`文件夹下,用`dir`命令可打印出这些文件

adb devices  # 确保手机和电脑连接正常List of devices attached755b2db9  device`无异常,继续以下命令:`adb reboot bootloader  # 手机自动重启并进入FastBoot模式

fastboot devices  # 再次执行该命令确保电脑与手机连接正常755b2db9  fastboot`无异常,继续以下命令:`fastboot flash recovery twrp.3.3.1XXX.img  # 该命令的作用是将文件名为`twrp.3.3.1XXX.img`的Recovery文件刷入手机Sending 'recovery' (33684 KB)    OKAY [  0.848s]Writing 'recovery'               OKAY [  0.153s]Finished. Total time: 1.026s  # 至此表示成功刷入了TWRP。

此时需要用命令fastboot reboot命令重启手机(网友 @StreakStar 提醒,在这一步,也可直接在手机端操作:用音量键选择重启到recovery模式,电源键确认执行,但重启后一定要及时按住进TWRP的组合键——下面这段说到了)。但不要着急,接下来要严格按照教程操作:

Note many devices will replace your custom recovery automatically during first boot. To prevent this, use Google to find the proper key combo to enter recovery. After typing fastboot reboot, hold the key combo and boot to TWRP. Once TWRP is booted, TWRP will patch the stock ROM to prevent the stock ROM from replacing TWRP. If you don't follow this step, you will have to repeat the install.

这段话的意思是说,许多手机会在开机阶段自动覆盖第三方recovery引导程序,为了避免这种情况,请先搜一下你的手机进入recovery模式的组合键。在输入重启手机命令后立即按住该组合键(一加5的是音量下+电源键),一旦TWRP启动成功,它就会向手机系统里打补丁,这样后面的操作再重启手机时用组合键就可以直接进入第三方recovery模式了。如果不按这种步骤操作,就会出现只能进入一加自带的Recovery环境、不能进入TWRP的怪圈。

我曾被Lineage OS官方安装指导的fastboot boot 方法误导,虽然能进入TWRP,但有bug不建议使用。

该方法存在瑕疵,请勿使用。adb reboot bootloaderfastboot boot .img  # 该命令直接指定用TWRP...img引导而非手机默认自带的RecoverySending 'boot.img' (33684 KB)    OKAY [  0.789s]Booting                                           OKAY [ 10.102s]Finished. Total time: 10.949s  # 出现此类输出结果时表示,手机已经成功进入TWRP的Recovery环境。

当你在手机屏幕上看到TWRP的界面就意味着该步骤完成了。接下来的一些操作(刷入Firmware和Lineage OS)需要手机端操作TWRP协同电脑端命令行进行。

1.3. 先通过TWRP刷入Firmware固件

接上一步的操作,在手机端的TWRP界面,点选Advanced选项,然后在手机界面里点选ADB sideload选项,然后滑动下面的滑块确认选择,等待电脑端执行adb sideload 刷机包名.zip命令,手机屏幕如下图所示。

adb sideload firmware_9.0.9_oneplus5.zip  # 该命令是线刷指令,意为将Firmware固件通过USB数据线写入手机Total xfer: 1.05x  # 出现这个输出表示固件刷入完成,重启手机即可

在TWRP选adb sideload操作

重要提醒:必须先刷入这个Firmware固件,否则直接刷Lineage OS后一加手机就无法进入系统,只能救砖。

1.4. 通过TWRP刷入Lineage OS

【重要提醒:上一步的刷入Firmware后会覆盖掉TWRP而我们教程里的大部分刷机操作都需要这个第三方recovery协助。TWRP被覆盖原因在于刷Firmware固件就是重写手机的引导程序(bootloader),因此我们必须重新刷入TWRP才能执行后面的操作,请重复前面的操作即可。】

重新刷入TWRP后将手机关机,长按音量下+电源键,开机并进入TWRP界面。按官方教程进行三清操作,即在手机TWRP界面点选Wipe,先点选Format Data等执行完成后,再点Advanced Wipe,然后进去勾选Cache和System向右滑动底部滑块执行擦除(格式化)操作,不懂其中区别的朋友最好不要乱选,不然手机变砖又得从头来过,下图【只是示意截图千万不要按图示勾选,按文字说明操作】所示的Internal Storage是手机自身的存储。

三清手机

【提醒:在TWRP中wipe操作需要输入yes确认命令,等我们刷机进入新系统初始化后(如果设定了锁屏密码),在后续通过TWRP刷入其他软件包的时候会要求输入锁屏密码。】

当我们在手机上执行完三清操作后(不要重启系统)返回到TWRP首页,选择Advanced选项,然后点选ADB sideload模式,向右滑动底部的滑块确认操作,等待电脑端执行adb sideload命令(提示:adb sideload后面可以是任何第三方ROM的包,如果你下载了魔趣,刷机成功重启开机就是魔趣的系统了),如下所示:

adb sideload lineage-16.0-20191229-nightly-cheeseburger-signed.zip  # 该命令是线刷指令,这一次是将lineage-16.0-20191229……这个系统文件包通过USB数据线写入手机serving: 'lineage-16.0-20191229-nightly-cheeseburger-signed.zip'  (~26%)  # 会显示刷机进度Total xfer: 1.01x  # 刷机完成

成功刷入系统

最后手机屏幕会显示如上图所示效果,这就完成了Lineage OS的刷机。此时点选Reboot System重启手机即可进入新系统的初始化过程。

小知识:在TWRP双清原有系统后,返回TWRP首页,点选Install然后选择提前拷贝到手机里的软件包,这个操作就是卡刷——顾名思义就是借助外置的存储卡如TF卡进行刷机操作,早年的安卓机由于机身存储空间不足,往往通过TF卡槽的方式扩展机身存储空间,这便是卡刷一词的由来。

1.5. 刷入addonsu获取Root权限

如果你想再刷入谷歌套件、Root工具等,刷机完成后,重启进入TWRP,继续用adb sideload命令刷入所需的软件包即可。

Root手机:重启进TWRP首页,点选ADB Sideload,在电脑端用adb sideload 像上一步刷系统那样操作即可(效果如下图所示)。Lineage OS官方指定的Root工具包addonsu(下载地址),刷机完成后重启手机在设置--系统(高级折叠区域)--开发者选项--Root授权和管理Root访问中启用。

刷入谷歌包

谷歌套件:进入TWRP模式,然后操作同上继续刷入谷歌套件(下载地址 )其中OpenGApps镜像的下载链接里列出了不同版本里包含Google APP的差异,详情点击Variant列所示的GitHub页面查看)如果下载困难,请参考文章开始我搬运的度盘下载。

不同版本谷歌套件包的差异

升级与其他问题:

由于是Nightly更新,Lineage OS的更新会非常频繁,更新服务器应该是海外,因此许多人下载起来可能会比较慢,这倒不是最棘手的问题——每次下载的更新都是全量包——居然不能增量更新,大概是Lineage OS的打包机制就是如此吧。但请注意,每次更新后的系统重启都要按住音量下+电源键进入TWRP才能完成自动更新——否则会因为默认没有进第三方Recovery而导致更新失败。

完成所有刷机操作后重启手机,初始化系统设置后进入桌面,这时会发现WiFi连不上网,原因是系统时间默认为澳洲本地时间(即便你在初始化时选定了东八区北京时间也没用),只要手动修改下手机的系统时间即可。

另外推荐两个应用市场,国内的酷安市场和开源的第三方F-Droid市场,当然刷入了谷歌套件的同学用Google Play也是极好的选择。

2. 关于刷机、Root及其他

曾几何时,刷机与Root是安卓玩家的必备技能。随着时代的发展,许多以奇巧淫记杀后台进程的黑域、绿色守护等APPs让复杂度更高的Root必要性大幅降低,Android系统刷版本号的同时也一步步砌高了安全的围墙,随着设备类型的激增,Root的难度虽然比不上iOS越狱但也不再是“一键可得”,这项屠龙之技正在与小白用户渐行渐远。

智能机时代的早期,人们除了几个电话号码和像素不高的照片,手机并没有多少重要的个人数据。但随着这几年智能手机逐渐侵蚀我们的生活,智能手机里的个人数据越来越多、也越来越重要;由于刷机有一定的技术门槛,再加上刷机会清空手机数据,所以用户刷机的需求和动力也逐渐降低;再加上现在的安卓系统越来越成熟稳定,刷机的收益比“为发烧而生”的时代大为降低;最后,现在多数国产安卓机厂商普遍锁Bootloader阻止用户刷其他友商的系统。因此安卓系统的刷机与Root必将和iOS的越狱一起,走进历史的旧纸堆。

然而,虽然Android一直在与iOS的互相抄袭中快速进步,但一众国产安卓APPs“不给权限不让用”的丑恶嘴脸一时仍难以改观。各厂商的ROM变得越来越封闭,市场上留给用户的选择真的不多了,我们除了咒骂几句又无可奈何,而这几句咒骂在行霸道(而非王道)的大厂面前未触已溃,奈何河广、一苇难杭。Google似乎无意解决已经尾大不掉的碎片化问题,反正整个生态也还可以,倒是在夹缝中的第三方开源ROM一直面临生存的挑战,CM的变故已是一例。至于Lineage OS能否成为你主力机/备机的稳定系统,要各位自己亲身体验后才能得出结论了,我的态度是,不妨试试。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有