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. HDU 2859 Phalanx(对称矩阵 经典dp样例)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2859 Phalanx Time Limit: 10000/5000 MS (Java/Others)  ...

  2. Trident中 FixedBatchSpout分析

    FixedBatchSpout 继承自 IBatchSpout IBatchSpout 方法 public interface IBatchSpout extends Serializable { v ...

  3. hadoop 错误

    错误:DataXceiver error processing WRITE_BLOCK operation 2014-05-06 15:21:30,378 ERROR org.apache.hadoo ...

  4. py faster rcnn的lib编译出错问题

    真是好事多磨啊,计算机系统依然是14.04,而cuda依然是8.0,唯一不同的是时间不一样,下载的各种库版本有差别,GPU的driver不一样. 但是这样就出问题了,py-faster rcnn的li ...

  5. js面向对象编程——创建对象

    JavaScript对每个创建的对象都会设置一个原型,指向它的原型对象. 当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其原型对象上找 ...

  6. oracle中特殊字符替换

    replace语法: REPLACE(char,search_string,[replacement_string]) 在replace中,每个search_String 都会被replacement ...

  7. iOS 直播类APP开发流程解析

    1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD.C ...

  8. SQL Server中的三种Join方式

      1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备.这两篇博客使用了相同的实验数据. 2.SQ ...

  9. js bind的实现

    call,apply,bind都是用来挟持对象或者说更改this指向的,但是区别还是有的,call 传参是 fn.call(this,1,2,3) apply传参是 fn.apply(this,[1, ...

  10. 车站分级 (2013noip普及组T4)(树形DP)

    题目描述 一条单向的铁路线上,依次有编号为 1,2,…,n 的 n个火车站.每个火车站都有一个级别,最低为 1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x ...