记一次安卓刷机的小结

最近中国移动送了两个电话卡,正好家里有一台闲置的安卓手机,准备拿其中一张电话卡做一个无线Wifi热点。然而由于这个安卓手机型号为青橙T5(Green Orange),一款比较基础的手机。配置比较低,但是由于装了大量内置APP,所以跑起来非常慢,而且非常费电。如果还要做Wifi热点的话,撑不了半天就没电了。因此决定动手把这台青橙手机刷一个比较干净的ROM。然而对于一个苹果手机老用户来说,首刷安卓真的不是一件容易的事。因此,决定记录一下,希望以后不再走弯路。

另外,在做任何刷机动作前,一定要备份所有数据,包括当前的系统镜像。

安卓手机刷机准备

之前几乎没有使用过安卓手机,更没有刷过Rom。所以动手之前先搜了一下百度,做一个前期准备。以下是一些刷机前就要准备好的文件和工具,以及和实际情况中可能会遇到的问题。

手机型号对应的ROM

对于新手来说什么是安卓Rom都不知道。ROM类似于系统镜像,但是必须和手机的型号一一对应。否在会有不可预计的问题出现。所以在找ROM的时候,先要知道自己手机的型号。比如我的青橙T5手机。除了手机机型,最好还能了解入网型号,比如我这部安卓手机的入网型号为D5287CT。每一部安卓手机都会提供这些数据,具体的信息都可以在设置里面的关于手机里找到。

另外还要找到本机的一些硬件配置信息,例如内核是什么,内存多少等。这个有两种方法可以找到。一种是通过手机型号在网上搜索,另外一种可以通过安装CPUZ等软件显示手机的硬件信息。例如我的青橙T5使用的是MTK的MT6737四核处理器(1GHz),1G内存,4G存储。支持全网通LTE 4G等。知道了这些,对于寻找对应的Rom是非常有帮助的,剩下的工作就是在网络上搜索了。由于信息比较多,我大致列出以下我手机到的本机信息:

  • 手机型号:青橙 Go T5
  • 入网型号:D5287CT
  • Android版本:6.0
  • 芯片处理器:MTK MT6737 1GHz
  • 内存:1G
  • 内部存储:8G
  • 网络支持:全网通 4G

在网上搜索对应的ROM完全是一件考验人品的事情,因为并不是所有的手机都能找到的。如果找不到对应的ROM,那么可以退而求其次,找使用了相同芯片处理器的其它机型或者品牌的ROM。虽然我的青橙T5是一个非常小众的手机,但是运气还算好,在网上找到了4个不同的ROM。以防万一,我都下载备用了。

选择对应的刷机方式

安卓刷机不止有一种方式和途径,这个也是在本次刷机过程中一点一点发现的。本以为只要下载一个刷机软件,下载一个ROM就可以搞定的。现在市面上刷机软件很多,但是对应的刷机方式是不同的。以下我就详细说明以下,我在刷机过程中碰到的各种问题。实际上,本次刷机成功,我用了各种方法。

使用刷机精灵线刷

刷机精灵是一个很不错的刷机软件,安装该软件,实际上可以免去很多的工作。比如说,我们需要为自己的手机寻找对应的驱动程序,这样手机通过USB连接到电脑上才能被认出来。刷机精灵内置了足够的驱动程序,因此我就不必为自己的手机寻找驱动了。另外刷机精灵也内置了adb工具和fastboot工具(线刷必要工具)。因此强烈推荐刷机前下载安装刷机精灵。如果找不到合适的版本,可以加微信咨询。

刷机精灵虽然方便,但是还是没有办法如此简单的就能搞定我的青橙T5。首先刷机精灵没有办法ROOT我的安卓青橙T5手机(不知道为什么)。然后刷机精灵也不支持直接更新我的手机的Recovery(后面再讲)。刷机精灵提供直接刷机的功能,但是试了以下发现不行。因此,使用最简单的方式刷机失败。

使用Recovery卡刷

这个方法相比使用刷机精灵就复杂的多了。Recovery是安卓系统提供的修复功能。首先要确认的是,我们的手机系统本身是否有这个模式。先将手机关机,随后同时按电源键和声音上键(有的手机是同时按电源键和声音下键,也有的手机是同时按电源键,声音上键,声音下键)直到屏幕有显示。

进入卡刷模式,一定要先清楚系统数据、用户数据和缓存数据(即所谓TWRP的3清/4清操作)。不然很多情况下即使卡刷成功了,也没有办法成功启动系统。所谓卡刷,就是把ROM文件复制到SD卡上,然后进入Recovery系统以后选择SD卡上的ROM文件刷新系统。具体操作可以参考使用TWRP Recovery刷入第三方ROM教程

但是安卓手机制造商为了保证手机不会被用户刷机(自己系统里又有很多默认安装的垃圾APP),大部分手机里面没有这个模式,比如我的手机就没有。安装Recovery模式也是有多种方法,比如使用刷机精灵安装,但是这些都是要先ROOT当前系统的。可惜我这个系统用了各种软件都ROOT失败。因此使用Recovery卡刷在现阶段也失败。后面还会再次提到Recovery卡刷。

使用SP Flash Tool工具线刷

