1.启动/停止
启动 adb server 命令:
adb start-server

(一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。)

停止 adb server 命令:

adb kill-server
2.查看 adb 版本

命令:

adb version

示例输出:

Android Debug Bridge version 1.0.32
Revision 09a0d98bebce-android
3.以 root 权限运行 adbd

adb 的运行原理是 PC 端的 adb server 与手机端的守护进程 adbd 建立连接,然后 PC 端的 adb client 通过 adb server 转发命令,adbd 接收命令后解析运行。

所以如果 adbd 以普通权限执行,有些需要 root 权限才能执行的命令无法直接用 adb xxx 执行。这时可以 adb shell 然后 su 后执行命令,也可以让 adbd 以 root 权限执行,这个就能随意执行高权限命令了。

命令:

adb root

正常输出:

restarting adbd as root

现在再运行 adb shell,看看命令行提示符是不是变成 # 了?

有些手机 root 后也无法通过 adb root 命令让 adbd 以 root 权限执行,比如三星的部分机型,会提示 adbd cannot run as root in production builds,此时可以先安装 adbd Insecure,然后 adb root 试试。

相应地,如果要恢复 adbd 为非 root 权限的话,可以使用 adb unroot 命令。

4.无线连接

除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 USB 连接线的限制!

操作步骤:

  1. 将 Android 设备与将运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。

  2. 将设备与电脑通过 USB 线连接。

    应确保连接成功(可运行 adb devices 看是否能列出该设备)。

  3. 让设备在 5555 端口监听 TCP/IP 连接:

    adb tcpip 5555
  4. 断开 USB 连接。

  5. 找到设备的 IP 地址。

    一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到。

  6. 通过 IP 地址连接设备。

    adb connect <device-ip-address>

    这里的 <device-ip-address> 就是上一步中找到的设备 IP 地址。

  7. 确认连接状态。

    adb devices

    如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect <device-ip-address> 那一步;

    如果还是不行的话,通过 adb kill-server 重新启动 adb 然后从头再来一次试试。

    断开无线连接

    命令:

    adb disconnect <device-ip-address>
    5.查询已连接设备/模拟器

    命令:

    adb devices

    输出示例:

    List of devices attached

    cf264b8f device

    emulator-5554 device

    输出格式为 [serialNumber] [state],serialNumber 即我们常说的 SN,state 有如下几种:

    • offline —— 表示设备未连接成功或无响应。

    • device —— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。

    • no device —— 没有设备/模拟器连接。

      6.查看应用列表

      查看应用列表的基本命令格式是

      adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]

      即在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如下:

      参数
      显示列表


      所有应用

      -f
      显示应用关联的 apk 文件

      -d
      只显示 disabled 的应用

      -e
      只显示 enabled 的应用

      -s
      只显示系统应用

      -3
      只显示第三方应用

      -i
      显示应用的 installer

      -u
      包含已卸载应用

      <FILTER>
      包名包含 <FILTER> 字符串

      所有应用

      命令:

      adb shell pm list packages

      系统应用

      命令:

      adb shell pm list packages -s
      第三方应用

      命令:

      adb shell pm list packages -3
      包名包含某字符串的应用

      比如要查看包名包含字符串 test 的应用列表,命令:

      adb shell pm list packages test

      当然也可以使用 grep 来过滤:

      adb shell pm list packages | grep test
      7.安装 APK

      命令:

      adb install <apk file>

      参数:

      adb install 后面可以跟一些参数来控制安装 APK 的行为,常用参数及含义如下:

      参数
      含义

      -r
      允许覆盖安装。

      -s
      将应用安装到 sdcard。

      -d
      允许降级覆盖安装。

      完整参数列表及含义可以直接运行 adb 命令然后查看 adb install [-lrtsdg] <file> 一节。

      如果见到类似如下输出(状态为 Success)代表安装成功:

      12040 KB/s (22205609 bytes in 1.801s)
      pkg: /data/local/tmp/SogouInput_android_v8.3_sweb.apk
      Success

      而如果状态为 Failure 则表示安装失败。

      8.卸载应用

      命令:

      adb uninstall [-k] <packagename>

      <packagename> 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。

      命令示例:

      adb uninstall com.qihoo360.mobilesafe

      表示卸载 360 手机卫士。

      9.清除应用数据与缓存

      命令:

      adb shell pm clear <packagename>

      <packagename> 表示应用名包,这条命令的效果相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」。

      命令示例:

      adb shell pm clear com.qihoo360.mobilesafe

      表示清除 360 手机卫士的数据和缓存。

      10.查看设备信息

      型号

      命令:

      adb shell getprop ro.product.model
      11.电池状况

      命令:

      adb shell dumpsys battery12.屏幕分辨率

      命令:

      adb shell wm size
      13.屏幕密度

      命令:

      adb shell wm density

      14.显示屏参数

      命令:

      adb shell dumpsys window displays
      15.android_id

      命令:adb shell settings get secure android_id

      16.获取IMEI

      在 Android 4.4 及以下版本可通过如下命令获取 IMEI:

      adb shell dumpsys iphonesubinfo
      17.Android 系统版本

      命令:

      adb shell getprop ro.build.version.release
      18.CPU 信息

      命令:

      adb shell cat /proc/cpuinfo
      19.更多硬件与系统属性

      设备的更多硬件与系统属性可以通过如下命令查看:

      adb shell cat /system/build.prop

      这会输出很多信息,包括前面几个小节提到的「型号」和「Android 系统版本」等。

      输出里还包括一些其它有用的信息,它们也可通过 adb shell getprop <属性名> 命令单独查看,列举一部分属性如下:

      属性名
      含义

      ro.build.version.sdk
      SDK 版本

      ro.build.version.release
      Android 系统版本

      ro.build.version.security_patch
      Android 安全补丁程序级别

      ro.product.model
      型号

      ro.product.brand
      品牌

      ro.product.name
      设备名

      ro.product.board
      处理器型号

      ro.product.cpu.abilist
      CPU 支持的 abi 列表

      persist.sys.isUsbOtgEnabled
      是否支持 OTG

      dalvik.vm.heapsize
      每个应用程序的内存上限

      ro.sf.lcd_density
      屏幕密度

      20.屏幕截图

      命令:

      adb shell screencap -p /sdcard/sc.png

      然后将 png 文件导出到电脑:

      adb pull /sdcard/sc.png

      可以使用 adb shell screencap -h 查看 screencap 命令的帮助信息,下面是两个有意义的参数及含义:

      参数
      含义

      -p
      指定保存文件为 png 格式

      -d display-id
      指定截图的显示屏编号(有多显示屏的情况下)

      实测如果指定文件名以 .png 结尾时可以省略 -p 参数;否则需要使用 -p 参数。如果不指定文件名,截图文件的内容将直接输出到 stdout。

      21.录制屏幕

      录制屏幕以 mp4 格式保存到 /sdcard:

      adb shell screenrecord /sdcard/filename.mp4

      需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。

      22.使用 Monkey 进行压力测试

      Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。

      简单用法:

      adb shell monkey -p <packagename> -v 800

      表示向 <packagename> 指定的应用程序发送 800 个伪随机事件。

      23.查看进程

      命令:

      adb shell ps
      24.查看实时资源占用情况

      命令:

      adb shell top
      
      

      25.查看手机ip信息

      
      
      adb shell  ifconfig
      
      
      26.查看当前显示的activity
      adb shell dumpsys activity top
      
      
      
      

      27.查看手机CPU信息

      cmd——adb shell——cd /proc------cat cpuinfo

      
      
      
      
      
      

      参考1.http://gold.xitu.io/entry/57c00fe4c4c971006179838a

      2.http://yifeiyuan.me/2016/06/30/ADB命令整理/

      3.https://developer.android.com/studio/command-line/logcat.html

