以下是adb工具包最新2017Google官方版下载地址:

ADB和Fastboot for Windows

https://dl.google.com/android/repository/platform-tools-latest-windows.zip

ADB和Fastboot for Mac

https://dl.google.com/android/repository/platform-tools-latest-darwin.zip

ADB和Fastboot for Linux

https://dl.google.com/android/repository/platform-tools-latest-linux.zip

由于这些是直接的 Google 链接,用户可以确保下载不仅是官方的,而且将始终能够获得最新版本的 ADB 和 Fastboot 。

  1. 首先在桌面上“我的电脑”点击右键,点击“属性”,进入下一个页面。

     
  2. 在这个页面中点击“高级系统设置”,进入下一个页面。

     
  3. 在这个页面中点击“环境变量”,进入环境变量设置页面。

     
  4. 在这个页面中,首先找到系统变量这一栏,然后找到变量名为“path”的那一栏,并点击下面的“编辑”。

     
  5. 现在可以编辑该环境变量了。

    编辑方法为:在已有的“变量值”的最后面加上一个分号码(;),然后添加adb的存放路径(本例子中路径为D盘platform_tools文件夹),点击确定就可以了。

     
  6. 接下来说有的窗口都点击确定。就完成了adb环境变量的设置了!

    此时同样点击电脑左下角的“开始”,在命令窗口输入“cmd”,并回车,进入命令提示符。

     
     
  7. 在命令提示符窗口输入“adb”并回车,命令提示符中会打印出很多adb调试相关的帮助信息。

    此时代表adb已经可以正常使用了!


abd命令的使用:

adb 其实就是 Android Debug Bridge, Android 调试桥的缩写,adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成:

  • 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试

    Eclipse 中的 ADT、SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 adb 的功能来与 Android 设备进行交互。

    PC 端的手机助手,诸如 360 手机助手、豌豆荚、应用宝等,其除了安装第三方应用方便,其他的功能,基本上都可以通过 adb 命令去完成,这里建议测试人员尽量不要在电脑上安装这类手机助手,因为其自带的 adb 程序可能会与 Android SDK 下的 adb 程序产生冲突,5037 端口被占用,导致使用 adb 命令时无法连接到设备

  • 运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接

    adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程

  • 运行在 Android 设备上的 adb 后台进程

    执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep

    [xuxu:~]$ adb shell ps | grep adbd
    root 23227 1 6672 832 ffffffff 00019bb4 S /sbin/adbd

    这里注意一个地方,就是 adb 使用的端口号,5037,有必要记一下

adb命令安装apk

 

1、将需要安装的apk放在platform-tools下

2、将手机和电脑连接,在cmd中输入 adb devices查看

3、使用adb命令安装apk,在cmd中输入:adb install apk的绝对路径

注意:路径中最好不要有中文字符

4、卸载apk

  • 命令卸载

在手机上卸载:

Setting -> Applications -> Manage applications -> XXX程序 -> Uninstall


接下来我将 adb 命令分为三部分进行介绍,adb 命令adb shell 命令linux 命令

在配好环境变量的前提下,在命令窗口当中输入 adb help 或者直接输入 adb ,将会列出所有的选项说明及子命令。

常用的adb命令

adb devices , 获取设备列表及设备状态

adb get-state , 获取设备的状态

adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用

adb logcat , 打印 Android 的系统日志

adb bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误

adb bugreport > d:\bugreport.log

adb install , 安装应用,覆盖安装是使用 -r 选项
adb uninstall , 卸载应用,后面跟的参数是应用的包名

adb reboot , 重启 Android 设备

adb version,查看adb版本

adb help,查看adb自带的命令

adb connect 远程连接 Android 设备

adb root , adb remount, 只针对类似小米开发版的手机有用,可以直接已这两个命令获取 root 权限,并挂载系统文件系统为可读写状态

adb pull , 将 Android 设备上的文件或者文件夹复制到本地

例如复制 Sdcard 下的 pull.txt 文件到 D 盘:

adb pull sdcard/pull.txt d:\

adb push , 推送本地文件至 Android 设备

例如推送 D 盘下的 push.txt 至 Sdcard:

