本文转载自:http://blog.csdn.net/dingfengnupt88/article/details/52882788

Android系统升级分为整包升级和差分包升级,整包升级就是将系统中所有的数据都升级,而差分包及增量包,只是针对系统中更新的部分进行升级。一般来说,像大版本升级,比如从4.4升级到5.0,采用整包升级,平时的小版本升级就使用差分包升级,不同的厂商有自己的考量。但不管哪种方式,升级流程都是一样的(Android系统OTA升级流程),只是在制作升级包的过程中有些差别。那这两者有啥区别呢?

区别:

1、包的大小,整包就相当于ROM,有好几百兆;差分包也就是增量包,只是将两个版本的差异处进行打包,一般几兆到几十兆。

2、整包升级对当前版本没有限制,可以在该项目的任何一个版本基础上升级;而差分包制作是基于两个版本的,所以只能在这两个版本之间升级,并且是单向的。

升级包制作

一、整包

1. ./mk [project] new
2. ./mk [project] otapackage

先编译整个工程,编译完成之后编译ota包,最后在out目录下生成升级包,如out/target/product/{project}/obj/packaging/ckt75_cu_gb2-target_files-eng.ckt.zip,这个包就可以在该项目的任何一个版本上升级。

二、差分包

1. ./mk [project] new--- 工程的版本是 V1
2. ./mk [project] otapackage  --- 工程的版本是 V1
3. 将V1版本烧录到对应的手机上
4. 拷贝out/target/product/{project}/obj/packaging/ckt75_cu_gb2-target_files-eng.ckt.zip到根目录下,并改名为 v1_org  -----工程的版本是 V1

5. ./mk [project] new --- 工程的版本是 V2
6. ./mk [project] otapackage  --- 工程的版本是 V2
7. 拷贝out/target/product/{project}/obj/packaging/ckt75_cu_gb2-target_files-eng.ckt.zip到根目录下,并改名为 v2_org  -----工程的版本是 V2
8. ./build/tools/releasetools/ota_from_target_files -k releaseKey -i v1_org.zip v2_org.zip v1_2.zip---在工程目录下执行此命令

9. 如果系统的logo和uboot也更改了,那么也需要将其添加进去

./build/tools/releasetools/ota_from_target_files -k releaseKey -l logo.img -u uboot.img -i old_ota_target_file.zip new_ota_target_file.zip update.zip。

-k 代表签名文件,“releaseKey”是签名文件路径

-l 参数是代表需要升级logo,后面跟logo文件的路径,注意不要用签名过的logo文件,该文件可以从ota整包中解压得来;

-u 参数代表要升级uboot,后面跟uboot文件路径,注意不要用签名过的uboot文件,该文件可以从ota整包中解压得来;

old_ota_target_file.zip代表的是升级前的ota 包源文件路径;

new_ota_target_file.zip代表需要升级到的版本的ota包源文件路径;

通过以上几步就生成了差分包v1_2.zip,可以将系统版本从v1升到v2。

Android系统OTA升级包制作【转】的更多相关文章

  1. OTA升级包制作工具处理过程分析

    http://blog.csdn.net/ly890700/article/details/56048815 Android Recovery(30)  1.概述  OTA升级包制作工具是一个用pyt ...

  2. android OTA升级包制作

    0.签名 java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/t ...

  3. android OTA升级包制作【转】

    本文转载自:http://www.thinksaas.cn/topics/0/445/445670.html 0.签名 java -Xmx2048m -jar out/host/linux-x86/f ...

  4. 制作OTA升级包

    OTA 软件包工具 本文地址http://wossoneri.github.io/2018/09/21/%5BAndroid%5D%5BFramework%5Dcreate-ota-update-zi ...

  5. Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作【转】

    本文转载自:http://blog.csdn.net/mu0206mu/article/details/7399822 这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过 ...

  6. Android系统之路(初识MTK) ------ OTA打包ROM安装系统img等到ZIP

    在做OTA升级包的时候,我编译了好多次都没过.老是IO异常.刚開始以为是我 make 的错误.后来多次检查 Error 发现是我的配置信息写错了,与驱动project师一起检查源代码, 改动配置信息后 ...

  7. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  8. Android系统Recovery工作原理之使用update.zip升级过程分析(一)

    通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.我们先从update.zip包的制作开始,然后是Android系统的启动 ...

  9. Android系统更新防互刷功能实现与分析【转】

    本文转载自:https://blog.csdn.net/huangyabin001/article/details/44465145 版权声明:本文为博主原创文章,未经博主允许不得转载.    htt ...

随机推荐

  1. nightwatch API

    API Nightwatch的API分为四个部分 1.Expect 在browser实例上以.expect.element开头的BDD(行为驱动测试)风格的接口,0.7及以上版本nightwatch可 ...

  2. sqlserver修改表主键自增

    alter table tname add id int  identity(1,1)

  3. linux修改root管理员密码

    以root 身份登录(SSH操作) 输入 passwd 命令 就可以看到提示输入新密码了 输入密码的时候是看不到字符的.

  4. 第3章 如何编写函数定义 3.7 if特殊表

    这部分来学习下if特殊表,之前学了defun和let,不好意思,博客中没有写但是鄙人已经看了,哈哈. 什么是if表 if条件特殊表是为了让计算机对条件加以判断,然后选择不同的执行路径的. if特殊表的 ...

  5. docker-maven-plugin

    顾名思义,docker-maven-plugin是一个docker的maven插件,用来执行docker镜像的制作和上传,他的地址是https://github.com/spotify/docker- ...

  6. DAO调用存储过程问题

    相关文章:1.使用 Spring 框架调用 DB2 存储过程   2.Spring如何使用JdbcTemplate调用存储过程的三种情况   3.spring中调用存储过程,函数

  7. 【Python3.6】之在Windows中安装Python3.6.1

    由于之前做web自动化的时候,没有自己总结一篇Python3.6.1的安装步骤,这次由于学习appium自动化时换了台电脑,所以想重新总结一下. 一.安装Python3.6.1 下载Python3.6 ...

  8. python操作Excel读写--使用xlrd (转)

    (转自:http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html) 一.安装xlrd模块 到python官网下载http://pypi ...

  9. linux kernel的cmdline參数解析原理分析

    利用工作之便,今天研究了kernel下cmdline參数解析过程.记录在此.与大家共享.转载请注明出处.谢谢. Kernel 版本:3.4.55 Kernel启动时会解析cmdline,然后依据这些參 ...

  10. js自己定义插件-选项卡

    该功能比較简单.巩固一下jquery插件写法,注意引入的jquery.js  . 自己定义插件路径代码例如以下: 页面: <!doctype html> <html> < ...