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. PHP设计模式——观察者模式

    PHP版本 <?php /** * 观察者模式 * 观察者模式能够便利的创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定性功能. * * 为软件添加由某个动作或状态变化激活的,但是松散 ...

  2. 2018年暑假ACM个人训练题9(动态规划)解题报告

    A:m段最大字段和问题 https://www.cnblogs.com/yinbiao/p/9314528.html B:map的使用(根本就不是dp!!!) https://www.cnblogs. ...

  3. Unity 游戏框架搭建 (十五) 优雅的QChain (零)

    加班加了三个月终于喘了口气,博客很久没有更新了,这段期间框架加了很多Feature,大部分不太稳定,这些Feature中实现起来比较简单而且用的比较稳定的就是链式编程支持了. 什么是链式编程? 我想大 ...

  4. Hibernate知识点小结(四)--JPA

    一.jpa的简介和入门 JPA:Java Persistence API,接口规范    Hinernate内部为JPA规范提供实现        开发步骤(EntityManager):       ...

  5. Sass 基础(七)

    Sass Maps 的函数-map-remove($map,$key),keywords($args) map-remove($map,$key) map-remove($map,$key)函数是用来 ...

  6. js省市区级联选择联动

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equiv="Con ...

  7. SpringMVC中session使用&&拦截器&&乱码处理&&异常处理

    ### 1. 使用Session 通常,会在Session中存放: 1. 客户端(用户)的身份标识,通常是用户的id:2. 使用频率非常高的数据,例如显示在页面中的用户名.头像等:3. 其它的不便于使 ...

  8. spring cloud 学习之路由网关(zuul)

    学习自方志朋的博客 http://blog.csdn.net/forezp/article/details/69939114 在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现.服务消费. ...

  9. js,setTimeout与setInterval的用法

    1.setTimeout与setInterval的区别 setTimeout: 1.直接使用的话,按照指定 的时间,只执行一次传入的函数参数. 2.函数的终止使用clearTimeout. setIn ...

  10. 【cisco探索之路】

    CISCO探索之路 show&debug&clear 1:show show version:显示版本信息show running-config:显示当前的配置show interfa ...