SP Flash Tool刷机工具是MTK(芯片处理器)平台手机(国产品牌手机、山寨手机)刷机常用的一个工具。但是大多数的情况下都会被前期安装MTK驱动的难题所困扰。大多数情况下,下载SP Flash Tool刷机工具的zip包都附带了驱动程序。另外不同版本的SP Flash Tool工具对于不同版本的MTK芯片处理器。因此需要根据具体的芯片处理器型号下载。

另外并不是所有的ROM都是可以使用SP Flash Tool工具线刷的。首先要打开ROM文件,查看是否存在文件名以scatter结尾的txt文件。如果不存在,说明该ROM不是SP Flash Tool刷机包。如果存在,说明可以使用SP Flash Tool刷机。

使用SP Flash Tool刷机非常简单,只要有对应的刷机包,并且有对应的MTK驱动。就可以比较顺利的刷机。具体教程可以参考这篇文章。此步骤成功刷机,第一次开机需要花很长时间。然而开机以后,发现这个系统还不如当初的系统,默认安装的垃圾APP更多,性能更低,耗电更快。

使用FastBoot线刷

FastBoot是Google提供的能够线刷安卓手机的底层工具,当安卓系统进入BootLoader模式,就可以轻松的刷机,因此功能十分强大,而且限制也比较少。之前说过安装刷机精灵的好处,它内置了adb和fastboot工具。默认情况下很多手机厂商是屏蔽BootLoader。所以需要通过adb连接我们的安卓手机,并且开启开发者模式,允许通过USB调试的方式把安卓手机引导到BootLoader模式。

如何启动开发者模式和打开USB调试,基于不同的手机型号,方法也是不同的。比如我的青橙T5需要到系统设置中的“关于手机”界面,连续点击“版本号”后能够开启开发者模式(个别手机可能是内核版本号)。然后在开发者模式里面勾选 USB调试 和 OEM解锁(如果有这个选项)。接下来如何进入BootLoader模式请参考MTK处理器手机解锁Bootloader教程

进入Bootloader模式以后,可以使用FastBoot删除原有系统并上传新镜像。具体操作可以参考使用fastboot命令刷机流程详解

青橙T5安卓手机刷机碰到的问题

上节中提到我使用SP Flash Tool工具线刷成功。但是发现新的系统比老系统更加的耗电和卡顿。因此只能使用FastBoot线刷新的系统镜像。以下是FastBoot中使用的部分命令:

fastboot erase system
fastboot erase recovery
fastboot erase boot
fastboot -w #删除用户数据和cache数据
fastboot flash boot d:\download\21223\boot.img
fastboot flash recovery d:\download\21223\twrp_recovery.img
fastboot flash system d:\download\21223\system.img

FastBoot线刷失败

在使用FastBoot线刷过程中成功的刷新了boot.img和recovery.img镜像,但是尝试刷system.img时出现以下问题:

target reported max download size of 132741824 bytes
invalid sparse file format at header magi

以上是两个问题,首先是system.img的文件尺寸太大,目标机器最大支持一次性132M的上传。但是我的system.img文件有500M。因此无法成功写入镜像。这个问题可以通过以下命令解决:

fastboot -S 120M flash system system.img

然而解决的尺寸过大的问题以后,另外一个问题还是没有办法解决。有帖子说可以使用以下命令解决,但是尝试失败。

fastboot flashall -w 

Recovery线刷失败

后来发现,我已经成功写入了boot.img和recovery.img镜像,就可以进入Recovery模式了,随后决定使用Recovery卡刷碰碰运气。然而使用卡刷过程中有碰到以下问题,以致于卡刷失败:

mount: mounting /dev/block/mmcblk0p20 on /system failed: Device or resource busy

原因不得而知,后来深究发现在刷机包的META-INF\com\google\android\updater-script中有明确的线刷流程。以上问题是由于安装SuperSu出现失败导致的。因此我推测如果手动修改updater-script文件,删除掉不必要的操作应该后保存文件,并重新打成zip包再通过Recovery卡刷应该是可以成功的(但是我么有尝试)。

SP Flash Tool线刷成功

由于之前一次使用SP Flash Tool线刷成功过。只不过刷的系统非常垃圾。那么如果使用新的system.img文件替换之前SP Flash Tool线刷包的system.img文件是不是就可以成功呢?基于这个假设,我有尝试了一次,结果真的成功了,不容易啊!

另外,我也参考了SP Flash Tool刷机包中的MT6737T_Android_scatter.txt文件,发现给文件中的内容也是一些刷机指令,如果修改该文件,只包含system.img的刷机指令,会不会速度更快点?下次有机会可以尝试一下。

参考文献

MTK芯片处理器对应的SP Flash Tool工具(必要):https://blog.csdn.net/weixin_33726943/article/details/93641696
MTK处理器手机解锁Bootloader教程(必要):https://www.cnblogs.com/kooapk/p/6641346.html
fastboot的参数和源码分析(高端进阶,参考非必要):https://www.jianshu.com/p/e3342b5e5581
ROM文件的详细讲解和编译问题(高端进阶,参考非必要):http://blog.sina.com.cn/s/blog_dd529aad0102wxq2.html
MTK6795刷机与启动(高端进阶,参考非必要):https://blog.csdn.net/wangteng12345678/article/details/51914019

青橙T5安卓刷机资源

由于刷机资源尺寸太大,因此在该网站提供下载连接。感兴趣的朋友可以联系作者咨询。

Captain QR Code

扫码联系船长

发表评论

电子邮件地址不会被公开。 必填项已用*标注