AB系统分区升级使用的是update_engine,RecoverySystem 只适用于单分区的系统升级
1.解压开update.zip 可以查看到palyload的属性

2.使用ADB命令update_engine_client即可对AB分区进行升级
使用adb shell 命令进行升级
update_engine_client --payload xxx --update --headers="xxxxx"
update_engine_client --payload=file:///sdcard/payload.bin --update --headers="
LE> FILE_HASH=EL4p2lSCrEoyjczfBEi7J6mVZLZvP4PBgwyxn5t1/WI=
IL> FILE_SIZE=657924722
> METADATA_HASH=dLph3Mh2Rh2qEU3qdh25vJg3Q+LbXMT1kkVCm17mQeQ=
> METADATA_SIZE=50204"
可以通过log查看升级进度
logcat -s update_engine
升级完成后重启设备
升级前属性
CLMBR:/ # getprop | grep slot_suffix
ro.boot.slot_suffix\]: \[_a
CLMBR:/ # reboot
升级后属性
CLMBR:/ # getprop | grep slot
cache_key.telephony.get_slot_index\]: \[9213247475931933284
ro.boot.slot\]: \[b
ro.boot.slot_suffix\]: \[_b
ro.vendor.mtk_external_sim_only_slots\]: \[0
整个升级过程不需要进入到recovery,只需要升级完成后重启即可生效