system.transfer.list深度解析

system.transfer.list与system.new.dat是Android系统升级过程中的关键文件,用于描述升级操作。system.transfer.list包含new、zero和erase等区域的block范围,通过block_image_updater进行升级。升级包中system.new.dat的大小与total block数量匹配,所有new、zero、erase的block描述对应整个system分区大小。在新版本中,加入vendor.new.dat.br并采用压缩,减小了升级包的大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

system.transfer.list  system.new.dat
很明显,通过名字我们就知道这两个文件的作用,system.new.dat为数据部分,system.transfer.list为转换的描述列表,我们可以通过这两个文件完成升级。

我们打开一个升级包的升级脚本META-INF\com\google\android\updater-script
block_image_update("/dev/block/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
调用的是block_image_updater接口,传入system.transfer.list及system.new.dat文件来实现升级。

block_image_updater的代码实现在
bootable/recovery/updater/blockimg.cpp中:
void RegisterBlockImageFunctions() {
  RegisterFunction("block_image_verify", BlockImageVerifyFn);
  RegisterFunction("block_image_update", BlockImageUpdateFn);
  RegisterFunction("block_image_recover
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值