ADB安装与常用命令详解

 

一、ADB意义

adb的全称为Android Debug Bridge,就是起到调试桥的作用,也就是debug工具,通过它可以和android设备或模拟器通信。

二、ADB作用

  借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

三、详解ADB安装与使用

下面会为大家介绍一下adb工具如何操作,并介绍几个常用命令以备日后测软件抓取log和操作方便使用

软件需要】

1.下载adb工具包有如下两种方式:

(adb工具包主要包含4个文件adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll,fastboot.exe)

  • 下载Android SDK,adb文件位置如下

  • 网上直接下载ADB工具包(推荐此方式)

2.Android相关手机驱动

注:为了方便已把adb工具包和驱动打包上传至百度云,点击下载使用    http://pan.baidu.com/s/1bnz3gOv

  

【软件安装】

  步骤1:安装USB驱动

进入设置--开发者选项-USB调试,将第一个选项打钩选中。然后通过USB线连接电脑提示安装驱动。

   步骤2:软件准备

(这里教程使用的是第二种直接下载adb工具包的安装方式,如果使用第一种SDK安装,配置环境变量也是需要把SDK的路径下的platform-tools和tools的路径都配置到path下)

1) 将提供的软件工具包放置到任意盘中 如放到D盘目录下:

2)  为了可以直接方便快捷的进入adb目录下,可以配置下环境变量,步骤如下:

  • 计算机点击右键--属性--高级系统设置--环境变量--找到变量名为path的--栏后点击编辑添加adb的根目录到path路径下

  • 添加adb到path路径后,可到开始菜单中输入cmd打开控制台输入adb shell来验证是否配置成功。

如果没有配置成功,输入adb shell后会提示 adb 不是内部命令(有时需要重启电脑才可以检查到已经安装成功);

如果配置成功且连接上设备或者启动已经模拟器后,输入adb shell后会有如下图 提示

常用操作命令详解

1. 查看设备

  adb devices

  这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示,可以确认设备是否连接上,如下截图是已经连接上的情况

实际连接状态如下:

  • Device--此实例正与adb服务器连接
  • offline — 此实例没有与adb相连接或者无法响应
  • no device---当前没有模拟器/设备运行

2.adb logcat命令行用法,可使用-help来查看adb可输出的选项命令

常用选项解析:

  • 输出指定标签内容 :

-- "-s"选项 : 设置默认的过滤器, 如 我们想要输出 “ActivityManager" 标签的信息, 就可以使用adb logcat -s ActivityManager命令;

(打印ActivityManager我们可以获得系统里正在运行的activities(英文意思为活动,那么顾名思义就是在运行着的应用程序),包括进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息,给研发提供这些日志输入可供分析是什么应用在运行从而导致程序异常)

  • 输出日志信息到文件 :

-- "-f"选项 : 该选项后面跟着输入日志的文件, 使用adb logcat -f /sdcard/log.txt  & 命令(加入&表示后台运行,exit之后就可以拔掉数据线了,手机后台会一直运行这个logcat,并且该进程的ID为8278), 注意这个log文件是输出到手机上,需要指定合适的路径。

(采集的过程是不显示的,Ctrl+c结束采集,其中下图中 ps | grep logcat表示查询过滤出在运行的logcat,当结束采集log时,一定要关闭掉这个PS,然后使用kill id 将其杀掉关闭)

  • 指定 logcat 的日志输出格式和输出到什么位置 :

-- "-v"和”>”选项 : 使用adb logcat -v time > D:/test.log命令, 可以看日志的输出时间和输出到什么位置;

  • 加载一个可使用的日志缓冲区供查看

--”-b”选项:使用adb logcat -b radio 查看日志缓冲区包含radio 和 telephony信息

3. 进入设备或模拟器的shell:

adb shell [command]