adb命令使用总结的更多相关文章

  1. Android之什么是Activity和常用的ADB命令以及Android项目结构的认识

    总结一下之前学习Android的一些内容 一:  Android常用的ADB命令(adb android调试桥)      1.adb devices   查看模拟器设备并重新连接. 2.adb ki ...

  2. 分享一个常用Adb命令

    分享一个常用Adb命令 首先 首先感谢@xuxu的常用adb命令,收益良多,但是已经不能满足于我,所以补充了下. 再者 好久没发帖了,最近论坛老司机们都在讨论/总结,我就用这个干货回报吧. 最后 基于 ...

  3. Android ADB命令大全

    通过ADB命令查看wifi密码.MAC地址.设备信息.操作文件.查看文件.日志信息.卸载.启动和安装APK等   ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-s ...

  4. Android的常用adb命令

    第一部分:1. ubuntu下配置环境anroid变量:在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#setandroid environment2. 运行E ...

  5. ADB命令详解

    一.adb介绍 ADB的全称为Android Debug Bridge,字面意思就是安卓调试桥接,简单点说,它是Android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后 ...

  6. adb 命令

    adb命令 su 获取权限 ls 显示目录下的文件 cd / 跳转路径 pm 直接执行设备命令 exit 退出 adb devices 查看设备 adb shell 登录设备shell adb 用桥接 ...

  7. 在Mac上配置adb命令

    在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一.终端中输入 cd ~ 二.输入touch .bash_profile 回车 touch:如果没有,则创建文件 ...

  8. python学习之——调用adb命令完成移动端界面测试

    实现原理 Hierarchy Viewer:获得当前手机实时的UI信息,方便用于手机的自动化测试: python中的subprocess.Popen():调用系统命令: uiautomator工具:获 ...

  9. 【转】】Android ADB命令大全

    ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootl ...

  10. Android测试——adb命令

    Adb (Android Debug Bridge)起到调试桥的作用. 通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序.adb采用监听Socket TCP 5554等端口 ...