adb push d:\push.txt sdcard/

adb forward , 将 宿主机上的某个端口重定向到设备的某个端口

adb forward tcp:1314 tcp :8888

执行该命令后所有发往宿主机 1314 端口的消息、数据都会转发到 Android 设备的 8888 端口上,因此可以通过远程的方式控制 Android 设备。




adb shell 命令:

注意:目标 apk 存放于 PC 端,请用 adb install 安装
目标 apk 存放于 Android 设备上,请用adb shell pm install 安装
adb 命令是 adb 这个程序自带的一些命令,adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下。
pm命令:
adb shell pm list package 列出所有的应用的包名
adb shell pm list package -s 列出系统应用
adb shell pm list package -3 列出第三方应用
adb shell pm list package -f 列出应用包名及对应的apk名及存放位置
adb shell pm list package -i 列出应用包名及其安装来源
adb shell pm list package -f -3 -i zhihu 查找三方应用中知乎的包名、apk存放位置、安装来源
adb shell pm path <包名> 列出对应包名的 .apk 位置
adb shell pm list instrumentation 列出含有单元测试 case 的应用,后面可跟参数 -f ,以及 [TARGET-PACKAGE].
adb shell pm dump <包名> 列出指定应用的 dump 信息,里面有各种信息,自行查看.
adb shell pm install <apk包路径> 安装apk包存放在Android设备上的应用
adb shell pm uninstall <apk包路径> 卸载apk包存放在Android设备上的应用
adb shell pm clear 清除应用数据
adb shell pm set-install-location 设置应用安装位置
adb shell pm get-install-location 获取应用安装位置 am命令:
adb shell am start -n <系统activity> 启动一个 Activity,如:启动系统相机,adb shell am start -n com.android.camera/.Camera
adb shell am -S <系统acivity> 先停止目标应用,再启动。如:adb shell am start -S com.android.camera/.Camera
adb shell am start -W <系统activity> 等待应用完成启动,如:adb shell am start -W com.android.camera/.Camera
adb shell am start -a android.intent.action.VIEW -d 网址 启动默认浏览器打开一个网页如:adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
adb shell am start -a android.intent.action.CALL -d <路径> 启动拨号器拨打10086如:adb shell am start -a android.intent.action.CALL -d tel:10086
adb shell am instrument 启动一个 instrumentation , 单元测试或者 Robotium 会用到
adb shell am monitor 监控 crash 与 ANR
adb shell am force-stop <包名> 强制结束应用
adb shell am startservice 启动一个服务
adb shell am broadcast 发送一个广播

input命令:这个命令可以向 Android 设备发送按键事件

adb shell input text  <发送的内容>                发送文本内容,不能发送中文如:adb shell input text 123456

adb shell input keyevent <按键事件标识>     发送按键事件如:adb shell input keyevent KEYCODE_HOME

adb shell input tap <触摸事件标识>              对屏幕发送一个触摸事件如:adb shell input tap 500 500

adb shell input swipe <滑动事件标识>          滑动事件如:adb shell input swipe 900 500 100 500

adb shell screencap  <截图标识>                  截屏,保存至 sdcard 目录如:adb shell screencap -p /sdcard/screen.png

adb shell screenrecord <录制标识>               执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard如:adb shell screenrecord sdcard/record.mp4

adb shell uiautomator dump                          执行 UI automation tests , 获取当前界面的控件信息

adb shell ime list -s                                        列出输入法

adb shell wm size                                          获取设备分辨率

adb shell log <设定需打印的信息>                设定xuxu便签如:adb shell log -p d -t xuxu "test adb shell log" ,然后再执行logcat命令 adb logcat -v time -s xuxu(备注:-p:优先级,-t:tag,标签,后面加上 message)

adb shell getprop  <后可接参数名>               查看 Android 设备的参数信息

adb shell settings                                           setting命令

adb shell dumpsys                                         默认打印出当前系统所有service信息

