adb常用命令

1.1 Adb介绍

adb(android debug bridge)是android sdk自带的一个工具

Adb是用来连接android设备和PC端的桥梁,通过adb工具,用户可以在PC端对手机进行全面的操作

Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能

adb可以跨平台,也就意味着在不仅在windows,在mac/linux平台都可以来使用adb命令,只需要下载配置对应平台软件包即可

adb有三大部分组件:

客户端(client)

运行在你自己的电脑上,可以通过shell来调起一个客户端

服务器(server)

运行在电脑的后台,负责管理client和damon进行通信

守护进程(damon)

运行在模拟器或者android设备的后台

Adb工具位于SDK目录下的platform-tools目录,有跟adb相关的三个文件:

 

之前我们在搭建自动化的环境的时候其实就已经将adb部署好了,我们直接在windows的dos环境中使用了(通过在运行输入cmd即可进入),所以接下来我们就开始介绍adb使用方式。

tips:adb都是通过命令来操作android设备的

1.2  Adb常用命令系列

adb --help

查看帮助手册

adb devices

查看连接到PC的android设备,这个是我们使用频率最高的命令之,这里有一点大家需要注意:

Android模拟器和真实的android设备连接是有区别的,如果你是使用的genymotion模拟器,因为在模拟器已经设置了

 

所以genymotion模拟器会自动帮你加载连接adb,我们直接通过adb devices命令就可以检测到,但是如果你是使用的夜神/海马玩等模拟器,这些不会自动帮你连接上的,所以需要我们手动通过命令adb connect连接,如夜神就是adb connect 127.0.0.1:62001(这里的127.0.0.1表示本地的ip地址,任何电脑都有这个地址,62001表示夜神模拟器的端口号),如果你是海马玩模拟器的话,那么端口号改成26944即可。

如果是真实的android设备(手机/平板电脑):

1、需要确保你的手机已经通过USB线连接到电脑

2、通过驱动软件,驱动精灵/驱动人生等,将你的android手机驱动安装好

3、进入到手机,找到设置->关于手机->点击五下版本号-(进入开发者模式)>将对应的开发者选项打开(注意:由于手机型号不同,如小米,魅族,华为这些,可能打开方式稍微有差异,如果不清楚,自己百度怎么打开自己手机的开发者选项)

4、退出到上一级菜单,进入到开发者选项,找到USB调试模拟器将其打开

5、还有最后一步,一般来说会出来一个确认调试的对话框,我们也需要勾选上,不然adb命令用不了

 

adb shell

登录设备shell(命令行的人机界面),在当前环境中就可以使用到很多linux相关命令了,如:cd、ls、cp等等,相当于远程执行命令的

adb pull <手机路径> <电脑路径>

从手机中拉取信息放到本地电脑上,手机路径可以通过adb shell进入到shell环境中,通过cd、ls这些命令找到对应的文件,如将QQ这个apk拉取放到D盘下的test目录

 

adb push <本机路径> <手机路径>

从本地推送信息到手机上去,如

adb install *.apk

为了获取apk的安装包所在地址,可以直接把apk拖到cmd窗口获取,返回success就说明安装成功了

 

adb install -r *.apk

保留数据和缓存文件,重新安装apk

adb shell dumpsys activity | find "mFocusedActivity"  

查看前台应用包名和类名(这里大家先大概了解下什么是包名:android系统给到应用的标识)

adb uninstall <包名>

卸载某个应用,后面就需要加上对应的包名

adb uninstall -k <包名>

卸载应用但保留数据和缓存文件

adb kill-server

终止adb服务

adb start-server

启动adb服务,通常在adb出现问题时,结合kill-server一起来重启adb服务

adb shell pm list packages

列出当前系统里面所有的包名

-s 列出系统apk路径及包名

-3 列出用户apk及包名

adb logcat(可以配合>和>>输出到本地,如:adb logcat >d:\111.txt /adb logcat >>d:\111.txt)

抓取android日志,这个也是对我们非常有用的命令,通过logcat日志,在app发生异常时,如crash/无响应这种,都可以在logcat里面定位到相应的信息

android输出量巨大,特别是通信系统的log,因此,android把log输出到不同的缓冲区,目前定义了4各缓冲区:
1.radio:输出通信系统的log
2.system:输出系统组件的log
3.events:输出events(事件)模块的log
4.main:所有java层的log(不属于上面3层的log)如果想输出通信系统的log:adb logcat -b radio
如果不指定缓冲区的情况,默认输出system和main缓冲区的log


logcat日志由五部分组成:
1.写下日志的时间
2.优先级:
  V:verbose(啰嗦,最低级别的日志,仅在开发调试中使用,线上需关闭)
  D:debug(调试,用于调试信息,线上需关闭)
  I:info(信息,一般提示信息)
  W:Warning(警告)
  E:Error(错误,已经影响运行的错误)
  F--严重错误(fail)
  S--无记载
3.标签(tag):标明日志发起者,便于筛选
4.PID(进程ID)
5.正文:本日志的主体内容

adb connect/disconnect

通过WiFi进行远程调试,此时我们就可以不需要通过USB线将手机连接到电脑了,但是有如下注意事项:

1、确保手机和电脑处于同一网络中(连接的同一个路由器)

2、提前通过adb tcpip 5555来确定通讯的端口号

3、再通过adb connect 加上你自己手机的ip地址来进行连接

如果想要取消连接,直接使用adb disconnect命令即可

posted @ 2020-05-12 21:08  小肖码农  阅读(193)  评论(0)    收藏  举报