1.OTA介绍
OTA 英文全称是 Over-the-Air Technology,即空间下载技术的意思。
OTA 升级是 Android 系统提供的标准软件升级方式。它功能强大,可以无损失升级系统,主
要通过网络[例如 WIFI、3G]自动下载 OTA 升级包、自动升级,但是也支持通过下载 OTA 升
级包到 SD 卡升级 。一般情况下 OTA 的升级包非常的小,一般几 M 到十几 M,如果你用网络
升级,非常的方便,基本是在系统上点击几下就完成了升级,并且最重要的是,OTA 升级无
需备份数据,短短几分钟就搞定所有升级工作,所有数据都会完好无损的保留下来。OTA 升
级主要有全包升级和差分包(增量包)升级两种方式。
2.Android OTA 全包
OTA 全包的优势和劣势
优势:使用全包的优势在于无需对应版本号,可以直接从任何之前的版本升级到 OTA 包中的
版本。
劣势:全包所占的空间比较大,升级时间较长。
全包的制作
3.Android OTA 差分包
OTA 差分包的优势和劣势
优势:差分包所占空间较小,升级速度较快。
劣势:差分包制作比全包复杂,升级需要对应版本号。(比如想从 v03 版升级到 v05 版就需
要制作一个 v03 到 v05 的差分包,想从 v02 版升级到 v07 版就需要制作一个 v02 到 v07 的
差分包)
4.签名问题
我们已经知道的是:Android 对每一个 Apk 文件都会进行签名,在 Apk 文件安装时,系统会
对其签名信息进行比对,判断程序的完整性,从而决定该 Apk 文件是否可以安装,在一定程
度上达到安全的目的。给定一个 Apk 文件,解压,可以看到一个 META-INFO 文件夹,在该文
件夹下有三个文件:分别为 MANIFEST.MF、CERT.SF 和 CERT.RSA。
安卓默认签名为 testkey,如果客户有需求的可以改成带项目信息,客户信息等信息的 key。
OTA 包默认使用的是系统签名,系统签名可以是客户指定的 key 也可以是安卓默认的
testkey。系统使用何种签名在项目初期,项目经理就需要和客户确立。之后生成的 OTA 包
就使用的是系统签名。
OTA 升级说明
17
差分包带签名的制作可以执行如下指令:
./build/make/tools/releasetools/ota_from_target_files.py -p
out/target/product/qssi/obj/PACKAGING/otatools_intermediates/otatools -k
build/make/target/product/security/testkey -v -i old.zip new.zip update.zip