Contents
  1. 1. What is Recovery
    1. 1.1. 1、the Stock Recovery
    2. 1.2. 2、the Custom Recovery
  2. 2. How to Install Recovery
    1. 2.1. 1、准备工作(Prerequisites)
    2. 2.2. 2、切换至fastboot模式
    3. 2.3. 3、安装Custom Recovery
  3. 3. How to Use Recovery
    1. 3.1. 进入Recovery环境
    2. 3.2. 在Recovery环境的手机资源管理器中安装zip格式的软件
    3. 3.3. 采用sideload方式安装zip格式的软件
    4. 3.4. 在Recovery启动过程中执行命令

不管是尝试对Android手机进行刷机的普通用户,还是刚接触Android应用开发的开发者,都会接触到Recovery。本文将从什么是Recovery,怎么在Android设备中安装Recovery环境,如何使用Recovery几个方面对Android Recovery进行介绍。

What is Recovery

通常,在Android设备中会预装Recovery环境,可以用于还原出厂设置、升级操作系统、以及进行问题诊断等。

从类别上,Recovery环境分为两种,Google官方的(the Stock Recovery)Recovery环境和第三方的Recovery环境(the Custom Recovery)。

1、the Stock Recovery

Google官方的Recovery环境提供的功能十分有限,主要包括:

  • 重置出厂设置,清除所有数据
  • 擦除cache分区
  • 刷入官方的升级文件来升级系统

2、the Custom Recovery

针对Google官方Recovery环境功能的不足,许多组织、机构或个人定制了功能更为强大的Recovery环境,统称为第三方Recovery环境。当前最为流行的有两个:ClockworkMod Recovery (CWM)、Team Win Recovery Project (TWRP)。

第三方Recovery环境除了具有Google官方Recovery环境的功能外,还增加了其它特性,主要包括:

  • 创建、恢复系统备份
  • 安装自定义的ROM
  • 安装、删除应用程序

How to Install Recovery

通常,Android设备出厂时都会带有官方的Recovery环境。如果我们需要获取更多的功能,就需要自己安装第三方Recovery环境来替换官方的Recovery环境。

1、准备工作(Prerequisites)

  • 配置Android调试环境:安装adb和fastboot工具,开启USB调试模式(USB debugging),建立手机与电脑之间的USB调试连接。
  • Android设备的Bootloader已完成解锁(unlocked)。
  • 下载第三方Recovery镜像包,例如,openrecovery-twrp-2.8.7.1-hammerhead.img

2、切换至fastboot模式

flash操作前,先将设备切换至fastboot模式。

1
$ adb reboot bootloader

通过fastboot devices命令可以查看到手机与电脑直接的连接状态。

1
2
$ fastboot devices
03f7fc7ad0081a10 fastboot

3、安装Custom Recovery

fastboot模式下,在电脑的命令终端中执行如下命令,写入recovery.img,并进行重启。

1
2
3
4
5
6
7
8
9
10
$ fastboot flash recovery openrecovery-twrp-2.8.7.1-hammerhead.img
sending 'recovery' (14694 KB)...
OKAY [ 0.709s]
writing 'recovery'...
OKAY [ 1.133s]
finished. total time: 1.842s
$ fastboot reboot
rebooting...
finished. total time: 0.408s

How to Use Recovery

进入Recovery环境

在手机开机状态下,可以通过如下命令进入Recovery环境。

1
2
3
$ adb reboot recovery
$ adb shell
~ #

从上可以看出,在Recovery环境下,用户具有root权限。

在Recovery环境的手机资源管理器中安装zip格式的软件

如果要安装某些root权限的软件,例如SuperSU.zip,而手机却没有root权限,就可以在Recovery环境下进行安装。

Recovery环境下,将要安装的应用程序安装包push至手机任意文件夹。

1
2
$ adb push UPDATE-SuperSU-v2.46.zip /sdcard/!ReadyToFlash/Root_Files/UPDATE-SuperSU-v2.46.zip
4604 KB/s (4017098 bytes in 0.852s)

然后在手机Recovery环境的资源管理器中找到该文件,点击安装即可。

采用sideload方式安装zip格式的软件

Recovery环境下,在手机端开启ADB Sideload,开启后,可以看到手机处于sideload模式。

1
2
3
$ adb devices
List of devices attached
03f7fc7ad0081a10 sideload

采用adb sideload <filename.Zip>命令,即可进行zip软件包的安装。

1
2
$ adb sideload busybox-signed.zip
Total xfer: 1.24x

在手机端可以看到如下日志信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
Undating partition details...
...done
Full SELinux support is present.
MTP enabled
Starting ADB sideload feature ...
Installing '/sideload/package.zip'...
************************
Install Busybox apk
************************
- Mounting file systems ...
- Installing Busybox free ...
- Unmounting file system ...
Done!

在Recovery启动过程中执行命令

对于2.1及以上版本的TWRP Recovery中,可以使用OpenRecoveryScript引擎,在TWRP Recovery启动时执行命令。

具体的方式为,在Android设备的/cache/recovery/目录下创建openrecoveryscript文件,并在其中写入执行命令。

例如:

1
2
3
4
5
# /cache/recovery/openrecoveryscript
set tw_signed_zip_verify 0
install /data/local/tmp/perm-recovery-signed.zip
install /data/local/tmp/UPDATE-SuperSU-v2.46.zip
install /data/local/tmp/busybox-signed.zip
Contents
  1. 1. What is Recovery
    1. 1.1. 1、the Stock Recovery
    2. 1.2. 2、the Custom Recovery
  2. 2. How to Install Recovery
    1. 2.1. 1、准备工作(Prerequisites)
    2. 2.2. 2、切换至fastboot模式
    3. 2.3. 3、安装Custom Recovery
  3. 3. How to Use Recovery
    1. 3.1. 进入Recovery环境
    2. 3.2. 在Recovery环境的手机资源管理器中安装zip格式的软件
    3. 3.3. 采用sideload方式安装zip格式的软件
    4. 3.4. 在Recovery启动过程中执行命令