adb shell monkey                                           monkey命令(可参考:http://xuxu1988.com/2015/05/14/2015-05-02-Monkey/)


Linux命令:

cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符号 ">" ">>"、管道 "|"

(以上命令不详解)想要了解可查看我总结的另外一篇随笔:https://www.cnblogs.com/linxiu-0925/p/8612350.html


其它: 

补充一个引号的用途:
场景1、在 PC 端执行 monkey 命令,将信息保存至PC端的 D 盘 monkey.log,会这么写:

adb shell monkey -p com.android.settings 5000 > d:\monkey.log

场景2、在 PC 端执行 monkey 命令,将信息保存至手机的 Sdcard,需要加引号,这样写:

adb shell "monkey -p com.android.settings 5000 > sdcard/monkey.log"

adb(Andorid Debug Bridge)安装和使用的更多相关文章

  1. 用ADB(Android Debug Bridge)实时监测Android程序的运行

      监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...

  2. adb ( Android Debug Bridge)

    adb ( Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. adb工具的工 ...

  3. [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)

    "Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...

  4. C语言基础课程 第三课 ADB(Android Debug Bridge)的使用

     由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...

  5. adb Android Debug Bridge 安卓调试桥

    adb devices 获取设备列表及设备状态 adb get-state 获取设备的状态,设备的状态有 3 钟,device , offline , unknown device:设备正常连接 of ...

  6. [ADB Shell]Android Debug Bridge常用命令

    ADB用法 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important ...

  7. adb工具介绍与安装

    一天笑嘻嘻是一名测试人员,想了解Android的测试方法,于是,就找到了小测试. 笑嘻嘻:身为一名测试人员需要了解ADB的哪些内容? 小测试:了解原理和简单的命令使用就可以了. 笑嘻嘻:你有毒啊,都了 ...

  8. adb(Android Debug Bridge)安装使用教程

    一.说明 adb的db是debug bridge而不是和gdb一样指debug,这意思是说adb不能像gdb那样能一步步调试代码,但可以启到一些类似调试的功能. 下面就针对这些功能进行介绍,本文根据官 ...

  9. adb(android debug bridge)命令

    adb(android debug bridge) adb devices --查看当前连接的模拟器/设备 adb remount --模拟器/设备重新启动,保证能用 adb push src des ...

随机推荐

  1. 鼠标经过盒子出现边框(伪元素,定位,css3盒子模型)

    <body> <div> <img src="mi6.png" > </div> </body> div{ width: ...

  2. 2017.10.3 国庆清北 D3T2 公交车

    题目描述 LYK在玩一个游戏. 有k群小怪兽想乘坐公交车.第i群小怪兽想从xi出发乘坐公交车到yi.但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点. LYK想让小怪兽们尽可能的到达自己想 ...

  3. 原创:从海量数据中查找出前k个最小或最大值的算法(java)

    现在有这么一道题目:要求从多个的数据中查找出前K个最小或最大值 分析:有多种方案可以实现.一.最容易想到的是先对数据快速排序,然后输出前k个数字.   二.先定义容量为k的数组,从源数据中取出前k个填 ...

  4. Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法

    Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法 env WINEPREFIX="/home/landv/.deepinwine/Deepin-QQ" deep ...

  5. 实体类(VO,DO,DTO,PO)的划分《转载---》

    转载自:https://blog.csdn.net/u010722643/article/details/61201899 经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实 ...

  6. HTTP Referrer和Referrer Policy 设置

    referrer是HTTP请求header的报文头,用于指明当前流量的来源参考页面.通过这个信息,我们可以知道访客是怎么来到当前页面的.这对于Web Analytics非常重要,可以用于分析不同渠道流 ...

  7. JavaScript data types and data structures

    JavaScript data types and data structures Programming languages all have built-in data structures, b ...

  8. 单例模式:Java单例模式的几种写法及它们的优缺点

    总结下Java单例模式的几种写法: 1. 饿汉式 public class Singleton { private static Singleton instance = new Singleton( ...

  9. 将移远通信的EC20驱动移植到NUC972上(转)

    源: 将移远通信的EC20驱动移植到NUC972上

  10. C/C++如何监测内存泄漏

    C/C++如何监测内存泄漏 C/C++内存泄漏及检测 内存溢出就是内存越界.内存越界有一种很常见的情况是调用栈溢出(即stackoverflow),虽然这种情况可以看成是栈内存不足的一种体现.例如:递 ...