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

三: 修改文件夹权限
chmod -R 777 /cache/recovery

四: 把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框架
Android源码分析(十六)----adb shell 命令进行OTA升级的更多相关文章
- Android源码分析(六)-----蓝牙Bluetooth源码目录分析
一 :Bluetooth 的设置应用 packages\apps\Settings\src\com\android\settings\bluetooth* 蓝牙设置应用及设置参数,蓝牙状态,蓝牙设备等 ...
- ABP源码分析十六:DTO的设计
IDTO:空接口,用于标注Dto对象. ComboboxItemDto:用于combobox/list中Item的DTO NameValueDto<T>/NameValueDto:用于na ...
- jQuery 源码分析(十六) 事件系统模块 底层方法 详解
jQuery事件系统并没有将事件监听函数直接绑定到DOM元素上,而是基于数据缓存模块来管理监听函数的,事件模块代码有点多,我把它分为了三个部分:分底层方法.实例方法和便捷方法.ready事件来讲,好理 ...
- Vue.js 源码分析(十六) 指令篇 v-on指令详解
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码,例如: <!DOCTYPE html> <html lang="en"& ...
- [Abp 源码分析]十六、后台作业与后台工作者
0. 简介 在某些时候我们可能会需要执行后台任务,或者是执行一些周期性的任务.比如说可能每隔 1 个小时要清除某个临时文件夹内的数据,可能用户会要针对某一个用户群来群发一组短信.前面这些就是典型的应用 ...
- Android源码分析(九)-----如何修改Android系统默认时间
一 : 修改Android系统默认时间 源码路径:frameworks/base/services/java/com/android/server/SystemServer.java 主要变量EARL ...
- Android源码分析(八)-----系统启动流程&IPC简述
一 :系统启动流程图 从下往上依次启动linux kernel -->zygote-->SystemServer-->NativeService-->AndroidServic ...
- Android源码分析(七)-----如何解决java编译版本问题
一 : 问题描述 Your version is: java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1 ...
- Android源码分析(十五)----GPS冷启动实现原理分析
一:原理分析 主要sendExtraCommand方法中传递两个参数, 根据如下源码可以知道第一个参数传递delete_aiding_data,第二个参数传递null即可. @Override pub ...
随机推荐
- 201871010110-李华《面向对象程序设计(java)》第十四周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- python字符串的split replace strip
split replace strip是字符串中内置的三个函数,作用分别是分割 替换 去空格 0x01:split split(a,b):用指定的字符(a)分割字符串,可以限制分割的次数(b),返回一 ...
- 用python提取xml里面的链接源码
因群里朋友需要提取xml地图里面的链接,就写了这个程序. 代码: #coding=utf-8 import urllib import urllib.request import re url='ht ...
- datagrid editor动态的改变不同行修改列的editor属性
onBeforeEdit: function (row) { let options = $(this).treegrid('options'); options.tempeditor = optio ...
- 题解:[ZJOI2014]璀灿光华
原题链接 OJ 题号 洛谷 3342 loj 2203 bzoj 3619 题目描述 金先生有一个女朋友没名字.她勤劳勇敢.智慧善良.金先生很喜欢她.为此,金先生用\(a^3\)块\(1 \times ...
- C++使用OpenCV打印运行时间
代码 int64 tall = cv::getTickCount(); std::cout<< "time:" << (cv::getTickCount() ...
- 02-人脸识别-基于MTCNN,框选人脸区域-detect_face
(本系列随笔持续更新) 这部分代码是基于参考中的链接,修改后适用于TensorFlow1.6.0版本的代码.由于TensorFlow的频繁更新,所以不一定支持后续新或者就版本,特此说明. 程序的最初版 ...
- Spring Boot中以代码方式配置Tomcat
在Spring Boot2.0以上配置嵌入式Servlet容器时EmbeddedServletContainerCustomizer类不存在,经网络查询发现被WebServerFactoryCusto ...
- bdd框架之lettuce
安装 执行 :lettuce (需要在特定的文件夹下) 结果指定到文件中
- asp.net mvc移除X-AspNet-Version、X-AspNetMvc-Version、Server
asp.net mvc程序部署到IIS,,返回的HTTP头中包含Server, X-Powered-By, 和 X-AspNet-Version.X-AspNet-Version信息. 这些信息有时给 ...