Android Debug Bridge(官网上的简介)

  原文链接: http://developer.android.com/tools/help/adb.html#

  Android Debug Bridge(简称adb)是一个多功能的命令行工具,它可以让你连接到一个android模拟器或都一个真实的android设备,是一个客户端-服务器模式的应用程序,包含以下三个组件:

  1.一个运行在你的开发机器上面的客户端,你可以用shell来发送一个adb命令,另外的Android工具,如ADT插件和DDMS也会创建一个adb客户端

  2.一个以背景进程运行在你的机器上的服务器端,服务器端管理客户端与运行在设备上的adb守护程序之间的连接

  3.一个以背景进程运行在设备实例上的守护程序

  你可以在/platform-tools/.找到adb工具。

  当你开始一个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 [-d|-e|-s ]
  如果只连接了一个设备,adb命令会默认地发送到这个设备。但是如果有多个设备在运行,你就需要用-d-e或-s选项来指定一个目标设备来执行这个adb命令。

  命令行:

  下面的列表是所有的可用adb命令,并且列有解释和用法实例。
 (注:鉴于csdn的表格太简单编辑不了adb官网的列表,所以我决定一段一段地来写)

  查询设备实例:

  在发送adb命令之前,知道有哪些设备实例连接在adb服务器端上面是很有用的,你可以用device命令来生成一个已连接了的设备列表:
 adb device
  做为回应,adb回列出所有实例的状态信息:
  1.序列号:一个adb创建的唯一标识设备实例的字符串,用设备的控制台端口数字来产生,序列号字符串的格式是-,例如:
emulator-5554。
  2.状态:实例的连接状态可能有如下几种:
    a).offline-实例没有连接到adb或者实例没有反应
    b).device-实例已经连接到了adb服务器端,(注意:这个状态并不说明这个android系统是完全引入并且可以操作的,因为有可能这个设备在连接到adb到还在导入中。然后当导入完成以后,这就是一个普通的设备实例操作)
    c).no device-没有设备连接到adb
  这里一个输入device命令后输出的例子:
  adb devices
  list of device attached
  emulator-5554 device
  emulator-5556 device
  emulator-5558 device

 在一个特定设备上直接执行adb命令:

  如果多个设备实例在运行,那你就必须在发送adb命令前指定一个目标实例,你可以用-s选项加到命令行中,用法如下:
  adb -s
  好像上面显示的,你用adb赋给的序列码指定一个目标实例,你可以用devices命令去得到序列号,下面是一个使用例子:
  adb -s emulator-5556 install helloWorld.apk
  (注意:如果你发送命令前没有指定一个特定的设备实例,但是却有多个设备是可用的,这时adb就会返回一个错误信息)
  如果你有多个设备是可用的(硬件或模拟器),但是只有一个模拟器,你可以简单地用-e选项去发送命令到模拟器。同样地,如果有多个设备实例,但是只有一个是硬件,那么你可以用-d选项来发送命令到硬件设备。

  安装应用程序:

  你可以用adb从你的开发电脑中拷贝一个应用程序,并且安装到设备实例上面去。为了这样做,你要用到install命令。但是要使用这个命令,你必须得指定的你想安装的apk的具体路径。
  adb install

  从设备实例中拷贝文件/拷贝文件到设备实例中去:

  你可以用adb命令的pull拷贝一个文件到设备实例中去,push从设备实例中拷贝一个文件到电脑里面,不像install命令只拷贝一个apk文件到一个指定位置,pull和push命令可以让你拷贝任意的文件或文件夹到任意的设备实例中的位置。
  为了从设备实例中拷贝一个文件或文件夹,你应该像下面一样用:
  adb pull
  如果你要拷贝一个文件或文件夹到一个设备实例中去,你应该像下面一样做:
  adb push
  在这个命令里面,是一个具体的文件或文件夹位置,例如:
  adb push foo.txt /sdcard/foo.txt

  发送shell命令:

  因为shell命令牵涉到unix,而这个我一点都不懂,所以下面的不翻译了,打完,收工!

你可能感兴趣的:(adroid,debug,bridge)