美文网首页
[测试开发] ADB(Android Debug Bridge)

[测试开发] ADB(Android Debug Bridge)

作者: 杨山炮 | 来源:发表于2018-08-18 10:23 被阅读0次

Android学习笔记

ADB命令

  • 常规操作

    • adb root  以 root 权限运行 adbd
    • adb remout  重新挂债
    • adb shell 进入手机
    • adb start-server  启动adb进程
    • adb kill-server kill adb 进程
    • adb devices  查看手机设备
    • adb version adb版本
    • adb install <apk file> 安装apk
    • adb shell pm clear <packagename> 清除应用缓存
    • adb -P <port> start-server 指定adb 的网络端口
    • adb  -s  <serial-naumber>制定手机序列号
    • adb shell am force-stop <packagename> 强制删除应用
    • adb uninstall [-k] <packagename> 删除应用  -k表示保留缓存数据
  • 截屏操作 

    • adb shell screencap -p /sdcard/name.png  截取png图片到SD卡下面
    • adb pull /sdcard/name.png ./   将sd卡线面的图片渠道本地当前文件夹
    • adb shell screenrecord /sdcard/filename.mp4 录屏
  • 查看应用列表

    • adb shell pm list packages

    • 参数 显示列表
      所有应用
      -f 显示应用关联的 apk 文件
      -d 只显示 disabled 的应用
      -e 只显示 enabled 的应用
      -s 只显示系统应用
      -3 只显示第三方应用
      -i 显示应用的 installer
      -u 包含已卸载应用
      <FILTER> 包名包含 <FILTER> 字符串
  • 查看应用activity

    • adb shell dumpsys activity activities | grep mFocusedActivity
  • 与应用交互

    • 常用Command
    Command 用途
    start [options] <INTENT> 启动 <INTENT> 指定的 Activity
    startservice [options] <INTENT> 启动 <INTENT> 指定的 Service
    broadcast [options] <INTENT> 发送 <INTENT> 指定的广播
    force-stop <packagename> 停止 <packagename> 相关的进程
    • 参数 含义
      -a <ACTION> 指定 action,比如 android.intent.action.VIEW
      -c <CATEGORY> 指定 category,比如 android.intent.category.APP_CONTACTS
      -n <COMPONENT> 指定完整 component 名,用于明确指定启动哪个 Activity,如com.example.app/.ExampleActivity
- Options参数的值

| 参数                                                         | 含义                             |
| ------------------------------------------------------------ | ---------------------- |
| `--esn <EXTRA_KEY>`                                          | null 值(只有 key 名) |
| `-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE>`                   | string 值              |
| `--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>`                     | boolean 值             |
| `--ei <EXTRA_KEY> <EXTRA_INT_VALUE>`                         | integer 值             |
| `--el <EXTRA_KEY> <EXTRA_LONG_VALUE>`                        | long 值                |
| `--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE>`                       | float 值               |
| `--eu <EXTRA_KEY> <EXTRA_URI_VALUE>`                         | URI                    |
| `--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>`             | component name         |
| `--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]`  | integer 数组           |
| `--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]` | long 数组              |
  • 调用activity :adb shell am start [options] <INTENT>

    • adb shell am start -n org.mazhuang.boottimemeasure/.MainActivity --es "toast" "hello, world"
  • 调用Service:adb shell am startservice [options] <INTENT>

    • adb shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService
  • 发送广播:adb shell am broadcast [options] <INTENT>

    • adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure/.BootCompletedReceiver
  • 文件管理

    • 复制文件到电脑:adb pull /sdcard/<device-file> <pc-path>
    • 推送文件到设备adb push <pc-file> /sdcard/<device-file>
  • 按键模拟

    • adb shell input keyevent <keycode>
  • 日志管理

    Options 含义
    V Verbose(最低,输出得最多)
    D Debug
    I Info
    W Warning
    E Error
    F Fatal
    S Silent(最高,啥也不输出)

    adb logcat <options> |grep

  • 设备管理

    • adb shell getprop <product-property>
  • 电池管理

    • adb shell dumpsys battery
  • 屏幕分辨率

    • adb shell wm size
  • 屏幕密度

    • adb shell wm density
  • 显示屏幕参数

    • adb shell dumpsys window displays
  • 查看进程

    • adb shell ps
  • 资源占用情况

    • adb shell top

      列名 含义
      PID 进程 ID
      PR 优先级
      CPU% 当前瞬间占用 CPU 百分比
      S 进程状态(R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
      #THR 线程数
      VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
      RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)
      PCY 调度策略优先级,SP_BACKGROUND/SPFOREGROUND
      UID 进程所有者的用户 ID
      NAME 进程名

ADB操作

提取手机中安装的apk

1. 找到程序的包名

adb shell pm list packages

nan@breeze:~$ adb shell pm list packages
package:com.android.fmradio
package:com.mediatek.gba
package:com.mediatek.ims
package:com.qihoo.safe.remotecontrol.stub
package:com.qiku.blackmagic
package:com.android.providers.telephony
package:com.qiku.logsystem
package:com.goodix.fingerprint
package:com.android.providers.calendar
package:com.daimajia.gold
2. 找到apk的位置

adb shell pm path package_name

以取出淘宝apk为例
nan@breeze:~$  adb shell pm path com.taobao.taobao
package:/data/app/com.taobao.taobao-1/base.apk
3. 将apk pull出来

adb pull apk_path

nan@breeze:~$ adb pull /data/app/com.taobao.taobao-1/base.apk
/data/app/com.taobao.taobao-1/base.apk: 1 file pulled. 9.1 MB/s (80300927 bytes in 8.424s)

相关文章

  • ADB常用命令及其用法大全

    ADB简介: ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的...

  • adb shell常用命令总结

    ADB 简介: ADB即是Android Debug Bridge,它是Android开发/测试人员不可替换的强大...

  • adb 简单的使用

    简介: ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工...

  • ADB—与应用交互

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是...

  • ADB—文件管理与模拟按键/输入

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是...

  • ADB—查看日志

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是...

  • ADB—查看设备信息

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是...

  • ADB—应用管理

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是...

  • ADB—修改设置

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是...

  • ADB—刷机相关命令

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是...

网友评论

      本文标题:[测试开发] ADB(Android Debug Bridge)

      本文链接:https://www.haomeiwen.com/subject/ntkdfftx.html