1.简介
  ADB全称 Android Debug Bridge,是Android SDK里自带的一个调试工具,用这个工具可以直接操作管理Android设备或模拟器。
  我们主要用到的功能:
  1)运行设备的shell命令
  2)管理模拟器或设备的端口映射
  3)计算机和设备之间上传下载文件
  4)将本地apk软件安装到模拟器或Android设备上
  ADB是一个客户端--服务端的程序,客户端是用来操作的计算机,服务端是Android设备。想要使用ADB,需要先打开手机中的adb调试功能。步骤:设置-开发人员选项-adb调试。(没有开发人员选项的需在设置-版本信息中,连续点击android版本或者手机生产商开发的第三方版本信息,小米手机可能需要插入sim卡才能使用此功能)。


2.常用命令

  1)查看设备  adb devices  显示当前连接到计算机的所有android设备,包括模拟器

       adb -s d34df9ff shell

  2)安装软件  adb install <apk文件路径> 将制定的apk安装到手机上 例:adb install D://aa.apk  adb install -r <apk文件路径> 强制覆盖安装,保留原先的数据根缓存文件


  3)卸载软件  adb uninstall <软件包名> adb uninstall -k <软件包名> 加参数-k卸载软件但保留软件产生的配置和数据缓存

        这里需要注意的是安装时后边是跟的.apk文件,卸载时是软件的包名

  4)登录设备  adb shell 


             adb shell <Command命令> 加<Command命令>将是直接运行设备命令,相当于执行远程命令。

            例:adb shell ls 列出当前位置所有的文件 先adb shell连接设备然后ls同样的效果

             adb shell devicename 连接到指定的设备,只有一台设备 devicename可为空


  5)从计算机复制文件到设备 adb push <本地计算机文件路径> <远程android手机存储文件路径>


  6)从设备上下载文件到计算机 adb pull <远程android设备文件所在路径> <本地计算机文件存储路径>


  7)显示帮助信息  adb help


  8)连接设备 adb connect <设备ip> 实现wifi下不用usb连接设备


    此处需要步骤说明:


       1.确认本机pc没有任何adb设备连接,包括usb和模拟器,即使用 adb devices 命令后列表显示为空,这个是为后边敲代码容易些


       2. 将android手机接入wifi并查看ip:设置——>无线网络——>wlan设置——>高级选项——>IP地址 如192.168.2.11


       3.本机command命令下执行 ping 192.168.2.11 如果ping成功,说明可以连接


       4.执行adb connect 192.168.2.11

 

       如果显示连接成功,则可继续执行后面的操作;如果不成功,如显示:


       unadble to connect to 192.168.2.11:5555


       有可能是设备监听端口的问题,则可以在手机终端执行如下命令:


       su  //获取root权限


       setprop service.adb.tcp.port 5555 //设置监听的端口,端口可以自定义 如5554,5555是默认的


       stop adbd //关闭adb


       start adbd //重新启动adb


       手机终端的程序可以下载  安卓终端模拟器   手机终端adb默认是不打开状态




     执行这个的前提:手机可以获取root权限


   


  9)断开当前连接 adb kill-server


10)列出手机中所有包名:adb shell pm list packages    系统应用的包名  adb shell pm list packages -s  第三方应用的包名 adb shell pm list packages -3

11)启动应用 adb shell am start -n <应用包名>

12)关闭应用  adb shell am force-stop <应用包名>

13)杀死某个进程    adb shell    



       ps是查看进程命令,kill pid 是想要结束掉的进程

14)获取文件读写权限  adb remount  (有些设备不能直接使用,需要先获取root权限)

15)查看屏幕分辨率 adb shell wm size

16)monkey 测试 adb shell monkey -v -p <应用包名>

17)adb logcat  

        输入命令 adb logcat -help  就会在控制台显示logcat的帮助信息,此处列几个比较实用的

        (1)adb logcat -s <TAG> 显示该tag下的日志(感觉最实用)

                 adb logcat -s AndroidRuntime 输出当前报错日志(包含缓存日志)


        (3)adb logcat -v tag   tag格式:“优先级/标签:日志信息”

                                   -v thread   "优先级(进程ID:线程ID)标签:日志内容"

                                   -v raw   只输出日志信息,不附加其他任何信息

                                   -v time  日期 时间 优先级/标签(进程ID):进程名称:日志信息


          (4)adb logcat | grep <关键字>  过滤固定字符串,不管是不是标签

                   adb logcat | grep -i <关键字> 忽略大小写

                   adb logcat | grep --color=auto -i <关键字> 设置匹配字符串的颜色

18)adb shell screencap /sdcard/sc.png   手机截屏并保存到sdcard下

19)adb shell screenrecord /sdcard/demo.mp4 手机录制屏幕,最多180秒  结束 control+c   华为手机貌似没此功能

20)adb shell cat /data/misc/wifi/*.conf  查看手机保存的wifi帐号信息  需要root

21)adb shell rename path/oldname path/newname 重命名文件

22)adb shell kill pidNumber杀掉某个进程(常用于某个bug的复现)

23)adb shell dumpsys meminfo <packageName|pidNumber> 查看某个进程所占内存

      

    官方说明



 经验分享


   有时我们可能不喜欢ROM中自带的一些应用,想把它卸载掉。但是android系统并没有卸载ROM自带软件的功能,这个时候也可以使用adb来卸载这些软件,步骤如下:


    1)先要取得手机root权限


    2)下载Android_db.rar,解压到%windir/%System32下


    3)手机连接数据线,在计算机上打开cmd,然后输入命令:


       adb remount


       adb shell 


       su


       执行完成后,则看到:


       * daemon not running。 staring it now *


       * daemon started successfully *


    4)接着就是Linux命令模式了,输入:


      cd system/app


      则发现没什么变化,然后输入ls 回车


      这时候列表显示了 system/app 里面所有的文件,也就是ROM集成的一些软件了。


    5)删除命令 rm 文件名称


  另外,需要特别注意的是,对于那些并不了解的文件,请不要随意的删除,避免手机出现问题。