adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。 借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作

  • 显示系统中全部Android平台:
 android list targets
  • 显示系统中全部AVD(模拟器):
    android list avd
  • 创建AVD(模拟器):
    android create avd --name 名称 --target 平台编号
  • 启动模拟器:
    emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
  • 删除AVD(模拟器):
    android delete avd --name 名称
  • 创建SDCard:
    mksdcard 1024M ~/名称.img
  • AVD(模拟器)所在位置:
    Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)
  • 启动DDMS:
    ddms
  • 显示当前运行的全部模拟器:
    adb devices
  • 对某一模拟器执行命令:
      adb -s 模拟器编号 命令
  • 安装应用程序:
      adb install -r 应用程序.apk
  • 获取模拟器中的文件:
      adb pull <remote> <local>
  • 向模拟器中写文件:
      adb push <local> <remote>
  • 进入模拟器的shell模式:
      adb shell
  • 启动SDK,文档,实例下载管理器:
      android
  • 缷载apk包:
      adb shell  
      cd data/app  
      rm apkexit  
      adb uninstall apk包的主包名  
      adb install -r apk
  • 查看adb命令帮助信息:
      adb help
  • 在命令行中查看LOG信息:
      adb logcat -s 标签名
  • adb shell后面跟的命令主要来自:
      源码\system\core\toolbox目录和源码\frameworks\base\cmds目录
  • 删除系统应用:
      adb remount (重新挂载系统分区,使系统分区重新可写)  
      adb shell  
      cd system/app  
      rm *.apk  
  • 获取管理员权限:
      adb root
  • 启动Activity:
      adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
  • 发布端口: 你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
   adb forward tcp:5555 tcp:8000
  • 复制文件:

    你可向一个设备或从一个设备中复制文件, 复制一个文件或目录到设备或模拟器上:

  adb push <source> <destination></destination></source> 
      如:adb push test.txt /tmp/test.txt 
 从设备或模拟器上复制一个文件或目录:
     adb pull <source> <destination></destination></source> 
     如:adb pull /addroid/lib/libwebcore.so .
  • 搜索模拟器/设备的实例:

    取得当前运行的模拟器/设备的实例的列表及每个实例的状态:

    adb devices
  • 查看bug报告:
adb bugreport 
  • 记录无线通讯日志:

    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

    adb shell 
    logcat -b radio
  • 获取设备的ID和序列号:
     adb get-product 
     adb get-serialno
  • 访问数据库SQLite3
     adb shell 
     sqlite3
  • 通过 IP 地址连接设备
adb connect <device-ip-address>
断开链接
adb disconnect <device-ip-address>
  • 查看应用列表 查看应用列表的基本命令格式是
adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
  • 清除应用数据与缓存命令:
adb shell pm clear <packagename>
  • 查看前台 Activity命令:
adb shell dumpsys activity activities | grep mFocusedActivity
  • 调起 Activity命令格式:
adb shell am start [options] <INTENT>
  • 调起 Service命令格式:
adb shell am startservice [options] <INTENT>
  • 发送广播命令格式:
adb shell am broadcast [options] <INTENT>
  • 模拟按键/输入 在 adb shell 里有个很实用的命令叫 input, input 命令的完整 help 信息如下:
adb shell input [<source>] <command> [<arg>...]

The sources are:
mouse
keyboard
joystick
touchnavigation
touchpad
trackball
stylus
dpad
gesture
touchscreen
gamepad
  • 重启手机命令
adb reboot
  • 重启到 Fastboot 模式命令
adb reboot bootloader
  • 查看进程命令
adb shell ps
  • 屏幕截图命令
adb shell screencap -p /sdcard/sc.png
  • 屏幕分辨率命令
adb shell wm size
  • 显示屏参数命令
adb shell dumpsys window displays
#cd system/sd/data //进入系统内指定文件夹 
#ls //列表显示当前文件夹内容 
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 
#rm xxx //删除文件xxx 
#rmdir xxx //删除xxx的文件夹

本文链接:http://nix.pub/article/adb/