一: 进入shell命令界面

adb shell

二:创建目录/cache/recovery

mkdir /cache/recovery
如果系统中已有此目录,则会提示已存在。
Android源码分析(十六)----adb shell 命令进行OTA升级-LMLPHP

三: 修改文件夹权限

chmod -R 777 /cache/recovery
Android源码分析(十六)----adb shell 命令进行OTA升级-LMLPHP

四: 把ota文件路径写入/cache/recovery/command文件中

echo "--update_package=系统ota升级包文件路径 " > /cache/recovery/command
如我的OTA升级包文件路径:/data/update.zip
执行命令:
echo "--update_package=/data/update.zip" > /cache/recovery/command

五: 重启进入recovery

reboot recovery
或者:
setprop ctl.start pre-recovery

六:OTA脚本文件制作ota.sh

##############################################
# ota update
# ljx

!/system/bin/sh

echo "ota update: /data/update.zip"

mkdir /cache/recovery
chmod -R 777 /cache/recovery
echo "--update_package=/data/update.zip" > /cache/recovery/command
sync
reboot recovery

七:OTA批处理文件制作

@echo off
color 0a

adb root
adb wait-for-device
adb remount
adb wait-for-device

adb push -p update.zip /data/

adb shell sync
adb shell ota.sh
pause


喜欢源码分析系列可参考其他文章:
Android源码分析(一)-----如何快速掌握Android编译文件
Android源码分析(二)-----如何编译修改后的framework资源文件
Android源码分析(三)-----系统框架设计思想
Android源码分析(四)-----Android源码编译及刷机步骤
Android源码分析(五)-----如何从架构师的角度去设计Framework框架

04-17 16:40