adb的db是debug bridge而不是和gdb同样指debug,这意思是说adb不能像gdb那样能一步步调试代码,但能够启到一些相似调试的功能。linux
下面就针对这些功能进行介绍,本文根据官方文档“http://adbshell.com/commands”整理而成。android
这种烂大街的文章本不应再写了,但无耐每次本身用都得搜索筛选一藩,索性写下来权当就给本身看。shell
若是安装了android sdk那么在sdk的platform-tools文件夹下就已经有adb了(使用时有点问题,我选择直接去下了一个)。windows
若是没有安装android sdk,那么也能够直接下载adb,解压便可使用。为了方便建议将解压到的目录加入环境变量。spa
模拟器----直接启动模拟手机.net
真机----经过usb线把手机接到电脑debug
adb devices
第一列是设备序列号;其中“ip:port”组合的是模拟设备,“e6466a68”这种开头的是usb链接上来的真实手机。调试
若是只有一台设备,那么全部下面介绍的命令会自动在该设备上执行,若是有多个设备那么须要经过-s指定设备序列号否则会报“error: more than one device/emulator”(adb -s device_serial_number command形式)。code
为了方便,在介绍后续命令前我将关掉上图中序列号为192.168.225.101:5555的模拟设备。orm
adb install /path/to/apk.apk
安装时有些手机可能要在手机上点击确认进行安装,否则会拒绝安装致使安装失败(报错:INSTALL_FAILED_USER_RESTRICTED: Install canceled by user)。
若是报错“error: unknown host service”,那有多是360手机助手等占用了链接,经过任务管理器将其关闭便可。
adb shell pm list packages
此时会列出手机中全部已安装的转件包,为了快速找到本身想要的软件的包名,可使用grep/findstr等命令进行过滤。
卸载不能经过安装apk时的apk文件名进行卸卸,须要指定软件完整包名进行卸载,包名可经过3.4介绍的办法进行查找
adb uninstall package_name
adb shell pm path package_name
adb shell pm clear package_name
adb shell pwd
adb shell ls /
adb shell df -h
adb push /local/path/to/file/filename /phone/file/path/to/save
路径linux用斜框windows用反斜杠
adb pull /phone/path/to/file/filename /local/file/path/to/save
要执行诸如cd、rm、mkdir、touch、cp、mv等等命令,都使用如下格式便可;如要带参数和在shell中使用同样直接带后面便可
adb shell command parameters
固然也能够直接使用adb shell进入交互shell,不用每次都带abd shell头;退出使用exit。以下图所示:
不过有些命令使用adb shell形式和进入交互shell形式,输出是不同的,没有深究。
adb shell dumpsys system_parameter
参考: