zoukankan      html  css  js  c++  java
  • 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 。

    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下

    clipboard

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

    clipboard[1]

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

    clipboard[2]

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

    4、卸载apk

    • 命令卸载

    clipboard[3]

    在手机上卸载:

    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 -time -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"

  • 相关阅读:
    Python+Selenium三种等待方法
    Jmeter结果分析_聚合报告
    Linux安装Python3
    翻译Go Blog: 常量
    Go: 复合数据类型slice
    Python创建二维列表的正确姿势
    了解Flask
    urllib3中学到的LRU算法
    了解Prometheus
    《redis 5设计与源码分析》:第二章 简单动态字符串
  • 原文地址:https://www.cnblogs.com/linxiu-0925/p/8564957.html
Copyright © 2011-2022 走看看