Andorid Debug Bridge)安装和使用"/>
adb(Andorid Debug Bridge)安装和使用
以下是adb工具包最新2017Google官方版下载地址:
ADB和Fastboot for Windows
.zip
ADB和Fastboot for Mac
.zip
ADB和Fastboot for 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
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命令(可参考:/)
Linux命令:
cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符号 ">" ">>"、管道 "|"
(以上命令不详解)想要了解可查看我总结的另外一篇随笔:.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"
转载于:.html
更多推荐
adb(Andorid Debug Bridge)安装和使用
发布评论