adb
adb简介:
ADB (Android Debug Bridge),通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
adb命令:
Category (类别) | Command (指令) | Description (描述) | Comments (注释) |
---|---|---|---|
Options (选择) | -d | 仅仅通过USB接口来管理abd | 如果不只是用USB接口来管理则返回错误 |
-e | 仅仅通过模拟器实例来管理adb | 如果不是仅仅通过模拟器实例管理则返回错误 | |
-s | 通过模拟器/设备的允许的命令号码来发送命令来管理adb (比如: “emulator-5556”) | 如果没有指定号码,则会报错 | |
General (常规) | devices | 查看所有连接模拟器/设备的设施的清单 | |
help | 查看adb所支持的所有命令 | ||
version | 查看adb的版本序列号 | ||
Debug | logcat | 将日志数据输出到屏幕上 | |
bugreport | 查看bug的报告,如dumpsys ,dumpstate ,和logcat 信息 | ||
jdwp | 查看指定的设施的可用的JDWP信息 | 可以用 forward jdwp:端口映射信息来连接指定的JDWP进程.例如: adb forward tcp:8000 jdwp:472 ; jdb -attach localhost:8000 | |
Data | install | 安装Android为(可以模拟器/设施的数据文件.apk指定完整的路径) | |
pull | 将指定的文件从模拟器/设施的拷贝到电脑上 | ||
push | 将指定的文件从电脑上拷贝到模拟器/设备中 | ||
Ports and Networking (端口和网络) | forward | 用本地指定的端口通过socket方法远程连接模拟器/设施 | 端口需要描述下列信息:tcp: local: dev: jdwp: |
ppp [parm]… | 通过USB运行ppp: — the tty for PPP stream. For exampledev:/dev/omap_csmi_ttyl.[parm]… &mdash zero or more PPP/PPPD options, such asdefaultroute , local ,notty , etc.需要提醒你的不能自动启动PDP连接 | ||
Scripting (脚本) | get-serialno | 查看adb实例的序列号. | |
get-state | 查看模拟器/设施的当前状态. | ||
wait-for-device | 如果设备不联机就不让执行,–也就是实例状态是 device 时 | ||
Server | start-server | 选择服务是否启动adb服务进程 | |
kill-server | 终止adb服务进程 | ||
Shell | shell | 通过远程shell命令来控制模拟器/设备实例 | |
shell [] | 连接模拟器/设施执行shell命令,执行完毕后退出远程shell端 |
Logcat
logcat命令:
Option | Description |
---|---|
-b | 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。 |
-c | 清楚屏幕上的日志 |
-d | 输出日志到屏幕上 |
-f | 指定输出日志信息的 ,默认是stdout |
-g | 输出指定的日志缓冲区,输出后退出 |
-n | 设置日志的最大数目 .,默认值是4,需要和 -r 选项一起使用 |
-r | 每 时输出日志,默认值为16,需要和-f 选项一起使用 |
-s | 设置默认的过滤级别为silent |
-v | 置日志输入格式,默认的是brief 格式 |
Logcat常用命令:
adb logcat -c (清除所有以前的日志)
adb logcat -d (这个命令是在时间上倒过来用的 就是你先操作 然后敲这个命令 打出来的log就是你刚操作那段时间的log 而且自动退出log模式)
adb logcat -s “XXX”(XXX为要进行筛选的条件)
adb logcat *:e (打印Error崩溃日志)
adb logcat *:e >d:\log.txt(将错误日志打印到D盘的log.tex文本文档中)
adb logcat -v time -s “Name” >d:\log.txt (将日志中带有“Name”的内容,按时间顺序,打印到log.txt)
adb logcat -v time >d:\log.tex. (保持向log.txt打印日志)
Ctrl + c (中断打印)
参考资料:Android平台的崩溃捕获机制及实现