通过上面对adb logcat标签的认识,那么就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,一般在测试抓取log过程中都是执行一条shell命令,可通过以下常用命令来采集log:

  • adb logcat -v time一般的常规log日志.(经常使用) 
  • adb shell dmesg会打印出开机的内核的调试信息(一般在手机自动重启会使用)
  • adb bugreport 查看bug报告,包含有内核信息(可用于5.0以上系统的内核日志抓取)
  • adb logcat -b radio -v time 带射频信息的LOG(很少使用)
  • adb logcat -b events -v time 带事件信息的events log (很少使用)
  • adb logcat -v threadtime 命令可以看日志的输入时间和线程信息(一般手机自动重启会使用)
  • 点root手机)一般是出现死机重启,或者奔溃性关不掉的crash现象如phone报错无法关闭的bug.(出现crash现象一般需要使用此命令)

     ANRlog一般会有traces文件,需使用命令导出

     第一步:adb shell

     第二步:cd /data/anr(如果有anr目录继续执行第三步,如果没有会提示没有此 目录,那就不需要在去traces文件了)

     第三步:ls(查看存在的traces 文件)

     第四步:Ctrl+C退出,然后输入adb pull /data/anr/traces文件名.txt E:\ 把文 件导入到E盘

 

  • tombstone log (在/data/tombstones/"目录下)  死机LOG(很少使用)
  • adb logcat -c  清空日志缓存信息命令, 可以将之前的日志信息清空, 重新开始输出日志信息;

 

4.root手机

  一般有些用户会卸载系统的一些应用,来减少手机内存的大小,那么我们使用命令来root手机后卸载应用,可以检测手机的稳定性是否在可控范围之内

1.adb reboot-bootloader(进入fastboot模式,打开OEM模式)

2.fastboot oem teston

3.fastboot reboot(重启手机)

4.adb root(root手机)

5.adb remount (重新挂载系统分区,使系统分区重新可写)

5.删除系统应用(前提需root可和第4个结合使用)

      1.adb remount

2.adb shell

3.cd system/app(进入到系统应用目录下)

4.rm *.apk(删除应用)

 

6.安装软件

   adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上

使用此命令可以方便快捷的把第三方APK安装在设备上

  adb install

7.卸载软件   

adb uninstall <软件名> 

 

8.从电脑上发送文件到设备

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

  adb push <本地路径> <远程路径>

9.从设备上下载文件到电脑

   用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑,在测试的时候方便快捷,以备在TP失效时,可以使用此方法把想要的文件复制到电脑上查看

adb pull <远程路径> <本地路径>

 

10.删除文件/文件夹(最好先root手机才可进入到系统)

   一般在做自动化录制脚本测试时,会在data目录下新建文件,那么自动化完成后需要删除文件或文件夹时,就可用如下命令执行

1.adb shell

2.cd /data     //进入系统内指定文件夹

3.ls           //列表显示当前文件夹内容

4.rm -r xxx    / /删除名字为xxx的文件夹及其里面的所有文件

  rm xxx      //删除文件xxx

  rmdir xxx    //删除xxx的文件夹

 

【adb命令用于monkey测试】

当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试软件.

最简单的方法就是用下面的命令来使用Monkey,这个命令将会启动软件并且触发500个事件(事件数可以设定)将其monkey的log日志打印在PC端的D盘内.

   adb shell monkey -v -p your.package.name 500 >D:monkey.log

 

 

 

 

 

                        2015/08/10  By dq  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

adb常用命令(手机测试)的更多相关文章

  1. adb常用命令(转)

    1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...

  2. adb常用命令教程

    1.Android Debug Bridge - adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文 ...

  3. Android ADB 常用命令

    Android ADB 常用命令 泛原罪 2016.09.21 00:02* 字数 605 阅读 2912评论 0喜欢 1 [TOC] adb logcat 查看日志 详细内容可参见 ADB Usag ...

  4. Android开发系列之adb常用命令

    对于Android开发者来说,如果没有adb的帮助,那肯定就跟少了一只手那样别扭.其实笔者在刚刚学习Android开发的时候,也没有意识到adb的重要性.想想只要用IDE画出界面,然后实现后台的逻辑代 ...

  5. 【android】adb常用命令

    ADB常用命令: [adb help]获取帮助 [adb get-serialno]获取设备串号 [adb -s <serialNumber> <command>]给特定设备发 ...

  6. ADB常用命令(一)

    转自:https://blog.csdn.net/qq_26552691/article/details/81348222 一.操作前请确认电脑上已配置好ADB环境.可在CMD命令行输入adb,如果出 ...

  7. adb 常用命令汇总

    adb 常用命令: adb –help 查看帮助手册 adb devices 检测连接到电脑的安卓设备或安卓模拟器设备 adb pull  <手机路径>  <本机路径>  从手 ...

  8. adb常用命令-android学习第一天

    转载出处:http://www.cnblogs.com/xiaoxuetu/ 转载来源:https://www.cnblogs.com/xiaoxuetu/p/3411214.html 平时开发and ...

  9. adb 常用命令大全(1)- 汇总

    adb 常用命令大全系列 基础命令 查看手机设备信息 应用管理 日志相关 模拟按键输入 其他实用功能

  10. 54. Android中adb常用命令及应用常用目录

    本文主要介绍adb常用命令及应用常用目录.1.adb常用命令adb devices列出所有连接的android设备.以下命令都是对单个devices而言,如果存在多个devices的话,下面的命令都需 ...

随机推荐

  1. 2018.11.24 struts2中的OGNL表达式及两者的结合

    OGNL表达式 OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航. OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能. 理解图示 使用OGNL准备工 ...

  2. Html5简单描述(优点与缺点)

    什么是HTML5 HTML5指的是包括HTML.CSS和JavaScript在内的一套技术组合.它希望能够减少网页浏览器对于需要插件的丰富性网络应用服务(Plug-in-Based Rich Inte ...

  3. 写在归程路上——2018ROBOCUP机器人世界杯中国赛

    写入自强队名单一年,认识Daniel十个月,第二次代表上海大学参加国赛,这一次是在浙江绍兴.坐在返沪的车上,心里担心着作业和明天的早课,写这篇博文来打发打发时间. ROBOCUP两个半比赛日,项目主要 ...

  4. 【luogu P3371 单源最短路径 】 模板 SPFA优化

    无优化:500ms deque优化:400ms #include <queue> #include <cstdio> #include <cstring> #inc ...

  5. 【XP-IE8】XP系统的IE8无法正常访问图片,按钮无反应,不执行JS脚本代码

    环境: Windows XP ,自带的是IE6,另外安装的 IE8 . 状况: 使用IE8浏览内网网站,点击登录按钮,没有反应.滚动图片新闻不显示.但使用Chrome浏览器,一切正常,说明是IE8某处 ...

  6. 创建VS工程使用神经网络库——FANN

    编译: sourceforge上的FANN库带VS2010的工程,我机器上装的VS2005,用不了,愁人,只能手动创建工程了,编译不过,度娘不管用,FQ麻烦,用雅虎搜到一个工程的创建配置,调整配置试一 ...

  7. o'Reill的SVG精髓(第二版)学习笔记——第九章

    第九章:文本 9.1 字符:在XML文档中,字符是指带有一个数字值的一个或多个字节,数字只与Unicode标准对应. 符号:符号(glyph)是指字符的视觉呈现.每个字符都可以用很多不同的符号来呈现. ...

  8. Es6的那些事

    现在看招聘网站上的要求,作为前端er~都要熟悉甚至精通(滑稽脸)es6,项目中也经常用,啥let,const,尤其是用react的同学,肯定对解构赋值不会陌生,今天逛淘宝前端的博客,看到一篇名为Es6 ...

  9. JS基础——数组API之数组操作(filter、map、some、every、sort)

    var arr = [1,2,3,4];   forEach arr.forEach((item,index,arr) => { console.log(item) //结果为1,2,3,4 } ...

  10. 【PTA 天梯赛训练】修理牧场(哈夫曼树+优先队列)

    农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L​i​​的总和. 但是农夫自己没有锯子,请 ...