• Recovery 流程简介


    Recovery 流程简介
    Adroid 系统中的 Recovery 模式主要为用户提供了 OTA 升级和恢复出厂设置两大功能,用户可以通过 setting 中的系统软件更新和恢复出厂设置来进入到 recovery 模式。下面分别介绍一下 recovery 模式中的这两个主要功能。
     
    一、OTA 升级
      在 android 系统中〃可以通过以下两种方式进行系统升级:
        1. 在线升级:通过在线下载升级包的方式实现升级
        2. 离线升级:通过把 update.zip 文件放到 SD 卡的根目录下〃执行 Setting--->About phone---->System software update 来实现升级。通常升级采用的都是这种方式。
    二、OTA 升级流程
      下面介绍一下 OTA 的升级流程。
        1. 用户选择系统软件更新时〃setting app 会先向/cache/recovery/command 文件写入“--update_package=/sdcard/update.zip",接着执行PowerMananger.reboot("recovery");这样系统会重新启动并进入到 recovery 模式。
        2. ui->Init();在 recovery 中有自己的一套 UI 显示〃主要是一个 menu〃用户可以根自己的需要来执行相应的操作〃包括 wipe data/cache〃reboot 等。
        3. install_package正开始升级的部分〃 
          流程如下:
              1.ensure_path_mount():先判断所传的 update.zip 包路径所在的分区是否已经挂如果没有则先挂载。
              2.load_keys():加载密钥文件
              3.verify_file():对升级包 update.zip 包进行签名验证。
              4.mzOpenZipArchive():打开升级包.
              5.try_update_binary():先根据我们上一步获得的 zip 包信息〃以及升级包的绝对路径将 update_binary 文件拷贝到内存文件系统的/tmp/update_binary 中。以便后面使用。
              6.pipe():创建管道〃用于下面的子进程和父进程之间的通信。
              7.fork():创建子进程〃在这个子进程中〃通过解析 update-script 中的脚本来实现升级过程。在升级过程中〃父子进程进行通信〃父进程主要显示升级的进度。
  • 相关阅读:
    C#随机数的使用
    英才评测 个人性格倾向 IT知识
    有点迷茫
    [转帖]2006年it人士必去的10个网站
    ASP.NET 中 Cookie 的基本知识
    Http请求方法
    Spherical Mercator
    Axure快速原型设计
    【转】Spring Insight 使用介绍
    DB2执行sql文件
  • 原文地址:https://www.cnblogs.com/run-the-ent/p/6703520.html
Copyright © 2020-2023  润新知