Android 12.0 禁用adb reboot recovery命令实现正常重启功能
1.前言
在12.0的系统rom定制化开发中,在定制recovery模块的时候,由于产品开发需要要求禁用recovery的相关功能,比如在通过adb命令的
adb reboot recovery的方式进入recovery也需要实现禁用,所以就需要了解相关进入recovery流程来禁用该功能
2.禁用adb reboot recovery命令实现正常重启功能的核心类
packages\modules\adb\daemon\services.cpp
packages\modules\adb\daemon\reboot_service.cpp
3.禁用adb reboot recovery命令实现正常重启功能的核心功能分析和实现
关于adb在system模块中的核心功能
(1)adb的本质,就是socket的通信,通过secket传送数据及文件,然后通过在设备中监听相关的命令来执行相关的功能
(2)adb传送是以每个固定格式的包发送的数据,通过在设备端接收相关的数据,执行相关的指令
在12.0的产品中,在通过adb reboot recovery 进入 recovery 模式后正常可以进行recovery的相关操作,而
adb 是pc端工具,adbd是服务端,运行在手机 adbd 读取 socket 解析由 adb 传过来的命令串,解析相关的
命令执行相关功能,所以在pc端输入adb 相关命令 就会在packages\modules\adb 模块解析相关命令
所以说在services.cpp中来作为服务端来执行相关功能,需要从services.cpp中的相关源码来进行分析相关的原理
然后来实现相关的功能