本文转载自: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. [DevExpress]TreeListLookUpEdit带checkbox之经典运用

    上代码: public partial class TreeListLookUpEdit : DevExpress.XtraEditors.XtraForm { private string _Key ...

  2. Eclipse 经常使用快捷键

    一.File 二.Edit Ctrl + 1  有益写错,让编辑器提醒改动 三.Refactor 抽取为全局变量 Refactor - Convert Local Variable to Field ...

  3. tomcat启动之后报404

    启动之后什么异常都没有,但是就报404,很伤,为此和女朋友分了手. 如果项目以前还是可以正常运行的话,不妨试下下面这个办法: 停止tomcat,把tomcat下面的项目删除掉,之后右键单击项目,run ...

  4. HDU 4883 TIANKENG’s restaurant Bestcoder 2-1(模拟)

    TIANKENG's restaurant Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/O ...

  5. win7上python+theano+keras安装

    https://blog.csdn.net/yongjiankuang/article/details/50485610 其实过程很简单,首先说一下安装条件: 1.win7 (32和64都可以,下载安 ...

  6. 查看系统启动内核检測硬件信息dmesg

    dmesg用来显示开机信息.kernel会将开机信息存储在ring buffer中.您若是开机时来不及查看信息,可利用dmesg来查看.开机信息亦保存在/var/log文件夹中.名称为dmesg的文件 ...

  7. Linux下文件的堵塞与非堵塞对部分系统调用的影响

    1.基本概念 所谓的堵塞,即内核在对文件操作I/O系统调用时.假设条件不满足(可能须要产生I/O),则内核会将该进程挂起.非堵塞则是发现条件不满足就会马上返回. 此外须要注意的是非堵塞并非轮询.不然就 ...

  8. CocoaPods报错:The dependency `` is not used in any concrete target

    内容提要: podfile升级之后到最新版本,pod里的内容必须明确指出所用第三方库的target,否则会出现The dependency `` is not used in any concrete ...

  9. 打造一个高逼格的android开源项目——小白全攻略 (转)

    转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...

  10. ICloneable接口 Clone 深拷贝 浅拷贝

    需要字段本身也实现了深拷贝Clone.应用场景不多,意义不大. 1. 隐含式地要求其子类和引用类也要实现ICloneable接口,如果引用层次比较深类似一个网状或树形接口,增加复杂性. 2. 考虑给s ...