OTA升级是Android系统提供的标准软件升级方式。它功能强大,可以无损失升级系统,主要通过网络[例如WIFI、3G]自动下载OTA升级包、自动升级,但是也支持通过下载OTA升级包到SD卡升级。
一、服务器
OTA升级搭建OTA服务器是比较基本的,我们需要把更新软件放到服务器供用户下载更新,但是做一个完整的OTA服务器却非常复杂,因为这要涉及到下载遵循的标准,软件的管理,下载的计费,安全认证等问题。
二、差异包
差异包的生成也是OTA升级的一个重要步骤,编译过系统之后,执行下面的命令:
$make otapackage
即可获得:out/target/product/{product_name}/ {product_name}-ota-eng.{uid}.zip
将该文件改名为update.zip放到T卡根目录, 即可开始recovery模式下的 OTA 升级。创建需要的OTA update image(包括全部更新及部分更新)的工具Releasetools ,具体路径build/tools/releasetools/用以与build system配合,生成对应的full/incremental的update.zip包,对应的编译脚本在build/core/main.mk及Makefile, 搜索target-files-package关键字build/tools/releasetools
├── check_target_files_signatures -- 用来检查cert和update包之间的关系
├── common.py -- 各种工具类,参数处理/META文件处理/image生成/signcertification/patch file 操作等等
├── edify_generator.py -- 用来生成edify脚本, 关于edify,参照bootable/recov