zoukankan      html  css  js  c++  java
  • adb命令学习

    1. adb简要介绍

      adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成:

      1. 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试
      2. 运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接
      3. 运行在 Android 设备上的 adb 后台进程
      ADT/SDK Tools目录下的DDMS、Monitor等工具,都是同样地用到了 adb 的功能来与 Android设备进行交互
      

      adb命令学习

      adb命令主要分为三种

      1. adb 命令
      2. adb shell 命令
      3. Linux 命令

      - adb命令

      一般格式:

      adb [-e | -d | -s <设备序列号>] <子命令>
      

      常用adb命令:

      adb devices //获取设备列表及设备状态
      
      adb get-state [-s]//获取设备的状态,后面选填设备序列号,可以查询具体设备的状态
      
      adb kill-server //结束adb服务
      
      adb start-server //启动adb服务
      
      adb logcat //**打印 Android 的系统日志(log的筛选和记录后面会再单独拿出来学习)**
      
      adb bugreport //**打印dumpsys、dumpstate、logcat的输出,也是用于分析错误**
      
      adb install [apk文件] //安装应用;覆盖安装是使用 -r 选项
      
      adb uninstall [app包名] //卸载应用;使用 -k 选项,卸载时保存数据和缓存目录
      
      adb pull [设备文件位置] [本地目录] //将 Android 设备上的文件或者文件夹复制到本地
      
      adb push [本地文件位置] [设备目录] //推送本地文件至 Android 设备
      
      adb reboot //重启 Android 设备
      

      - adb shell 命令

      adb shell 命令是调用的是 Android 系统中的命令,这些 Android 特有的命令都放在了Android 设备的 system/bin 目录下。

      常用adb shell命令:

      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 whatsapp //参数可以组合使用
      >> package:/data/app/com.whatsapp-1/base.apk=com.whatsapp  installer=null
      
      adb shell pm path [包名] //列出对应包名的 .apk 位置
      
      adb shell pm list instrumentation //列出含有单元测试 case 的应用,后面可跟参数 -f 
      
      adb shell pm dump [包名] //**列出指定应用的 dump 信息**
      
      adb shell pm install [包名] //安装应用
      
      adb shell pm uninstall [包名] //卸载应用;使用 -k 选项,卸载时保存数据和缓存目录
      
      adb shell pm clear [包名] //清除应用数据
      

      am

      adb shell am start [-D | W | P | R | S] [包名] //启动应用
      >> 参数:
          -D: enable debugging 打开调试
          -W: wait for launch to complete 等待应用完成启动
          -P <FILE>: like above, but profiling stops when app goes idle //(不懂)
          -R: repeat the activity launch <COUNT> times.  Prior to each repeat, 重复开启应用
          -S: force stop the target app before starting the activity 先停止目标应用,再启动
      
      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

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

      adb shell input text [文本] //发送文本内容,不能发送中文
      
      adb shell input keyevent [KeyEvent] //发送按键事件
      
      adb shell input tap [x轴] [y轴] //对屏幕发送一个触摸事件
      
      adb shell input swipe [x0] [y0] [x1] [y1] [持续时间] //滑动事件
      >> adb shell input swipe 500 500 501 501 2000 //在小的距离内,较长的持续时间内进行滑动,最后表现出来的结果就是长按动作
      

      其他常用adb shell命令

      adb shell screencap -p [自定目标目录下的文件名] //截图命令
      
      adb shell screenrecord [自定目标目录下的文件名] //录制命令
      
      adb shell uiautomator dump //执行 UI automation tests , 获取当前界面的控件信息
      
      adb shell ime list -s //列出设备上的输入法
      
      adb shell ime set [输入法包名] //选择输入法
      
      adb shell wm size //获取设备分辨率
    2. 范例:
    #adb connect 192.168.6.211  (连接设备)
    #adb shell  (修改权限)
    #busybox su
    #busybox mount -o rw,remount /system
    #chmod 777 /system/bin
    #exit
    #adb push F:/test.txt /system/bin (传送文件)
    #reboot (重启设备)
  • 相关阅读:
    【笔记】机器学习
    【笔记】机器学习
    【NLP】暑假课作业3
    【NLP】暑假课作业1
    【笔记】机器学习
    【转】谈谈我对攻读计算机研究生的看法
    Android学习笔记-事件处理
    精读《C++ primer》学习笔记(第四至六章)
    那些年,当我还是个小白
    精读《C++ primer》学习笔记(第一至三章)
  • 原文地址:https://www.cnblogs.com/saryli/p/5260945.html
Copyright © 2011-2022 走看看