了解adb的基本原理

ADB就是Android调试桥的意思,很形象。但不知道是windows本身的原因还是windows乱七八糟软件太多,用USB调试手机时,经常连不上ADB,或者就出现offline,导致费时费力,焦头烂额。索性去把adb直接搞清楚。

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

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

ADB Client:注意这里的Client和Daemon不是一一对应的,Client比如Eclipse DDMS,Windows终端命令行,豌豆荚等。Client本质上就是Shell,用来发送命令给Server。发送命令时,首先检测PC上有没有启动Server,如果没有Server,则自动启动一个Server,然后将命令发送到Server,并不关心命令发送过去以后会怎样。

ADB Server:运行在PC上的后台程序,目的是检测USB接口何时连接或者移除设备。ADB Server维护着一个“已连接的设备的链表”,并且为每一个设备标记了一个状态:offline,bootloader,recovery或者online;Server一直在做一些循环和等待,以协调client和Server还有daemon之间的通信。offline说明Server发现了一个设备,但是不能成功连接到Daemon----这样最好重启一下手机。

ADB Daemon:运行在手机上的一个进程,作用是连接到adb server(通过usb或tcp-ip),并且为client提供一些服务,

Client和Server之间还是要通过TCP/IP通信的,Server侦听本机的5037端口,Client试图去连接这个端口。

我们看到,在没有client的时候,server进程孤独的侦听着5037口

在有client的时候,client和server建立了连接。

盗网图一用,一张图胜过千言万语:

网上一位兄弟的流程图画的也很好:

http://blog.csdn.net/xing1716263268/article/details/8998192

adb的代码放在android的system\core\adb中

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ITCloud的专栏

Ceph 集群整体迁移方案

场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器...

5985
来自专栏FreeBuf

Splunk+蜜罐+防火墙=简易WAF

*本文原创作者:RipZ,本文属FreeBuf原创奖励计划,未经许可禁止转载 ? 每天都会有大量的公网恶意扫描和攻击行为,在企业安全建设中,可以利用大数据来实时...

1996
来自专栏杨建荣的学习笔记

半自动化搭建Data Guard的想法和实践(一) (r9笔记第74天)

一直以来搭建Data Guard是一件看起来还蛮有含量的工作,因为这其中涉及的工作比较琐碎,比较细,况且手工搭建起来都会碰到各种各样的问题,如果中途碰到...

3346
来自专栏大魏分享(微信公众号:david-share)

Openshift3.9高可用部署考虑点1

一个典型的OCP高可用架构是:master至少应为三个,且为奇数个(上面有etcd);

1064
来自专栏腾讯技术工程官方号的专栏

Ceph 集群整体迁移方案

本文就介绍了一种实现业务不中断的数据迁移方案,并已经在多个生产环境执行。

49912
来自专栏ThoughtWorks

如果有10000台机器,你想怎么玩?(一)概述 | TW洞见

今日洞见 文章作者来自ThoughtWorks:高清华。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个...

2646
来自专栏安恒网络空间安全讲武堂

【译】使用Apache的mod重写来保护你的C2 Empire

背景 伴随着维基红色团队基础架构(Red Team Infrastructure Wiki)的发布,今年圣诞节早早来临。 它在Jeff Dimmock和Stev...

1885
来自专栏分布式系统进阶

记一次Kafka集群的故障恢复Kafka源码分析-汇总

743
来自专栏杨建荣的学习笔记

远程协助解决异常宕库的问题(r11笔记第75天)

昨天帮助一个网友处理了一个数据库异常宕机的问题,简单记录一下。 说到这个问题,也是一位网友给我发邮件说有一个数据库环境,会突然出现宕机的情况,想让我帮忙...

3324
来自专栏小狼的世界

HP-UX培训学习笔记

HP-UX操作系统全称为Hewlett Packard UniX,是惠普服务器上所有的操作系统。其发源自 AT & T SRV4系统,可以支持HP的PA-RIS...

512

扫描关注云+社区