android OTA升级包制作【转】
本文转载自:http://www.thinksaas.cn/topics/0/445/445670.html
0.签名
java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8
这个key是debug模式下自动生成的key
你也可以通过openssl创建自己私有的key
OTA打包过程中会自动使用生成的key进行签名,OTA升级包里签名的位置如下
│ [OTA PACKAGE]
│ └─META-INF
│ CERT.RSA
│ CERT.SF
│ MANIFEST.MF
│└─com
│---└─android
│------otacert
1.使用Android的打包命令制作oTA升级包
整个项目编译完成后再执行make otapackage
生成的完整升级包会存放在outdebug argetproduct[project name] 下
具体名字根据make otapackage的install来确定
生成的过程文件包在out/target/product/ardbeg/obj/PACKAGING/target_files_intermediates/目录下,该文件可用于创建差分升级包
2.OTA包的修改
1)update-script
OTA包解压后META-INFcomgoogleandroid目录下有两个文件
update-binary是一个二进制文件,相当于一个脚本解释器,能够识别updater-script中描述的操作。该文件在Android源码编译后out/target/product/tcc8800/system bin/updater生成,可将updater重命名为update-binary得到。
该文件在具体的更新包中的名字由源码中bootable/recovery/install.c中的宏ASSUMED_UPDATE_BINARY_NAME的值而定。
updater-script:此文件是一个脚本文件,具体描述了更新过程。我们可以根据具体情况编写该脚本来适应我们的具体需求。该文件的命名由源码中bootable/recovery/updater/updater.c文件中的宏SCRIPT_NAME的值而定。
升级时的进度条,升级哪些文件都是这个脚本里指定的。如果需要修改打包的文件,这一般修改这个脚本或替换包里资源文件为主
关于这块网上描述的比较多,不再陈述了,可参考
[实用教程]_关于ROM的updater-script脚本详解
http://wenku.baidu.com/link?url=PBCuu50VRxDzx_1wb5JfyZH-oURgYhMTyDVq5SGKsPZqfP3wW6DbegiFqszYJVzP3037osTX-aEFmsAx5nnMH6CYcJOuDAXo1jm0BfROmi3
2)recovery代码
[src path]ootable ecovery
其中bootable ecoveryupdaterinstall.c

