system/update_engine/scripts/update_device.py --file full-ota-xxx.zip
执行命令以后,终端打印信息,Android系统中没有任何提示信息
python system/update_engine/scripts/update_device.py out/target/product/dl36/dl36-ota-1640654433.zip
INFO:root:Running: adb shell su 0 update_engine_client --help
INFO:root:Running: adb reverse tcp:1234 tcp:39133
1234
INFO:root:Running: adb shell su 0 update_engine_client --update --follow --payload=http://127.0.0.1:1234/payload --offset=1808 --size=1345770359 --headers="FILE_HASH=clGjz1kJ/Toxcax0Ap8d2cCVupI1xoBBXgqOzNK+IeQ=
FILE_SIZE=1345770359
METADATA_HASH=EG0gbI1eQ5PCQhcOovjiP8zK1H14T6CL8znOwAnQRnE=
METADATA_SIZE=98416
USER_AGENT=Dalvik (something, something)
NETWORK_ID=0
"
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_IDLE (0), 0)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_UPDATE_AVAILABLE (2), 0)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_CLEANUP_PREVIOUS_UPDATE (11), 0)
127.0.0.1 - - [28/Dec/2021 15:16:24] "GET /payload HTTP/1.1" 206 -
INFO:root:Serving request for /payload from out/target/product/dl36/dl36-ota-1640654433.zip [1808, 1345772167) length: 1345770359
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 1.33515e-05)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 9.8739e-05)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 0.0101061)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 0.0201135)
... ...
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 0.960808)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 0.970815)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 0.980823)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_DOWNLOADING (3), 0.99083)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.01)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.02)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.04)
... ...
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.95)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.96)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.97)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.98)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 0.99)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 1)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 1)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_FINALIZING (5), 1)
[INFO:update_engine_client_android.cc(92)] onStatusUpdate(UPDATE_STATUS_UPDATED_NEED_REBOOT (6), 0)
[INFO:update_engine_client_android.cc(100)] onPayloadApplicationComplete(ErrorCode::kSuccess (0))
INFO:root:Running: adb reverse --remove tcp:1234
INFO:root:Server Terminated
重启前
adb shell getprop | grep slot_suffix
undefined
手动重启以后,通知栏会出现"Finishing system update..."字样
adb shell getprop | grep slot_suffix
undefined
系统成功由slot A切换到slot B
执行脚本出现如下错误:
ImportError: No module named google.protobu
update_device.py以及相关脚本都是使用python2编写,如果使用python3需要大量改动。需要安装3.17.3这个是python2支持的protobuf最后一个版本,不然会出现各种编译的问题。
sudo pip install protobuf==3.17.3
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。