浅谈adb(android debug bridge)的使用

转自:https://blog.csdn.net/qq_40301016/article/details/81205413

一、什么是adb

全称是:Android Debug Bridge,即安卓调试桥,是安卓sdk的一个工具;

adb的B/S结构

adb工具是一个客户端-服务器的应用程序,包含三个方面: 
1. client(客户端):运行在PC上。其实就是shell,用来发送命令给Server。发送命令时,首先检测PC上有没有启动Server,如果后台没有Server,则自动启动一个Server,然后将命令发送到Server,并不关心命令发送过去以后会怎样。 
2. daemon(守护进程):一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)。 
3. server(服务器端):在PC机上作为后台进程运行的服务器。该服务器负责管理客户端与运行模拟器或设备上的adb守护程序(daemon)之间的通信。 
ADB Server检测USB接口何时连接或者移除设备,管理着adb client和adb daemon的通信。它维护着一个“已连接的设备的链表”,并且为每一个设备标记了一个状态:offline,bootloader,recovery或者online;Server一直在做一些循环和等待,以协调client和Server还有daemon之间的通信。

三者之间的通信

Daemon<—>Server<—>Client

当启动adb客户端时,客户端首先检测adb服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的TCP5037端口,并且监听从adb客户端发来的命令——所有的adb客户端都使用5037端口与adb服务端通信。

接下来服务端与所有正在运行的模拟器或手机连接。它通过扫描5555-5585之间的奇数号端口来搜索模拟器或手机,一旦发现adb守护进程,就通过此端口进行连接。需要说明的是,每一个模拟器或手机使用一对有序的端口,偶数号端口用于控制台连接,奇数号端口用于adb连接,例如:

       Emulator 1, console: 5554
       Emulator 1, adb: 5555
       Emulator 2, console: 5556
       Emulator 2, adb: 5557 ...

       即如果模拟器与adb在5555端口连接,则其与控制台的连接就是5554端口。

       当服务端与所有的模拟器建立连接之后,就可以使用adb命令来控制或者访问了。因为服务端管理着连接并且可以接收到从多个adb客户端的命令,所以可以从任何一个客户端或脚本来控制任何模拟器或手机设备。

       如果是在Eclipse并且安装了ADT插件的环境下开发Android应用程序,就不需要从命令行使用adb了,ADT插件已经提供了透明的集成。不过,还是可以在调试等需要的时候直接使用adb。

二、如何使用ADB

上文已经提到,adb是sdk的一个工具,所以我们首先要下载adb或者安装sdk后找到adb工具。

因为大多数人使用adb是用于android的debug调试,我们以android studio为例:

首先我们要找到sdk的下载位置:

1、打开 android studio 

2、file ——>setting

3、按图中1的目录找到android sdk

4、复制图中2位置的路径,打开此路径中的platform-tools文件夹

 

5.我们可以看到adb.exe,复制此时的路径,我们开始配置环境变量:

6、右键计算机——>属性——>高级系统设置——>环境变量——>选中path——>编辑

7、新建——>然后把路径复制进去,确定

8、打开命令行窗口,输入adb version如果显示版本号就说明配置环境变量完成

到此adb的环境变量就配置好了

下面我尝试使用adb命令

在手机上:设置——>更多设置——>开发者选项——>打开开发者选项和USB开关

手机数据线连接电脑

在电脑上打开命令行窗口输入adb命令即可使用了

adb命令大家可以参考下面链接文章

adb命令大全
————————————————
版权声明:本文为CSDN博主「和而歌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40301016/article/details/81205413

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值