Android9.0 vendor分区整包升级

本文详细解析了Android OTA升级中遇到的vendor分区不匹配问题。通过分析编译环境和升级脚本,探讨了差分升级和整包升级vendor分区的流程。最终通过调整编译参数和补充缺失的库文件解决了问题。

1、涉及文件

2、流程解析

3、问题探讨

 

1、涉及文件

./build/make/core/Makefile  

ota脚本 ./build/toos/releasetools/  

9.0FOTA包  

9.0源码

2、流程解析

本次问题是一家方案公司的编译环境有问题,经常出现升级报错vendor不匹配的问题,大致看了下升级脚本 修改为整包升级或者不升级两种情况,

首先我们要明白,最开始只有system分区查分,后续出现了vnedor,oem等等,所以原生的脚本里其他分区全部 都是仿照system加进去的,

以下是差分的主入口,调用commpy的blockDifference处理,这里的vendor_diff是关键参数,后续所有的判断 都以该参数为准

所以第一种不升级vendor的情况就是直接修改venor_diff = None,这样所有vendor相关的操作都会去掉

第二种情况,整包升级vendor

第一步,对于这个问题,并没有直接想按流程研究代码的意思,而是想更为简单的直接照搬T卡包里的vendor升级的方法    

vendor_tgt = GetImage("vendor", OPTIONS.input_tmp)    

vendor_tgt.ResetFileMap()    

vendor_diff = common.BlockDifference("vendor", vendor_tgt)&nb

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值