该函数中注册的子函数可直接在update-script脚本中调用
部分嵌入式产品中,bootloader,开机画面等分区的烧写读取都是自己定义的,需要更新这种分区就需要在注册函数里,增加私有的函数
3)修改已产生的升级包
解压缩update.zip,并根据上述规则修改update-script脚本和资源文件
重新打包,打包时记住一定要用存储模式打包,千万不要选择有任何压缩内容相关的方式。否则签名会失败
再参考第0条手动签名新的包文件刷机就可以了
3.OTA差分升级包
先 make otapackage 分别制作新旧两个包。
用于制作差分包的包文件在如下目录下
out/target/product/[produce name]/obj/PACKAGING/target_files_intermediates/
因需要先刷到旧版本中才能使用差分包,故需要做版本管理的就要把中间文件和完整包都保存下来,分别在如下路径(需要同时生成的匹配的版本)
out/target/product/[produce name]/obj/PACKAGING/target_files_intermediates/
out/target/product/[produce name]/
再用新旧obj目录对应文件产生差分包
mkdir OTA/
cp xxxx_obj.zip OTA/old_obj.zip
cp yyyy_obj.zip OTA/new_obj.zip //网上建议在源代码根目录运行生成工具,据说是里面使用了根目录相对路径
./build/tools/releasetools/ota_from_target_files -v -n -i OTA/old_obj.zip OTA/new_obj.zip OTA/diff.zip
这样就生成了差分包,在old product对应的版本里就能用该差分包升级了。
差分包制作过程中的错误 http://blog.csdn.net/kangear/article/details/23831431
android OTA升级包制作【转】的更多相关文章
- android OTA升级包制作
0.签名 java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/t ...
- OTA升级包制作工具处理过程分析
http://blog.csdn.net/ly890700/article/details/56048815 Android Recovery(30) 1.概述 OTA升级包制作工具是一个用pyt ...
- Android系统OTA升级包制作【转】
本文转载自:http://blog.csdn.net/dingfengnupt88/article/details/52882788 Android系统升级分为整包升级和差分包升级,整包升级就是将系统 ...
- 制作OTA升级包
OTA 软件包工具 本文地址http://wossoneri.github.io/2018/09/21/%5BAndroid%5D%5BFramework%5Dcreate-ota-update-zi ...
- Android OTA在线升级二(升级包编译原理分析) 【转】
本文转载自:http://blog.csdn.net/huryjiang/article/details/7590015 1 升级包的制作 基本命令: Ø makeMtk [project[flav ...
- Android OTA在线升级一(架构分析)【转】
本文转载自:http://blog.csdn.net/yanleizhouqing/article/details/50234213 1.前言 OTA(Over-the-Air Technology) ...
- Android OTA 升级之三:生成recovery.img
Android OTA 升级之三:生成recovery.img 作者: 宋立新 Email:zjujoe@yahoo.com 前言 得到了ota升级包后,我们就可以用它来升级系统了.Android 手 ...
- Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- recovery 差分升级包制作超时
我们在对android系统升级的时候,可以减少升级包的大小,只升级差异部分,也就是差分包升级,相关的描述可以参考:http://blog.csdn.net/csdn66_2016/article/de ...
随机推荐
- 关于javaSocket中 Software caused connection abort: recv failed问题
在学习Socket中今天突然遇到了以下这种问题 原来是网路连接出了问题,由于我測试的是远程连接所以是在学校的局域网下,结果非常不稳定,開始还以为怎么了一会连上了一会又出现故障然后把IP地址改为本机的1 ...
- Linux服务器重启后启动Oracle服务
目录 1. 启动Oracle服务 2. 启动Oracle监听服务 © 版权声明:本文为博主原创文章,转载请注明出处 1. 启动Oracle服务 重启Linux服务器后,Oracle服务还需要手动启动. ...
- u3D大场景的优化
首先介绍下draw call(这个东西越少你的游戏跑的越快): 在游戏中每一个被展示的独立的部分都被放在了一个特别的包中,我们称之为“描绘指令”(draw call),然后这个包传递到3D部分在屏幕上 ...
- UFLDL深度学习笔记 (六)卷积神经网络
UFLDL深度学习笔记 (六)卷积神经网络 1. 主要思路 "UFLDL 卷积神经网络"主要讲解了对大尺寸图像应用前面所讨论神经网络学习的方法,其中的变化有两条,第一,对大尺寸图像 ...
- CSDN--字体颜色--markdown
在写blog时,想高亮某些字,但是发现markdown更改字体颜色不像word里那么方便,于是查了一下,要用一下代码进行更改字体颜色,还可以更改字体大小,还有字体格式 <font 更改语法> ...
- Downloading jQuery
Compressed and uncompressed copies of jQuery files are available. The uncompressed file is best used ...
- android 小游戏之数字猜猜
http://www.cnblogs.com/whatbeg/p/4152333.html
- 通过eclipse.ini修改Eclipse加载jdk的路径
这里直接把在网上的找到的答案记录下来,原文地址:http://www.oschina.net/question/109676_15561: 如果出现 启动 Eclipse 弹出“Failed to l ...
- 【BZOJ4154】[Ipsc2015]Generating Synergy KDtree
[BZOJ4154][Ipsc2015]Generating Synergy Description 给定一棵以1为根的有根树,初始所有节点颜色为1,每次将距离节点a不超过l的a的子节点染成c,或询问 ...
- 【BZOJ3779】重组病毒 LCT+DFS序
[BZOJ3779]重组病毒 Description 黑客们通过对已有的病毒反编译,将许多不同的病毒重组,并重新编译出了新型的重组病毒.这种病毒的繁殖和变异能力极强.为了阻止这种病毒传播,某安全机构策 ...