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 (重启设备)
  • 相关阅读:
    AJAX异步传输——以php文件传输为例
    js控制json生成菜单——自制菜单(一)
    vs2010中关于HTML控件与服务器控件分别和js函数混合使用的问题
    SQL数据库连接到服务器出错——无法连接到XXX
    PHP错误:Namespace declaration statement has to be the very first statement in the script
    【LeetCode】19. Remove Nth Node From End of List
    【LeetCode】14. Longest Common Prefix
    【LeetCode】38. Count and Say
    【LeetCode】242. Valid Anagram
    【LeetCode】387. First Unique Character in a String
  • 原文地址:https://www.cnblogs.com/saryli/p/5260945.html
Copyright © 2011-2022 走看看