zoukankan      html  css  js  c++  java
  • 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 中的脚本来实现升级过程。在升级过程中〃父子进程进行通信〃父进程主要显示升级的进度。
  • 相关阅读:
    图片反转效果
    css实现三角效果
    漂亮的阴影效果
    css名词解释
    偷学来的资料
    Git、GitHub、GitLab三者之间的联系以及区别
    分模块、分工程管理
    Spring AOP面向切面编程
    为什么要用存储过程,什么时候要用存储过程,存储过程的优点
    Spring扫描组件的使用详解
  • 原文地址:https://www.cnblogs.com/run-the-ent/p/6703520.html
Copyright © 2011-2022 走看看