Android 常用 adb 命令总结(一)

Android Debug Bridge

     adb其实就是Android Debug Bridge,Android调试桥的缩写,adb是一个C/S架构的命令行工具,主要由3部分组成:

        (1)运行在PC端的Client:可以通过它对Android应用进行安装、卸载及调试。

            1.Eclipse中的ADT、SDK Tools目录下的DDMS、Monitor等工具,都是同样地用到了adb的功能来与Android设备进行交互。

            2.PC端的手机助手,诸如360手机助手、豌豆荚、应用宝等,其除了安装第三方应用方便,其他的功能,基本上都可以通过adb命令完成,建议测试人员尽量不要在电脑上安装这类手机助手,因为其自带的adb程序可能会与Android SDK下的adb程序产生冲突,5037端口被占用,导致使用adb命令时无法连接到设备。

      (2)运行在PC端的Service:其管理客户端到Android 设备上adb后台进程的连接

          adb服务启动后,Windows可以在任务管理器中找到adb.exe这个进程

      (3)运行在Android设备上的adb后台进程

          执行 adb shell ps | grep adb ,可以找到该后台进程,windows请使用findstr替代grep

     这里注意,adb使用的端口号,5037。


adb命令

     在开发者测试的过程中,我们可以通过adb来管理多台设备,其一般的格式为:

      adb[-e|-d|-s<设备序列号>]<子命令>

      在配好环境变量的前提下,在命令窗口当中输入adb help或者直接输入adb,将会列出所有的选项说明及子命令。

      一些常用的命令:

            adb devices:获取设备列表及设备状态

            adb get-state:获取设备的状态。设备的状态有三种,分别为device,office,unknown

  1.                 device:设备正常连接

  2.                 offline:连接出现异常,设备无响应

                unknown:没有连接设备


            adb kill-server,adb start-server,结束adb服务和启动adb服务,通常两个命令一起用。一般在连接出现异常,使用adb devices来正常列出设备,设备状态异常时使用kill-server,ranhou yunxing start-server进行重启服务

         adb logcat,打印Android的系统日志,以后单独讲。------------------(1)

         adb bugreport,打印 dumpsys、dumpstate、logcat的输出,也是用于分析错误,输出比较多,建议重定向到一个文件中。

                 adb bugreport >d:\bugreport.log

         adb install,安装应用,覆盖安装是使用-r选项。windows下乳沟需要安装含有中文名的apk,需要对adb进行修改,百度可以找到做出修改的adb,支持中文命令的apk。-------------------------(2)

         adb uninstall,卸载应用,后面跟的参数是应用的包名,区别于apk文件名

                adb uninstall -k ,卸载时保存数据和缓存目录

         adb pull,将Android 设备上的文件或者文件夹复制到本,例如复制sdcard下的pull.txt文件到D盘:

                adb pull sdcard/pull.txt d:\

         如果需要重命名为rename.txt,则为:

                adb pull sdcard/pull.txt d:\rename.txt

         注意权限,复制系统权限的目录下的文件需要root,并且一般的Android机root后并不能使用命令去复制,而需要在手机上使用类似于RE的文件浏览器,先对系统的文件系统进行挂载为可读写后,才能在手机上复制移动系统文件,这里推荐使用小米手机的开发版本,IUNI也不错。

         adb push,推送本地文件至Android设备,例如推送D盘下的push.txt至SDcard:

                 adb push d:\push.txt sdcard/

         sdcard后面的斜杠不能少,否则会出现下面的错误:

                 failed to copy 'push.txt' to 'sdcard':Is a directory

         权限问题同pull命令。

         adb root,adb remount只针对类似小米开发板的手机有用,可以直接以这两个命令获取root权限,并挂载系统文件系统为可读写状态。

         adb reboot,重启Android设备

                 bootloader,重启设备,进入fastboot模式,同adb reboot-bootloader命令

                 recovery,重启设备,进入recovery模式,经常刷机的同学比较熟悉这个模式

          adb forward,将宿主机上的某个端口重定向到设备的某个端口

                 adb forward top:1314 top:8888

          执行该命令后所有发往宿主机1314端口的消息、数据都会转发到Android 设备的8888端口上,因此可以通过远程的方式控制Android设备。

          adb connect 远程连接Android设备:

                  手机、PC处于相同的网络下,手机root,安装应用adbWireless,启动应用后点击界面中间的按钮:

                  

                  接着运行 adb connect 192.168.1.102,即可通过无线的方式连接手机,缺点是速度比较慢。可以测试电量消耗。