当前位置: 首页 > news >正文

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.cpppackages\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中的相关源码来进行分析相关的原理
然后来实现相关的功能

http://www.lryc.cn/news/247208.html

相关文章:

  • 使用Jmeter进行http接口测试
  • Linux内存管理(六十三):ION 内存管理器——cma heap
  • 条形码格式
  • Java通过Redis进行延时队列,定时发布消息(根据用户选择时间进行发布)
  • 从 0 搭建 Vite 3 + Vue 3 Js版 前端工程化项目
  • 【论文阅读笔记】Smil: Multimodal learning with severely missing modality
  • 在Windows系统上安装git-Git的过程记录
  • qt QString常用方法
  • 吴恩达《机器学习》10-6-10-7:学习曲线、决定下一步做什么
  • 分子骨架跃迁工具-DiffHopp 评测
  • MySQL双主双从数据库集群搭建
  • vue实现动态路由菜单!!!
  • 企业如何选择安全又快速的大文件传输平台
  • springboot 自定义starter逐级抽取
  • GAN:ImprovedGAN-训练GAN的改进策略
  • docker限制容器内存的方法
  • 阿里达摩院裁撤量子实验室
  • mysql数据库基础知识,Mysql的索引和主键区别,数据库的事务的基本特性
  • 解决Vscode使用git提交卡住的问题
  • Linux C语言 32-网络编程之UDP例程
  • ubuntu22.04系统下载程序和依赖,并拷贝到指定路径下
  • Kafka KRaft 版本集群部署详细教程(附配置文件详细解释)
  • 在龙蜥 anolis os 23 上 源码安装 PostgreSQL 16.1
  • UDP的不可靠性可以用来做什么
  • vue3还用this吗?getCurrentInstance获取当前组件实例
  • 高校学生宿舍公寓报修维修生活管理系统 微信小程序b2529
  • C++类与对象(7)—友元、内部类、匿名对象、拷贝对象时编译器优化
  • Django回顾2
  • <JavaDS> 二叉树遍历各种遍历方式的代码实现 -- 前序、中序、后序、层序遍历
  • 如何控制Spring工厂创建对象的次数?详解Spring对象的声明周期!