adb安卓调试桥测试应用(adb shell)

一、adb简介

二、adb环境搭建

三、adb连接Android设备步骤

1、USB数据线连接

2、WIFI远程连接

四、adb shell命令

1、简介

2、常用adb shell命令

 

一、adb简介

Android 调试桥 (ADB,Android Debug Bridge) 是Android SDK里的一个工具。可看成一个客户端-服务器程序,其中客户端是用来操作的电脑,服务器端是android设备。

使用ADB可以直接操作管理android模拟器或者真实的android设备,说白了ADB就是安卓的debug工具。

ADB的主要功能有:

ADB的组成主要有三部分:

  1. 客户端client:运行在你的电脑上,你可以通过shell来调用起一个客户端。其他Android工具,例如:ADT插针、DDMS都可以创建出一个客户端。【adb在mac或者linux上都可以使用;需要搭建环境变量才能使用】
  2. 服务器server:运行在你电脑的后台,负责管理client和daemon进行通信。
  3. 守护进程daemon:运行在模拟器或者Android设备的后台。

二、adb环境搭建

adb调试桥是Android SDK里的一个工具,Android SDK是安卓系统软件的开发工具包。作为新手推荐使用安卓开发新手集成包:adt-bundle (谷歌给安卓开发打包的一个环境)。adt-bundle环境搭建相对于简单,而且app自动化测试的环境也可用。

具体的环境搭建步骤可参考另外一篇说明《adt-bundle环境搭建》。

三、adb连接Android设备步骤

1、USB数据线连接

Android手机通过adb与PC端连接时,有几个前提条件:

1.1、手机驱动

Android手机通过USB数据线连接PC端后,需要安装驱动。一般会自动安装,开启开发者选项和USB调试后“我的电脑”里面能够显示连接的手机,并可查看其目录就没问题。

当PC端提示驱动安装失败时,需要在PC端安装360手机助手等连接应用,通过连接应用安装好手机驱动环境后,要将360手机助手等应用卸载,因为这些应用与adb会用同一端口。

1.2、手机设置

手机需要开启开发者选项和USB调试。

开启开发者选项的过程如下,设置—>关于手机—>连续点击7次“版本号”,然后在设置—>系统中出现开发者选项,开启即可。

image

image

在开发者选项页面,同时开启“USB调试”。

有的Android系统版本手机在开启USB调试时,有弹窗提示是否允许USB调试,一定要选择“确定”。还有的Android系统版本手机在开启USB调试时,询问您是否接受允许通过此计算机进行调试的 RSA 密钥,也需要选择同意。

image

最后一步,在开发者选项页面,点击“选择USB配置”然后选择“MTP(多媒体传输)”。

image

1.3、验证连接

PC端通过cmd命令提示符页面,输入adb devices然后回车,看到如下图结果,表示adb连接Android设备成功。

image

2、WIFI远程连接

Android手机通过wifi连接电脑运行adb,可实现远程调试。具体步骤如下:

1.1、连接准备

按照上面介绍的Android手机通过USB数据线连接的步骤完成配置,并连接成功。

1.2、通过IP连接设备

将Android手机连接的WIFI,与运行adb的PC端连接的网络处于同一局域网。

Android手机通过USB数据线连接成功后,在cmd命令提示符页面输入:adb tcpip 5555 让设备在5555端口监听TCP/IP连接。

image

查找手机的IP地址,在设置—>WLAN—>点击所连接的WiFi,可以找到设备的IP,如下图:

image

拔掉USB数据线。

###注意,拔掉USB数据线后要确保开发者选项和USB调试是开启状态;且“选择USB配置”是勾选“MTP(多媒体传输)”状态。

PC端在cmd命令提示符页面输入:adb connect <手机IP> 出现下图所示结果,即表示连接成功。

image

1.3、验证连接

PC端通过cmd命令提示符页面,输入:adb devices然后回车,看到如下图结果,表示adb连接Android设备成功。

image

1.4、断开连接

Wifi远程连接成功后,想要关闭连接,PC端通过cmd命令提示符页面,输入:adb disconnect <手机IP> 即可关闭adb连接。

image

四、adb shell命令

1、简介

安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机 “/system/bin” 的目录下,我们连接手机就可以使用命令 adb shell 来执行这些命令。

使用adb shell命令的前提是,Android设备已经通过adb与PC端建立连接。

2、常用adb shell

1.1、进入adb shell命令窗口

在PC端通过cmd命令提示符页面,输入:adb shell 进入shell命令窗口。

image

可以使用cd命令进行目录切换。

输入cd sdcard可进入手机内部存储空间,再输入ls可获取当前的所有目录内容。

image

通过adb shell 进入的shell命令窗口,常使用的Linux命令还有:

要退出shell操作,需要输入exit。如下图:

image

1.2、从Android设备提取文件至PC端

使用adb pull可以将手机中的文件拉取到PC端,命令格式如下:

adb pull <文件路径> <本机路径>    注意,路径之间的空格

实际操作中一般在adb shell 进入的shell命令窗口中找到需要拉取的文件和路径,然后exit退出shell命令窗口,执行adb pull命令。

例:adb pull /sdcard/server.log F:\test

image

1.3、将PC端的文件推送至Android设备

使用adb push 可以将PC端的文件推送至Android手机,命令格式如下:

adb push <文件路径> <手机路径>      注意,路径之间的空格

例:adb push F:\test\server.log /sdcard/

推送成功后,通过cd切入sdcard目录,然后输入ls可查看server.log文件

image

1.4、查询App包名

在Android设备中打开某个App,然后在cmd命令提示符页面输入如下命令,即可查询到包名:

1.4.1、Android 8.0系统以下用:

adb shell dumpsys activity | find "mFocusedActivity"

1.4.2、Android 8.0系统以上用:

adb shell dumpsys activity | find "mResumedActivity"

包名是应用软件在Android系统中的一种标记。

在出现的查询结果中,u0与/中间的一串是该应用的包名,如下图:

image

1.5、将PC端的.apk包安装至Android设备

adb install xxx.apk    将PC端存放的.apk装入Android设备。

adb install -s xxx.apk   将PC端存放的.apk装入Android设备的sdcard中。

注意:xxx.apk是该文件PC端所在的绝对路径,在PC端拖动xxx.apk至cmd窗口,即可自动填充绝对路径。

image

命令输入正确后,回车即安装,提示:success表示安装成功。

image

1.6、通过adb删除Android设备的App

adb uninstall <应用包名> 该命令在PC端通过adb删除Android设备的App。

输入命令后回车,提示:success表示应用删除成功。

image

1.7、定位到crash(崩溃)异常信息

App在运行时偶遇崩溃,可以使用命令adb logcat从Android设备缓存区拉取日志,筛选出的日志有助于定位Bug。

要使用这个命令,必须有超级管理员权限,或者手机已经root。

命令格式:

adb logcat –v > d:\test\ 将日志保存至d:\test\

adb logcat –v time > d:\test\ 拉取的日志自带时间

日志导出后,通过App的包名筛选出有用的日志。然后在导出的日志中搜索‘Force finishing’关键字就可以定位到关键日志信息。需要提交的日志:FATAL EXCEPTION 到 Force finishing。

adb安卓调试桥测试应用(adb shell)

全文结束