随机推荐

  1. Ubuntu 安装 H3C iNode 客户端

    Ubuntu 安装 H3C iNode 客户端 ​ 之前在网上找了很多方法,也找了不少的安装包,却由于各种各样的问题,最后都没有成功(因为自己太菜).而学校用的就是iNode,客户端装不了,只能用Wi ...

  2. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

  3. 汇编之 eax, ebx, ecx, edx, esi, edi, ebp, esp??

    一般寄存器:AX.BX.CX.DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI.DISI:来源索引暂存器,DI:目的索引暂存器 堆叠.基底暂存器:SP.BP ...

  4. vs2017下发现解决python运行出现‘No module named "XXX""的解决办法

    对于使用vs2017开发python程序无疑发现,在解决方案资源管理器中设置把两个xxx.py,yyy.py文件都设置为启动文件,然后分别在vs2017这个IDE下运行这个两个文件在项目工程中运行,发 ...

  5. js基础梳理-究竟什么是变量对象,什么是活动对象?

    首先,回顾下上篇博文中js基础梳理-究竟什么是执行上下文栈(执行栈),执行上下文(可执行代码)?的执行上下文的生命周期: 3.执行上下文的生命周期 3.1 创建阶段 生成变量对象(Variable o ...

  6. 从新安装SQLserver 过程中报错问题合集

    1.安装SQL SERVER2008 到安装支持文件就闪退? 分析:这个是由于安装目录没有删除干净导致的,我遗漏了一个文件夹:microsoft Management console文件夹没有删除的原 ...

  7. BZOJ.5404.party(树链剖分 bitset Hall定理)

    题目链接 只有指向父节点的单向道路,所以c个人肯定在LCA处汇合.那么就成了有c条到LCA的路径,求最大的x,满足能从c条路径中各选出x个数,且它们不同. 先要维护一条路径的数的种类数,可以树剖+每条 ...

  8. 潭州课堂25班:Ph201805201 爬虫基础 第七课 Python与常见加密方式 (课堂笔记)

    打开图形界面  18版 Python与常见加密方式 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时 ...

  9. crm 中使用的Django方法

    . 通过ChangeList封装好多数据 . 销售中公共资源:Q查询,3天 15天 . 使用yield实现 - 生成器函数,对数据进行加工处理 - __iter__和yield配合 . 获取Model ...

  10. [模板][P3377]左偏树

    Description: 一开始有N个小根堆,每个堆包含且仅包含一个数.接下来需要支持两种操作: 操作1: 1 x y 将第x个数和第y个数所在的小根堆合并(若第x或第y个数已经被删除或第x和第y个数 ...