设为首页 加入收藏

TOP

Android Recovery 代码分析
2014-11-24 11:39:35 来源: 作者: 【 】 浏览:0
Tags:Android Recovery 代码 分析

1、调用main函数


在gingerbread/bootable/recovery/recovery.c最下面有个main(),这是recovery应用的主入口,当编译recovery的时候,会生成一个名为recovery的可执行文件,我这边是放在out/目录下recovery/文件系统的/sbin目录下,调用recovery可执行文件时会传入参数,这些参数就是main函数的参数,如下




从这里开始了recovery...





2、获取commond





3、获取默认升级固件路径和名称


int property_get(const char *key, char *value, const char *default_value);


包括U盘、SD卡和Flash升级





4、解析命令


int getopt_long(int, char * const *, const char *, const struct option *, int *);


如 case 's': send_intent = optarg; break;


optarg是取命令中等号后面字符串



注册一些命令,register_update_commands函数是注册在update-script和recovery-script使用的升级命令


初始化一个变量,int status = INSTALL_SUCCESS;这个变量是用来标识升级是否成功,在清除misc分区命令时候作为一个判断依据




5、升级、格式化、还原


接下来,有三种需求,一是factorytest;二是update、recover;三是wipe data


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android device 注册、添加、管理 下一篇Linux多线程编程之Java售票程序的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)