adb 全称 Android Debug Bridge(调试桥)。
adb是一个多用途工具,用来管理模拟器或设备。
adb是C/S模式的程序,它包含三个组件:client,server,deamon。
1,Client是运行在我们自己的电脑上。可以通过adb命令来启动Client。其他的android工具,如ADT插件和DDMS也可以创建client。
2,Server作为后台程序也是运行在我们自己的电脑上。它的作用是负责Client与Deamon之间的通信。
3,Deamon也是作为后太程序运行的,不过是运行在模拟器实例或设备实例。
1,Server端启动绑定的是本机的5037端口。Client端用5037与服务器端对话。
2,任何Deamon都会取5555到5585之间两个连续的端口,其中奇数端口是负责与adb链接,偶数端口是负责与控制台链接。服务器端通过扫描5555到5585之间的奇数端口来寻找模拟器或设备实例并与找到的建立链接。
1,adb start-server 启动adb服务器。
2,adb kill-server 终止adb服务器。
3,在linux系统下,有时候会涉及到权限问题而需要以root用户来运行adb服务器。
1,有时候需要确定当前有那些可用的设备或模拟器,可使用命令:adb devices 。
例如:
~$ sudo /opt/android/android-sdk/tools/adb devices
List of devices attachedemulator-5554 deviceHT95LKF00945 device这里就列出了两个设备,第一个是模拟器,第二个是手机。
注意:这里是用root用户来启动adb服务器和执行adb命令,不然就会出现“no permissions”
2,如果有多个设备在运行的话,发送命令时必须用上-s,-e或-d这几个参数指定目标设备。
adb -e 发送命令到模拟器。
adb -d 发送命令到到USB设备,比如手机。
adb -s 指定一个目标。adb -s <serialNumber> <command>install <path-to-apk>
例如:adb -s emulator-5554 install helloWorld.apk
adb shell 或 adb shell [<shellCommand>]
后者在执行完命令后会退出,两个命令的区别一测试便知了。
adb install <path-to-apk>
adb pull <remote> <local> 从设备上下载文件
adb push <local> <remote> 上传文件到设备
help 查看adb所支持的所有命令
version 查看adb的版本序列号
logcat 打印日志到屏幕
bugreport 打印dumpsys,dumpstate和logcat数据到屏幕
jdwp 查看指定的设施的可用的JDWP信息.
forward forward <local> <remote>
参考这篇文章:http://blog.chinaunix.net/u1/38994/showart_1912868.html
get-serialno 查看adb实例的序列号.
get-state 查看模拟器/设施的当前状态.
ppp 通过use设备运行PPP
wait-for-device 如果设备不联机就不让执行。
转自:http://droidke.com/2010/04/01/android-adb.html