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,只需要升级完成后重启即可生效