adb(Andorid Debug Bridge)安装和使用
以下是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 。
首先在桌面上“我的电脑”点击右键,点击“属性”,进入下一个页面。
在这个页面中点击“高级系统设置”,进入下一个页面。
在这个页面中点击“环境变量”,进入环境变量设置页面。
在这个页面中,首先找到系统变量这一栏,然后找到变量名为“path”的那一栏,并点击下面的“编辑”。
现在可以编辑该环境变量了。
编辑方法为:在已有的“变量值”的最后面加上一个分号码(;),然后添加adb的存放路径(本例子中路径为D盘platform_tools文件夹),点击确定就可以了。
接下来说有的窗口都点击确定。就完成了adb环境变量的设置了!
此时同样点击电脑左下角的“开始”,在命令窗口输入“cmd”,并回车,进入命令提示符。
在命令提示符窗口输入“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)安装和使用的更多相关文章
- 用ADB(Android Debug Bridge)实时监测Android程序的运行
监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...
- adb ( Android Debug Bridge)
adb ( Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. adb工具的工 ...
- [ADB]ADB(Android Debug Bridge)简介及基础(不包含命令)
"Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an ...
- C语言基础课程 第三课 ADB(Android Debug Bridge)的使用
由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...
- adb Android Debug Bridge 安卓调试桥
adb devices 获取设备列表及设备状态 adb get-state 获取设备的状态,设备的状态有 3 钟,device , offline , unknown device:设备正常连接 of ...
- [ADB Shell]Android Debug Bridge常用命令
ADB用法 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important ...
- adb工具介绍与安装
一天笑嘻嘻是一名测试人员,想了解Android的测试方法,于是,就找到了小测试. 笑嘻嘻:身为一名测试人员需要了解ADB的哪些内容? 小测试:了解原理和简单的命令使用就可以了. 笑嘻嘻:你有毒啊,都了 ...
- adb(Android Debug Bridge)安装使用教程
一.说明 adb的db是debug bridge而不是和gdb一样指debug,这意思是说adb不能像gdb那样能一步步调试代码,但可以启到一些类似调试的功能. 下面就针对这些功能进行介绍,本文根据官 ...
- adb(android debug bridge)命令
adb(android debug bridge) adb devices --查看当前连接的模拟器/设备 adb remount --模拟器/设备重新启动,保证能用 adb push src des ...
随机推荐
- 鼠标经过盒子出现边框(伪元素,定位,css3盒子模型)
<body> <div> <img src="mi6.png" > </div> </body> div{ width: ...
- 2017.10.3 国庆清北 D3T2 公交车
题目描述 LYK在玩一个游戏. 有k群小怪兽想乘坐公交车.第i群小怪兽想从xi出发乘坐公交车到yi.但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点. LYK想让小怪兽们尽可能的到达自己想 ...
- 原创:从海量数据中查找出前k个最小或最大值的算法(java)
现在有这么一道题目:要求从多个的数据中查找出前K个最小或最大值 分析:有多种方案可以实现.一.最容易想到的是先对数据快速排序,然后输出前k个数字. 二.先定义容量为k的数组,从源数据中取出前k个填 ...
- Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法
Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法 env WINEPREFIX="/home/landv/.deepinwine/Deepin-QQ" deep ...
- 实体类(VO,DO,DTO,PO)的划分《转载---》
转载自:https://blog.csdn.net/u010722643/article/details/61201899 经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实 ...
- HTTP Referrer和Referrer Policy 设置
referrer是HTTP请求header的报文头,用于指明当前流量的来源参考页面.通过这个信息,我们可以知道访客是怎么来到当前页面的.这对于Web Analytics非常重要,可以用于分析不同渠道流 ...
- JavaScript data types and data structures
JavaScript data types and data structures Programming languages all have built-in data structures, b ...
- 单例模式:Java单例模式的几种写法及它们的优缺点
总结下Java单例模式的几种写法: 1. 饿汉式 public class Singleton { private static Singleton instance = new Singleton( ...
- 将移远通信的EC20驱动移植到NUC972上(转)
源: 将移远通信的EC20驱动移植到NUC972上
- C/C++如何监测内存泄漏
C/C++如何监测内存泄漏 C/C++内存泄漏及检测 内存溢出就是内存越界.内存越界有一种很常见的情况是调用栈溢出(即stackoverflow),虽然这种情况可以看成是栈内存不足的一种体现.例如:递 ...