OTA升级之ADB方式
📌 注:该文档方式为可 Root 的版本(2023-08-18 生效)。
非 ROOT 方式见 OTA升级之非root下的方式(主线 2024-12-12 生效,XCD-E4U3 2024-12-20 生效;仅支持有水印版本)。
操作命令
自行下包
- 如果是全量整包,下好
watt_full_images.zip - 如果想升级差分包:
- 单升,直接使用对应的
xxx_update.zip - soc 差分和 hardware 一起,需要将对应差分
xxx_update.zip和hardware.zip组合压缩成整包,压缩前将xxx_update.zip改名为soc.zip,整包名随意,可以和全量整包区分,例如xxx_watt_full_images.zip
- 单升,直接使用对应的
创建升级文件夹
adb root
adb shell mkdir /data/data/com.android.car.systemupdater/cache/update/推包
adb push xxx.zip /data/data/com.android.car.systemupdater/cache/update/
# xxx.zip 就是上述 2.1 中准备的压缩包名字启动安装
主线 or 可Root
adb shell am start --activity-single-top -a com.android.car.systemupdate.ADB_UPDATE --es update_file_name "xxx.zip"
# xxx.zip 就是上述 2.1 中准备的压缩包名字非交样版本(有水印)不能Root
详见 OTA升级之非root下的方式。
无水印版本不支持
E4U2 & MIUI1.1 Release版本(已失效)
[附件: application/vnd.android.package-archive (token=PXhKbXq18oq8rxxCCj7c1hyVnkc)]
adb unroot
# adb-transfer-release-signed.apk 为上面附件 apk,脚本操作可每次 install 此 apk
adb install adb-transfer-release-signed.apk
adb shell am start --activity-single-top -a android.intent.action.ADB.TRANSFER --es update_action "com.android.car.systemupdate.ADB_UPDATE" --es update_file_name "xxx.zip"
# xxx.zip 就是上述 2.1 中准备的压缩包名字等待安装完成
安装成功则会自动重启,失败则会有对应弹窗,和现有的失败一样处理。
升级结果判定
2.3 步骤后保存当前 soc 版本信息,十分钟后再次获取版本信息,进行比较,如一样则升级失败,保存日志 adb bugreport 找 OTA 研发。
# 获取 inc 版本 code
getprop | grep ro.build.mi.version.inc
# [ro.build.mi.version.inc]: [360]
# 获取 soc 当前分区
adb shell getprop | grep ro.boot.slot_suffix
# [ro.boot.slot_suffix]: [_a]详见 OTA升级之非root下的方式。