基于Android Q的OTA包制作/签名(包含差分包)

本文详细介绍了Android系统的OTA(Over-The-Air)更新机制,包括差分包和全包的区别,以及如何使用makeotapackage命令生成差分包。还提到了OTA包的重新签名过程以及密钥的制作方法,为Android系统更新提供了技术指南。
摘要由CSDN通过智能技术生成

先介绍一下关于OTA

什么是OTA?

通俗的说,OTA升级是指苹果手机通过无线网络下载升级数据包,之后直接安装升级的总称。通常我们利用iPhone手机无线wifi网络登录官方网站找到手机升级所需要的数据包或者直接在手机中找到升级入口进入下载安装等,主要包括iphone4s、iphone4、ipod touch、ipad等产品均可以实现OTA升级,使用过iPhone手机的朋友都知道,一般我们将手机与数据线与电脑连接后,一般是连接itunes实现软件管理、安装或者升级等。但这里的OTA升级降调的是无线升级,借助无线wifi或者GRRS、WAP、CDMA1XD等无线技术完成相关软件与系统的升级。

简言之:手机系统更新包

什么是OTA全包

OTA全包指的是系统大版本更新,更新整个系统,通常OTA包的大小都是1G以上.

什么是OTA差分包

既然有全包 就有差分包,差分包指的是小版本更新,在原有的代码和软件中更新一部分东西,通常大小不超过1G,具体大小看更新内容

进入正题

1.OTA差分包编译大法

  1. 使用make otapackage编译整包,拷贝out目录下的OTA整包,再拷贝out/target/product/dl35/obj/PACKAGING/tart.下的差异包,两个包都放进源代码目录
  2. 对代码改动一些,使得我们升级后能看得出来差异,再执行make otapackage编译整包,拷贝out/target/product/dl35/obj/PACKAGING/tart.目录下的差异包到源代码目录
    生成的结果如下:
    在这里插入图片描述制作命令:
//进入AOSP源码目录下,执行
./build/tools/releasetools/ota_from_target_files -v -p out/host/linux-x86 -k ./vendor/{project}/{projcts}/releasekey/us_gms/releasekey -i OTA/old.zip OTA/new.zip old_to_new.zip
    或者 
./build/tools/releasetools/ota_from_target_files -v -p out/host/linux-x86 -k ./vendor/{project}/{project}/releasekey/us_gms/releasekey -s vendor/mediatek/proprietary/scripts/releasetools/releasetools.py -i OTA/old.zip OTA/new.zip update2.zip

以上代码即可生成差分包,即可进行卡刷。下面的步骤可看可不看

2.OTA重新签名

第一个路径是需要签名的OTA包,第二个是重新生成的OTA包

java -Xmx1024m -Djava.library.path=out/host/linux-x86/lib64 -jar out/host/linux-x86/framework/signapk.jar -w vendor/{projects}/{projects}/releasekey/us_gms/releasekey.x509.pem vendor/{projects}/{projects}/releasekey/us_gms/releasekey.pk8 ~/NEWOTA/update.zip ~/NEWOTA/update_with_new_key.zip

3.OTA密钥制作

 Android 源码包里面提供了生成key的工具,development/tools/make_key, 命令如下:
 ./make_key releasekey '/C=CN/ST=ShangHai/L=ShangHai/O=XXX/OU=XXX/CN=XXXV/emailAddress=XXX' rsa
 ./make_key platform  '/C=CN/ST=ShangHai/L=ShangHai/O=XXX/OU=XXX/CN=XXXV/emailAddress=XXX'  rsa
 ./make_key shared '/C=CN/ST=ShangHai/L=ShangHai/O=XXX/OU=XXX/CN=XXXV/emailAddress=XXX'   rsa
 ./make_key media    '/C=CN/ST=ShangHai/L=ShangHai/O=XXX/OU=XXX/CN=XXXV/emailAddress=XXX' rsa 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
制作 Android 13 MTK 平台的 OTA 差分相对来说比较复杂,需要一定的开发经验和知识。以下是一般的步骤和流程: 1. 准备工作: - 确保你的开发环境已经配置好,并且可以编译和构建 Android 13 MTK 平台的源代码。 - 获取原始系统镜像和目标系统镜像,分别表示当前系统和要升级的目标系统。 2. 执行 AOSP 构建: - 使用 AOSP 源代码构建系统,生成目标系统镜像。可以参考 MTK 平台的开发文档来执行构建命令。 3. 生成差分文件: - 使用 Android 提供的工具 `imgdiff`,生成目标系统镜像与当前系统镜像之间的差分文件。具体使用方法可以参考 Android 官方文档。 4. 打差分: - 将生成的差分文件和一些必要的元数据文件(如版本号、设备信息等)打OTA 差分。可以使用 `build/tools/releasetools` 目录下的工具来完成打操作。 5. 签名差分: - 使用 Android 提供的 `signapk` 工具,对生成的差分进行签名签名是为了确保差分的完整性和安全性。 6. 测试和发布: - 在真实设备上测试差分的安装和升级过程,确保没有问题。 - 将签名后的差分上传到合适的发布渠道,供用户下载和安装。 需要注意的是,以上步骤只是一个大致的流程,具体的操作和工具可能会因为不同的开发环境和配置而有所不同。建议在进行 OTA 差分制作之前,先仔细阅读相关的官方文档和开发者指南,并确保你对 Android 平台开发有一定的了解和经验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值