本内容来源于什么值得买SMZDM。COM作者:青雪唐元 创作立场声明:本文由于自身的局限性,可能有些内容不够准确,还望大家多多指正,期待深入探讨。 2018年我第一次接触刷机,初出茅庐的我为我的小米平板1刷上了系统LineageOS15。1,并写下了使用Mac为小米平板刷lineageOS。彼时自己对于刷机这个过程颇为生疏,只是小心翼翼的按照教程一步一步操作,生怕有一丝一毫不一致的地方,而其背后每一步骤的原因却无从得知,故有意撰此文。一方面让准备刷机的人多一个教程可以参考,另一方面藉此机会充实自己,了解一些Android开发知识,也算是满足自己的好奇心罢。 出于知识内容所限,本文仅讨论线刷模式,不讨论卡刷模式。配置AndroidSDK的环境变量 SDK的全称叫做软件开发工具包(SoftwareDevelopmentKit),AndroidSDK里面包含安卓软件的开发工具,这些开发工具均在SDK的安装目录下,拥有它们我们才能对Android中的软件进行安装、卸载等相关操作。当我们在终端输入指令要求启动某个工具或应用程序时,系统会优先在当下的目录中进行查找,如果没有则会在系统Path指定的路径下进行查找;而我们配置环境变量的这个过程,就是把SDK的安装目录记录在系统Path的指定路径中,让我们在终端能够直接使用SDK中的开发工具。该过程也叫做配置ADB(AndroidDebugBridge)环境变量。Mac系统下的环境变量配置 参见:使用Mac为Android手机刷原生系统Windows系统下的环境变量配置 Windows系统下由于其系统特点,目前(我知道的)有三种方案,将在以下展开,三种方法均适用于Windows10系统,其他系统可能有些出入,读者可部分参考。 方案一:配置环境变量 参见:win10如何配置Android开发环境变量 该方案和Mac系统下环境变量配置的原理一致,都是对系统进行操作。虽看起来步骤多,好处就在于一劳永逸,一次配置终身受用,除非你重装了系统,个人优先推荐该方法。 方案二:快速安装与使用ADB 1将platformtools数据包解压,进入解压后的文件夹,按住Shift键的同时在空白处单击鼠标右键,选择在此处打开命令窗口(在Win10创意者更新中被改为在此处打开Powershell窗口);2输入adbversion检测环境变量配置是否完成;这个方案相当偷懒,其实这个步骤并没有实现系统的环境变量配置,只是提供了一个临时的环境,但是无论如何这个方法是最方便的,而且对于新手而言非常友好。 方案三:直接访问SDK目录 1将platformtools放在一个接近硬盘根目录如C:adb这样的地方便于访问,这时我们需要访问的目录为C:adbplatformtools;2在运行命令窗口中输入cmd打开命令符窗口,并按下回车执行;3输入cdadbplatformtools,并按下回车执行,进入目录;4输入adbversion检测环境变量配置是否完成。该方案和方案一比较像,都是偏向于临时解决环境配置问题,但是都没有实现系统的环境变量配置,因此每次使用时都要重新访问一次SDK的所在目录。 该方案看似简单、容易操作,但弊端明显,只有你在进入该目录的情况下,才符合环境变量已配置的条件,不建议没有代码基础的人操作。解锁Bootloader 一般而言,每个Android设备都会有FastbootBootloader模式,它是负责引导操作系统内核启动的引导程序,只有在该模式是无锁的情况下,我们才能自由的root我们的设备、自定义或安装一个更加好用的第三方ROM固件,否则很容易损伤设备。与封闭的iOS系统不同,Android系统是开源的,因而相应的各大厂商所开发的FastbootBootloader模式也各有不同。尽管系统是开源的,但是各厂商为了对自己的设备有着更多的支配权,多数情况下都会对其FastbootBootloader模式上锁。这就是为什么我们在刷机教程里经常看到Bootloader解锁这一步了。Bootloader解锁通用步骤打开开发者选项,不同设备打开的方式不同,请读者根据自己设备机型自行百度一下;先后打开USB调试与启用OEM解锁(没有启用OEM解锁选项的设备则不用理会),该过程需要满足网络流(ke)畅(xue);进入Bootloader界面等候;打开TerminalCMD,输入Bootloader解锁指令,并按下回车执行;如果你的设备为Android5。0及以下,则解锁指令为fastbootoemunlock;如果你的设备为Android6。0及以上,则解锁指令为fastbootflashingunlock;在设备端此时会弹出Bootloader解锁的确认界面,使用音量键移动关标选择确认,按下电源键开始解锁;解锁后设备会被清除数据并重新启动,待设备开机后检查USB调试选项;重新进入Bootloader界面等候;注意事项解锁FastbootBootloader模式后,可能会使保修相关服务失效;解锁Bootloader的过程中,可能会还原设备一切资料,切记在此前做好资料备份工作;解锁Bootloader的过程中,有一定损坏设备的风险;该Bootloader解锁方式大体上对于Android设备通用,但是鉴于各厂商Android设备差异实在太大,建议如果有官方解锁通道就先去申请官方解锁,没有解锁通道再尝试该方法。当然对于从来没有放开Bootloader解锁权限的品牌(可自行百度),还是该放弃放弃吧。刷入第三方Recovery 设备一般都会自带一个官方初始的一个Recovery,其作用主要用于恢复出厂设置与OTA安装升级,但是由于官方Recovery不能识别第三方ROM,而第三方Recovery却可以,所以我们一般在刷机之前都会先刷入第三方Recovery。目前比较推荐的第三方Recovery是TWRP,该项目是一个社区开源项目,挂载在GitHub上。也许你会发现之前也有人推荐过CWM,很遗憾的是,该项目已于2014年停止了维护,如果你用的设备型号比较老的话,可能会用到它。刷入第三方Recovery的通用步骤准备好设备匹配的第三方Recovery版本,后缀为。img;重启手机至bootloader模式,电脑端运行TerminalCMD;输入cd你的第三方Recovery文件路径,并按下回车执行,以此来定向第三方Recovery的文件位置,接着输入fastbootbootxxx。img(xxx为具体的文件名),并按下回车执行,此时Recovery已经刷入,手机会重启至Recovery相应界面。注意事项 该过程中需要定向Recovery的位置,故而如果你在Windows系统下的环境变量配置时用的是方案三,在这里会比较麻烦,解决方法是把你的第三方Recovery文件放在platformtools目录下,让两个目录一致。类原生Android系统ROM推荐LineageOS LineageOS是Android的最大售后市场分销,以前称为CyanogenMod。2016年开源项目CyanogenMod被宣布停止,被复刻为LineageOS,由原团队CyanogenMod继续开发,源代码于GitHub可用。ResurrectionRemixOS ResurrectionRemixOS基于LineageOS15。1,包含大量附加功能和定制选项。因为它提供了许多功能,所以成为了Android设备最受欢迎的自定义ROM,源代码于GitHub可用。crDroid crDroid基于LineageOS,在此基础上附加其他性能调整和额外功能,源代码于GitHub可用。 crDroidPixelExperience PixelExperience基于Android开源项目(AOSP)与CodeAurora项目(CAF)开发,由于PixelExperience中包含谷歌全家桶,故而相比与其他ROM包来说要大些,源代码于GitHub中可用。ParanoidAndroid ParanoidAndroid的制作团队就是OxygenOS的制作团队,该制作团队的核心成员被Oneplus聘请,为Oneplus做ROM开发,源代码于GitHub中可用。AOSPEXTENDEDROM AOSPEXTENDEDROM基于Android开源项目(AOSP)开发,它提供了各种自定义特性和底层主题引擎,源代码于GitHub中可用。 ResurrectionRemixOSXOSP XOSP是基于CyanogenMod13的ROM,混合了很多Xperia的特性,带来不一样的感受。因为是XperiaAOSP的混合体,因此命名为XOSP。魔趣ROM 魔趣ROM基于Android开源项目(AOSP)开发,Slogan是可能是中国最好的安卓开源系统,源代码于GitHub可用。总结 这些是我这些天各种查资料总结到的,由于个人能力与知识水平所限,会存在一些不足之处。如前辈们发现文中有错漏的问题,诚求各位不吝赐教。附录常用ADB命令 常用Fastboot命令