Android刷机的一般步骤

青春须早为,岂能长少年。这篇文章主要讲述Android刷机的一般步骤相关的知识,希望能为你提供帮助。
android刷机的一般步骤 1. 事前准备先想好为什么要刷机?想清楚了吗?真的想清楚了吗!好的,我们应该打开一堆网页,一堆对应自己机型的刷机教程帖,还要做好重要数据备份,确保“不成功,也不能成仁”。那就开始吧:
确定设备解锁状态

  • Bootloader 界面:
$ fastboot oem get-bootinfo 1. Bootloader Lock State : UNLOCKED => 表示已经解锁,可以刷机 2. Bootloader Lock State : LOCKED => 表示未解锁,自行百度设备解锁方法

一般需要在官网申请解锁,并且需要等待 2~3 天的时间。
  • 在手机可用的情况下,进入开发者选项,查看如下:
    Android刷机的一般步骤

    文章图片
数据备份
  • 建议使用 钛备份:可对逐个应用以及系统数据(包括 WIFI 信息,系统设置,短信,联系人,另外还有版本控制)进行备份,root 备份首选。
  • Adb 备份
  • TWRP 备份
配置电脑 Android 调试环境
打开一个终端,敲 adb 或者 fastboot,如果未显示异常,则说明已经配置好。如下:
$ adb --version Android Debug Bridge version 1.0.40 Version 9.0.0_r3 Installed as /usr/bin/adb

若没有配置,安装软件包:pacman -S android-tools (Arch Linux ver.)
Windows 下载对应的工具包,解压即可。不过需要配置一下路径,或者直接把所有的文件都弄到解压的文件夹下操作。
另说一下驱动,在 Linux 和 Mac OS 下,均不需要考虑驱动的问题。在 Windows 下,需要在网上找到相应设备的驱动,安装好之后,才可以用 adb 进行刷机。这里一个显式的标志是:
右键开始菜单 => 设备管理器 => ADB interface
如果有这个 ADB 设备,则说明设备驱动已经安装好。
下载刷机包
这个就考验个人搜索能力了。一般而言在各自机型的官方论坛上找:一加论坛,MIUI论坛都是不错的选择。
其次可以在 XDA 上找,这是个国外比较活跃的 Android 论坛,里面有很多大牛发各种第三方 Rom 包。一般热门机型都可以在 XDA 上找到自己满意的 Rom.
下载合适的 Recovery
推荐:TWRP. 专门做第三方 Rec 的团队,首选!在这个网站上基本上可以下载到自己机型对应的 Rec.
2. 刷机【Android刷机的一般步骤】其实事前准备做得足够好的话,刷机很简单,而且风险非常低。
可以使用 MTP 协议事先将刷机包拷贝到手机存储目录 (一般是/storage/emulated/0/,在 Rec 下的目录结构可能会发生改变/sdcard). 也可以在 Rec 下使用 adb 传输。但前提是你要有功能完备的 Rec. 一般官方的 Rec 非常简陋,没什么功能。所以我们首先得刷入第三方 Rec.
刷入第三方 Recovery
在确保手机与电脑正确(开启USB调试)连接下,在命令行敲
$ adb devices xxxxxx device

会列出所有已连接的 Android 设备。在高版本的 Android 系统中应该会弹出一个对话框询问是否允许电脑调试本机,点击一律允许即可。
确保手机已经解锁,开机状态连接电脑。在命令行输入
$ adb reboot bootloader

手机会重启进入 bootloader,也就是 fastboot 模式。
确保执行目录里面有之前下载的 twrp-xxx.img 文件,命令行输入
$ fastboot flash recovery twrp-xxx.img

即完成第三方 Rec 的刷入。
Note: 此时也可以选择 fastboot boot twrp-xxx.img 临时从第三方 rec 启动
进入第三方 Recovery
在命令行输入
$ fastboot reboot

重启手机,然后同时按住电源键 + 音量下键(有些手机不一样,自行摸索) 进入 rec. 也可以等开机后输入
$ adb reboot recovery

进入rec.
刷机
Twrp 的 rec 界面十分友好,可以设置语言时区等等。刷机之前先要清理(特别提醒:这里已经默认你做好备份了)。我们经常清理的有四个分区
system# 系统分区 data# 数据分区:应用数据(设置,帐号,习惯等) cache/davik cache# 缓存分区:应用缓存,系统缓存 internal storage# 个人资料存储:包含照片视频音乐等所有个人资料

一般 internal storage 是不会动的,把其他三个分区清掉。
然后安装刷机包,找到事先放好的刷机包位置,刷入,重启!
Note: 或者事先没有拷贝的话,确保命令执行目录中有你的刷机包,使用
adb push aex-xxx-rom.zip /sdcard
即可将刷机包拷贝至手机存储目录。
+++++++++++++++++++++++++++++++++++++++++++++++++
再或者,使用 ADB sideload 功能边传文件边刷。具体操作在 rec 中:高级 => ADB sideload
然后再命令行输入
adb sideload aex-xxx-rom.zip
即可开始刷机
完了!一般重启需要一些时间,请耐心等待一下。
补丁(root包, gapps包)
  • Root:推荐 Supersu 或者 Magisk
  • Gapps:推荐 Opengapps. Google 大法好,不带 Google 框架的安卓不是 Android!
  • Custom kernel
Note: 注意刷包步骤:先 rom 包,后补丁包。不过还是建议刷完 rom 重启一次,再进 rec 刷补丁包比较稳妥。
3. Troubleshootingadbfastboot 报错:insufficient permission / permission denied
请按照 https://developer.android.com/studio/run/device 提示操作,唯一需要注意的是USB供应商ID. 可以用 lsusb 来判断。
连接手机之前:
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 8087:0a2b Intel Corp. Bus 001 Device 003: ID 04f3:0c1a Elan Microelectronics Corp. Bus 001 Device 002: ID 04f2:b5a3 Chicony Electronics Co., Ltd Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

连接手机之后:
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 8087:0a2b Intel Corp. Bus 001 Device 003: ID 04f3:0c1a Elan Microelectronics Corp. Bus 001 Device 002: ID 04f2:b5a3 Chicony Electronics Co., Ltd Bus 001 Device 041: ID 2717:ff48 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

这样就可以判断该设备的供应商 ID 为 2717.
然后重启 udev 服务: udevadm control --reload(Arch Linux ver.)
拔掉手机线重新插入,再用 adb devices 列举一遍,就应该可以了。
Note: 另外可以尝试使用 root 权限执行命令: sudo adbsudo fastboot
Reference
  1. 在硬件设备上运行应用
  2. fastboot and adb not working with sudo

    推荐阅读