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

ADB简介

一、什么是ADB

        ADB,全称Android Debug Bridge,即安卓调试桥接,是Android sdk中不可或缺的工具,主要用于管理模拟器或真实设备的状态。

        ADB分为三个部分:PC上的adb client,adb server和手机(也可能是PC上的模拟器)上的adb daemon。

这是一个多多连接的设计。即一台PC可以连接多个手机,一台手机也可以连接多个PC。

  • client(运行在pc端的adb client):

命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的adb server建立连接后,adb client就可以向ADB servcer发送服务请求;

  • Server (运行在pc端的adb server):

ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上;

  • demon (运行在设备端的常驻进程adb demon (adbd)):

程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务;

daemon程序意思守护进程。通常在系统后台长时间运行,由于没有控制终端而无法与前台交互,daemon程序一般作为系统服务使用。daemon是静态的,就是某一程序,daemon运行后会提供某种服务,服务是动态的,是程序运行产生的进程。通常说的Linux守护进程就是指daemon或者服务。daemon的名称通常为相应的服务后加上一个d。如cron服务的daemon为crond,http服务的daemon为httpd。

二、ADB的工作原理

        当启动adb客户端时,客户端会首先检查adb服务是否已在运行。若未运行,则会启动服务器进程,该进程会与本地的TCP端口5037进行绑定,并开始监听来自adb的指令。所有adb客户端都通过5037端口与adb服务器进行数据交换。在服务器与设备建立连接的过程中,它会扫描5555至5585之间的奇数号端口来查找模拟器,但请注意,这个范围仅提供前16个模拟器的使用。一旦服务器发现adb的守护进程(即adbd),便会与之建立连接,从而能够处理来自各种adb客户端的命令。

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

相关文章:

  • 全面了解机器语言之kmeans
  • UE5多人MOBA+GAS 41、制作一个飞弹,添加准心索敌
  • 【走进Docker的世界】Docker环境搭建
  • Java集合框架、Collection体系的单列集合
  • OpenStack热迁移一直处于迁移中怎么办
  • Dify 从入门到精通(第 26/100 篇):Dify 的知识图谱集成
  • 基于django的宠物用品购物商城的设计与实现
  • Java基础编程核心案例:从逻辑到应用
  • Python 的列表 list 和元组 tuple 有啥本质区别?啥时候用谁更合适?
  • 嵌入式第二十四课!!linux应用软件编程与文件操作!!!
  • Java开源代码源码研究:我的成长之路与实战心得分享
  • actuary notes[2]
  • 产品经理入门 - 产品解决方案(需求分析、 功能优先级划分、功能价值、用户体验)
  • 智慧社区--4
  • Spring之【详解AOP】
  • Linux入门指南:26个基础命令全解析
  • 数字图像处理3
  • Docker-04:CGroups资源控制组
  • 【代码随想录day 15】 力扣 404. 左叶子之和
  • 部署一个免费开源的博客系统
  • OpenAI正式发布GPT-5:迈向AGI的关键一步
  • 【走进Docker的世界】深入理解Docker网络:从模式选择到实战配置
  • TF-IDF提取关键词(附实战案例)
  • 【RocketMQ 生产者和消费者】- ConsumeMessageConcurrentlyService 并发消费消息
  • 【嵌入式硬件实例】-555定时器PWM调光电路
  • 智慧社区(十一)——Spring Boot 实现 Excel 导出、上传与数据导入全流程详解
  • 计算机网络:路由聚合的注意事项有哪些?
  • RabbitMQ面试精讲 Day 18:内存与磁盘优化配置
  • ROS2 QT 多线程功能包设计
  • 使用 Docker-Compose 部署 Redis 三主三从集群(含 Exporter 监控)