SDK文档 http://developer.android.com/tools/help/adb.html
源码 /system/core/adb
adb各模块定义:
adb 两个物理文件 adb(client) 以及adbd(server)
当中的android.mk文件管理了此两模块的生成
adb(clent & server ):PC端
adbd(daemon):手机端
ddms
jdwp 手机端,在adbd上面
system/core/rootdir/init.rc中搜索adb可以看到相应的启动定义
adbd启动流程:
system/core/adb/adb.c中的main函数可以看到创建socket的过程,一则通过usb与电脑通信,另外通过jwdp和davim通信
请查看搜索init_transport_registration函数
adb server(电脑端)
1.管理连接pc端的的设备等,提供本地adb客户端与jdwp的沟通
2.数据拷贝
jdwp(java debug wire protocol)
debug状态下每个java虚拟机均存在,直到外界连接。代码位置
dalvik/vm/jdwp
frameworks/base/core/jni
adb常用命令
adb shell dumpsys activity
adb shell dumpsys meminfo 当前系统内存情况
adb shell cat /proc/meminfo
adb shell dumpsys procstats --hours 3
(android4.4)