1.前言
在10.0的系统rom定制化开发中,系统中recovery模式功能也是很重要的一部分,而在原生系统中,对于debug模式的产品,可以通过电源键和音量+键进入recovery模式,
但是在user模式下的产品,对于通过这种方式,进入recovery模式就受限制了,防止用户无操作为了产品安全等,不让进入recovery模式,某些特殊产品的需要,要求在
user模式下的产品也需要进入recovery ,所以就需要分析下系统进入recovery模式的流程来分析功能实现
2.user模式下解除系统进入recovery功能的限制的核心类
bootable/recovery/recovery.cpp
bootable/recovery/recovery.h
3.user模式下解除系统进入recovery功能的限制的核心功能分析和实现
首选需要分析下系统进入recovery模式的相关执行流程,然后来分析相关代码,当我们通过按键或者命令进入recovery模式,实质是系统在加载完kernel后
在加载recovery.img,kernel起来后执行的第一个进程就 是init,此进程会读入init.rc启动相应的服务。在recovery模式中,启动的服务是执行recovery可执行文件,此文件是
bootable/recovery/recovery.cpp文件生成,我们就从recovery.cpp文件开始分析相关的recovery模式执行流程,
Device::BuiltinAction start_recovery(Device* device, const std::vector<std::string&g