分析Recovery流程,可从分析升级包入手。
升级包可由 make otapackage命令生成,由Makefile和打包脚本(Python)配合生成。
生成规则比较复杂,其中包含了签名过程,细节不表,主要关注它的内容。
升级包解压后结构如下:
以上结构图中省略了很多条目,都是system目录下的文件和目录。
其中重要的脚本文件有:
升级包可由 make otapackage命令生成,由Makefile和打包脚本(Python)配合生成。
生成规则比较复杂,其中包含了签名过程,细节不表,主要关注它的内容。
升级包解压后结构如下:
/home/simba/update_zip
|-- boot.img
|-- Manifest.xml
|-- META-INF
| |-- CERT.RSA
| |-- CERT.SF
| |-- com
| | |-- android
| | | `-- metadata
| | `-- google
| | `-- android
| | |-- update-binary
| | `-- updater-script
| `-- MANIFEST.MF
|-- recovery
| |-- etc
| | `-- install-recovery.sh
| `-- recovery-from-boot.p
`-- system
|-- app
|-- bin
|-- build.prop
|-- etc
|-- fonts
|-- framework
|-- lib
|-- media
|-- usr
`-- xbin
66 directories, 1025 files
以上结构图中省略了很多条目,都是system目录下的文件和目录。
其中重要的脚本文件有:
- META-INF/com/google/android/updater-script
- recovery/etc/install-r