android 标准OTA升级流程

标准的OTA升级流程包括一下几个步骤:
1.Android设备首先会与OTA服务器进行交互,如果有更新会推送给客户。推送的信息常常会包含OTA更新包的下载地址和一些版本信息。
2.Update程序会将更新包下载到cache分区下,并提醒用户安装更新。
3.设备会重启进入recovery模式,同时启动recovery分区下运行环境,不再启动boot分区下的运行环境。
4.recovery运行环境初始化时会启动recovery二进制程序并根据/cache/recovery/command中的命令对更新包进行下一步操作。
5.Recovery运行环境对更新包中/res/key的签名进行校验,如果校验失败会中断升级。
6.Recovery二进制程序会对更新包中的数据进行解压同时根据解压出的数据对boot、system、和vender分区进行相应的更新。对system分区的更新也同时包含了新的recovery分区的更新。
7.重启设备
a.载入新的boot分区,并执行升级后的system分区中的二进制文件。
b.系统启动时会同时校验recovery分区,如果recovery与升级时保存在system分区下的信息不一致会对recovery进行更新。
8.系统更新完成。
时间: 2024-07-28 21:25:00

android 标准OTA升级流程的相关文章

Android 应用增量升级方案之流程篇

作者:snowdreamEmail:yanghui1986527#gmail.comGithub: https://github.com/snowdreamQQ 群: 529327615原文地址:https://snowdream.github.io/blog/2016/08/24/android-incremental-update-solutions-flowchart/ 今天,我对Android 应用增量升级方案的流程进行了一个梳理,简单画了一个流程图. 流程图源文件:update.gra

在android系统执行ota升级后,能否将自动重启改为手动重启

问题描述 在android系统执行ota升级后,能否将自动重启改为手动重启 在android系统执行ota升级后,能否将自动重启改为手动重启,如何修改bootable/recovery中的代码:在应用层能否通过编写android程序控制系统的重启????? 解决方案 我只能回答一个问题,应用层不可以直接控制系统的重启,因为权限不够. 如果系统root过,可以尝试用java调用reboot命令的方式.

ota-想在android OTA升级中一次将多个差分升级包逐个进行升级

问题描述 想在android OTA升级中一次将多个差分升级包逐个进行升级 主要有以下几个问题: 怎么将多个差分包对应的升级命令写入到/bootable/recovery/command中: 对应的源码文件是哪个?

手机OTA升级是什么意思?OTA升级要求

有些朋友不知道OTA升级是什么意思,OTA(Over-the-Air Technology)就是空中下载技术.现在很多的智能手机都提供了OTA升级. OTA升级是Android系统提供的标准软件升级方式.它功能强大,可以无损失升级系统,主要通过网络[例如WIFI.3G]自动下载OTA升级包.自动升级,但是也支持通过下载OTA升级包到SD卡升级 OTA的升级包非常的小,一般几M到十几M,如果你用网络升级,非常的方便,基本是在系统上点击几下就完成了升级,并且最重要的是,OTA升级无需备份数据,短短几

安卓-android规范的开发流程是怎样

问题描述 android规范的开发流程是怎样 规范的安卓开发流程是怎样的?包括xml文件中id的定义,屏幕的适配等等,希望有经验的大牛给予指导 解决方案 参考:http://mobile.51cto.com/android-290903.htm 解决方案二: http://blog.csdn.net/jason0539/article/details/9823949http://www.cnblogs.com/xiongbo/archive/2011/08/15/2098130.html 解决方

iOS 7.1中可以移除已经下载的OTA升级文件

很多人都不知道iOS系统设置应用上的提醒数字是意味着目前系统有可用的升级,当然也有很多人不喜欢升级到最新系统.当iOS设备接通电源并连接至WiFi后,iOS会自动下载升级文件,对于不想升级的用户,下载的OTA升级文件可能会占据大量储存空间,这些下载文件也无法被移除. 不过,在苹果最新iOS 7.1测试版中,用户可以根据自己的意愿选择将升级文件移除.这样可以节省很大的空间.用户只需开启设置应用,然后导航至通用--用量,这里界面下可以看到iOS升级文件,进入后选择删除即可. iOS OTA升级文件有

Android创建或升级数据库时执行的语句

  Android创建或升级数据库时执行的语句,如果是创建或升级数据库,请使用带List参数的构造方法,带SQL语句的构造方法将在数据库创建或升级时执行.

Android编程输入事件流程详解_Android

本文实例讲述了Android编程输入事件流程.分享给大家供大家参考,具体如下: EventHub对输入设备进行了封装.输入设备驱动程序对用户空间应用程序提供一些设备文件,这些设备文件放在/dev/input里面. EventHub扫描/dev/input下所有设备文件,并打开它们. bool EventHub::openPlatformInput(void) { ... mFDCount = 1; mFDs = (pollfd *)calloc(1, sizeof(mFDs[0])); mDev

软件产品升级流程,你知多少?(转)

一个软件产品做出来之后,并不是说永远都不用变了.基于以下的种种原因,我们需要对原软件产品进行升级: 用户对软件功能提出了新的要求,现在运行的软件不能满足用户的新需求.  原软件存在 bug,用升级的方式来修补这些 bug. 对原软件的程序进行了优化,新的程序在执行效率.性能等方面有所提升.  自主开发了一些能够提升用户体验的新功能. 对于一般的软件产品来说,升级是一项浩大的工程,其中牵涉到很多的人员,包括:市场人员.开发人员.测试人员.技术支持人员等. 软件产品的通用升级流程如下所示: 软件产品