android调试工具adb
时间:2010-07-15 来源:myjiushizhe
adb 全称 Android Debug Bridge(调试桥)。
一,adb的作用
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之间的奇数端口来寻找模拟器或设备实例并与找到的建立链接。 四,启动和终止adb服务器
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 attached
emulator-5554 device
HT95LKF00945 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 六,执行shell命令
adb shell 或 adb shell [<shellCommand>] 后者在执行完命令后会退出,两个命令的区别一测试便知了。 七,安装apk程序
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> get-serialno 查看adb实例的序列号. get-state 查看模拟器/设施的当前状态. ppp 通过use设备运行PPP wait-for-device 如果设备不联机就不让执行。
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之间的奇数端口来寻找模拟器或设备实例并与找到的建立链接。 四,启动和终止adb服务器
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 attached
emulator-5554 device
HT95LKF00945 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 六,执行shell命令
adb shell 或 adb shell [<shellCommand>] 后者在执行完命令后会退出,两个命令的区别一测试便知了。 七,安装apk程序
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> get-serialno 查看adb实例的序列号. get-state 查看模拟器/设施的当前状态. ppp 通过use设备运行PPP wait-for-device 如果设备不联机就不让执行。
相关阅读 更多 +