Android系统OTA升级包制作【转】
本文转载自: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升级包制作【转】的更多相关文章
- OTA升级包制作工具处理过程分析
http://blog.csdn.net/ly890700/article/details/56048815 Android Recovery(30) 1.概述 OTA升级包制作工具是一个用pyt ...
- android OTA升级包制作
0.签名 java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/t ...
- android OTA升级包制作【转】
本文转载自:http://www.thinksaas.cn/topics/0/445/445670.html 0.签名 java -Xmx2048m -jar out/host/linux-x86/f ...
- 制作OTA升级包
OTA 软件包工具 本文地址http://wossoneri.github.io/2018/09/21/%5BAndroid%5D%5BFramework%5Dcreate-ota-update-zi ...
- Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作【转】
本文转载自:http://blog.csdn.net/mu0206mu/article/details/7399822 这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过 ...
- Android系统之路(初识MTK) ------ OTA打包ROM安装系统img等到ZIP
在做OTA升级包的时候,我编译了好多次都没过.老是IO异常.刚開始以为是我 make 的错误.后来多次检查 Error 发现是我的配置信息写错了,与驱动project师一起检查源代码, 改动配置信息后 ...
- 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
分类: Android 系统开发(5) 作者同类文章X 版权声明:本文为博主原创文章 ...
- Android系统Recovery工作原理之使用update.zip升级过程分析(一)
通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.我们先从update.zip包的制作开始,然后是Android系统的启动 ...
- Android系统更新防互刷功能实现与分析【转】
本文转载自:https://blog.csdn.net/huangyabin001/article/details/44465145 版权声明:本文为博主原创文章,未经博主允许不得转载. htt ...
随机推荐
- angularjs2中的父子组件通信
父组件模板中引用子组件 // father template: ... <child-item [name] = "fatherItemName" > </chi ...
- tomcat 使用log4j进行日志切割
因为tomcat catalina.out日志不会自己主动切割, 一.日志切割所需包在附近中 1. 压缩包中有三个jar包: log4j-1.2.16.jar tomcat-juli ...
- 第二章:核心C#
变量 如果在一条语句中声明和初始化了多个变量,那么所有的变量都具有相同的数据类型 Int x=10,y=20: 变量使用前需要赋初始值 声明不同类型的变量需要单独的语句. 变量的初始化 变量时类或者结 ...
- asp.net web.config配置节说明
web.config 文件查找规则: (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找. (2)如果当前页面所 ...
- Android程序的打包和安装
当我们使用Android Studio的时候,这些步骤都交给它去做了. 编译 classes.dex 文件 编译 resources.arsc 文件 生成资源索引表resources.arsc. 把r ...
- nginx 的uri、request_uri 区别
在nginx中有几个关于uri的变量,包括$uri $request_uri $document_uri,下面看一下他们的区别 : $request_uri: /stat.php?id=1585378 ...
- 【Python+selenium Wendriver API】之鼠标悬停事件
# encoding=utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import ...
- Hibernate: 数据持久层框架
Hibernate 是一种Java语言下的对象关系映射解决方案. 它是使用GNU宽通用公共许可证发行的自由.开源的软件.它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架.Hi ...
- 零基础学python-2.7 列表与元组
事实上,能够把列表和元组看成普通的数组.可是这个数组能够存储不同的数据类型(对象) 列表和元组的差别 列表 元组 使用的符号 [] () 元素数量 可变 不可变 改动元素 不能够 能够 假设大家有 ...
- python实现身份证识别
github: 人脸联合语音身份认证:https://github.com/tsstss123/faceUnionVoiceRecognition 身份证识别简易版:https://github.co ...