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"


![clipboard[1] clipboard[1]](https://images2015.cnblogs.com/blog/813681/201602/813681-20160224105420568-1792120289.png)
![clipboard[2] clipboard[2]](https://images2015.cnblogs.com/blog/813681/201602/813681-20160224105422396-631042179.png)
![clipboard[3] clipboard[3]](https://images2015.cnblogs.com/blog/813681/201602/813681-20160224105423161-2129464246.png)
浙公网安备 33010602011771号