Imported from yaap/system_update_engine (
AGENTS.md). Install upstream withnpx skills add yaap/system_update_engine. Copyright stays with the author.
Building and Running
m update_engine_nonetdto build- run
scripts/reload_update_engine.shto stop currently running update_engine and run locally built update_engine - If
scripts/reload_update_engine.shfails with .so errors, runadb push $OUT/system/lib64/*.so /datato push local .so to device. python3 scripts/update_device.py <path to ota.zip> --no-postinstallto install OTA, look foronPayloadApplicationComplete(ErrorCode::kSuccess (0))as an indicator for successful OTA install. If--no-slot-switchis passed toupdate_device.py, look foronPayloadApplicationComplete(ErrorCode::kUpdatedButNotActive (52))instead.- On failed OTA install, use logcat
adb logcat -d -s update_engineto inspect update_engine logs. logcat output tend to be long, so either pipe to a file or usetailcommand to check the last few lines. - Cleanup any install OTA with
adb shell update_engine_client --reset_status
