一、what is adb?
adb全称Android Debug Bridge ,就是起到调试桥的作用。通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具。adb通过监听Socket TCP 5554等端口让IDE和Qemu通讯。默认情况下当我们运行Eclipse时adb进程就会自动运行。
adb是一个C/S模式的程序,由三个部分组成:a client,a server and a daemon。其中client和server运行在的development machine上,daemon运行在emulator或设备上。
adb一般位于<sdk>/platform-tools/目录下,其中<sdk>是android sdk的安装目录。
二、HOWTO
可以在命令行输入adb命令,用法如下:
adb [-d|-e|-s <serialNumber>] <command>
其中serialNumber用来指定模拟器或设备。
1、查看emulator或设备
usage: adb devices
输出格式:[serialNumber] [state]
eg:
$ adb devices
List of devices attached
emulator-5554 device
emulator-5556 device
emulator-5558 device
2、对指定的emulator或设备上运行命令
当机器上同时运行有多个emulator或设备时,我们必须在运行adb命令时指定目标设备。可以通过-s选项来指定目标。
usage: adb -s <serialNumber> <command>
eg:
adb -s emulator-5556 install helloWorld.apk
3、安装与卸载应用
可以通过install命令来从development computer安装一个应用到emulator/device上。
usage: adb install <path_of_apk>
通过uninstall命令可以卸载已经安装的软件。
usage: adb uninstall name-of-app-package
其中name-of-app-package是/data/data目录下的安装包。
4、发布端口
可以设置任意的端口号,做为主机向模拟器或设备的请求端口。
usage: adb forward tcp:6100 tcp:7100
5、复制文件
可以复制本地文件(或目录)到emulator/device或从emulator/device复制文件(或目录)到本地。
computer->emulator/device: adb push <local> <remote>
emulator/device->computer: adb pull <remote> <local>
eg:
adb push foo.txt /sdcard/foo.txt