• 【Android】SDK工具学习


    ADB(Android Debug Bridge) 小白笔记

    学习资料


    adb简要介绍

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

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

    adb命令学习

    adb命令主要分为三种

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

    - adb命令

    一般格式:

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

    常用adb命令:

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

    - adb shell 命令

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

    常用adb shell命令:

    pm

    1. adb shell pm list package//列出所有的应用的包
    2. adb shell pm list package-s //列出系统应用
    3. adb shell pm list package-3//列出第三方应用
    4. adb shell pm list package-f //列出应用包名及对应的apk名及存放位置
    5. adb shell pm list package-i [关键字]//过滤关键字,可以很方便地查找自己想要的应用
    6. adb shell pm list package-f -3-i whatsapp //参数可以组合使用
    7. >>package:/data/app/com.whatsapp-1/base.apk=com.whatsapp installer=null
    8. adb shell pm path [包名]//列出对应包名的 .apk 位置
    9. adb shell pm list instrumentation //列出含有单元测试 case 的应用,后面可跟参数 -f
    10. adb shell pm dump[包名]//**列出指定应用的 dump 信息**
    11. adb shell pm install [包名]//安装应用
    12. adb shell pm uninstall [包名]//卸载应用;使用 -k 选项,卸载时保存数据和缓存目录
    13. adb shell pm clear [包名]//清除应用数据

    am

    1. adb shell am start [-D | W | P | R | S][包名]//启动应用
    2. >>参数:
    3. -D: enable debugging 打开调试
    4. -W: wait for launch to complete 等待应用完成启动
    5. -P <FILE>: like above, but profiling stops when app goes idle //(不懂)
    6. -R: repeat the activity launch <COUNT> times.Prior to each repeat,重复开启应用
    7. -S: force stop the target app before starting the activity 先停止目标应用,再启动
    8. adb shell am instrument //**启动一个 instrumentation , 单元测试或者 Robotium 会用到**
    9. adb shell am monitor //**监控 crash 与 ANR**
    10. adb shell am force-stop [包名]//结束应用
    11. adb shell am startservice //启动一个服务
    12. adb shell am broadcast //发送一个广播

    input

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

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

    其他常用adb shell命令

    1. adb shell screencap -p [自定目标目录下的文件名]//截图命令
    2. adb shell screenrecord [自定目标目录下的文件名]//录制命令
    3. adb shell uiautomator dump//执行 UI automation tests , 获取当前界面的控件信息
    4. adb shell ime list -s //列出设备上的输入法
    5. adb shell ime set[输入法包名]//选择输入法
    6. adb shell wm size //获取设备分辨率

    monkey,dumpsys,log(后面另外学习,整理笔记)

    - Linux 命令

    (后面另外学习,整理笔记)

    感谢阅读,一起努力呗!
  • 相关阅读:
    NoSuchElementException if input is exhausted 报错
    批量更改文件后缀名
    初识Java
    简单cmd
    电脑操作简易快捷键
    java学习 Markdown+开始写博客
    JavaScript基础知识
    当数位数不够这,前面补0
    vs code 设置
    json日期格式转换为 2019-11-27 格式
  • 原文地址:https://www.cnblogs.com/jennyhui/p/4640949.html
Copyright © 2020-2023  润新知