adb命令查看包名 adb shell 如何关闭和启动应用 adb命令截屏幕 grep:过滤 adb 常用命令

394 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情

目录

adb命令查看包名

adb shell 如何关闭和启动应用

adb命令截屏幕

grep:过滤

adb 常用命令

查看设备信息

adb shell getprop ro.product.model

输出示例:

Nexus 5

电池状况

adb shell dumpsys battery

输入示例:

Current Battery Service state:
  AC powered: false
  USB powered: true
  Wireless powered: false
  status: 2
  health: 2
  present: true
  level: 44
  scale: 100
  voltage: 3872
  temperature: 280
  technology: Li-poly

其中 scale 代表最大电量,level 代表当前电量。上面的输出表示还剩下 44% 的电量。

屏幕分辨率

adb shell wm size

输出示例:

Physical size: 1080x1920

该设备屏幕分辨率为 1080px * 1920px。

如果使用命令修改过,那输出可能是:

Physical size: 1080x1920
Override size: 480x1024

表明设备的屏幕分辨率原本是 1080px * 1920px,当前被修改为 480px * 1024px。

屏幕密度

adb shell wm density

输出示例:

Physical density: 420

该设备屏幕密度为 420dpi。

如果使用命令修改过,那输出可能是:

Physical density: 480
Override density: 160

表明设备的屏幕密度原来是 480dpi,当前被修改为 160dpi。

显示屏参数

adb shell dumpsys window displays

输出示例:

WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
  Display: mDisplayId=0
    init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1810x1731
    deferred=false layoutNeeded=false

其中 mDisplayId 为 显示屏编号,init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虚拟按键,高度为 1920 - 1794 = 126px 合 42dp。

android_id

adb shell settings get secure android_id

输出示例:

51b6be48bac8c569

IMEI

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

adb shell dumpsys iphonesubinfo

输出示例:

Phone Subscriber Info:
  Phone Type = GSM
  Device ID = 860955027785041

其中的 Device ID 就是 IMEI。

而在 Android 5.0 及以上版本里这个命令输出为空,得通过其它方式获取了(需要 root 权限):

adb shell
su
service call iphonesubinfo 1

输出示例:

Result: Parcel(
  0x00000000: 00000000 0000000f 00360038 00390030 '........8.6.0.9.'
  0x00000010: 00350035 00320030 00370037 00350038 '5.5.0.2.7.7.8.5.'
  0x00000020: 00340030 00000031                   '0.4.1...        ')

把里面的有效内容提取出来就是 IMEI 了,比如这里的是 860955027785041

Android 系统版本

adb shell getprop ro.build.version.release

输出示例:

5.0.2

IP 地址

每次想知道设备的 IP 地址的时候都得「设置」-「关于手机」-「状态信息」-「IP地址」很烦对不对?通过 adb 可以方便地查看。

adb shell ifconfig | grep Mask

输出示例:

inet addr:10.130.245.230  Mask:255.255.255.252
inet addr:127.0.0.1  Mask:255.0.0.0

那么 10.130.245.230 就是设备 IP 地址。

在有的设备上这个命令没有输出,如果设备连着 WiFi,可以使用如下命令来查看局域网 IP:

adb shell ifconfig wlan0

输出示例:

wlan0: ip 10.129.160.99 mask 255.255.240.0 flags [up broadcast running multicast]

adb查看包名

adb shell pm list packages

adb shell 如何关闭和启动应用

打开

adb shell am  start -n com.itep.mt.factorytests/com.itep.mt.factorytests.LaunchActivity

关闭

adb shell am force-stop com.itep.mt.factorytests

adb命令截屏幕

adb命令截图:adb shell screencap 一般的手机都有截图功能

grep:过滤

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

adb shell pm list packages | grep mazhuang

adb 常用命令

File Manager

  • adb pull
    从 Android 设备下载文件到 PC。

adb pull [local]

其中 代表文件在设备中的地址,[local] 代表存放目录。

  • adb push
    把 PC 的文件存放到 Android 设备。

adb push

  • adb shell ls
    列出目录内容。

adb shell ls [options]

  • adb shell cd
    和一般的 PC 的 cd 差不多,主要用于切换目录。

adb shell cd

  • adb shell rm
    删除文件或者目录

adb shell rm [options]

  • adb shell mkdir
    创建一个文件夹

adb shell mkdir [options]

  • adb shell touch
    创建一个新文件或者改变文件修改时间

adb shell touch [options]

  • adb shell pwd
    定位当前的操作位置

adb shell pwd

  • adb shell cp
    字面意思,很好理解,复制。

adb shell cp [options]

  • adb shell mv
    移动或者更名文件

adb shell mv [options]

Screenshot

  • adb shell screencap
    一般的手机都有截图功能(一般下拉菜单中有),但不代表所有 Android 设备都在可视化中开启了这个功能,所以这时候这个 adb 命令就显得特别重要。

adb shell screencap

结合前面的 pull 命令,就可以让我们轻松拿到屏幕截图。

adb shell screencap /sdcard/test.png 截图存放
adb pull /sdcard/test.png 取到 PC 当前文件夹

  • adb shell screencord
    有了屏幕截图,自然也得有屏幕录制,可惜这个必须在 Android 4.4 (API level 19) 以上才可使用。

adb shell screencord /sdcard/test.mp4

这个还可以对大小 size 和 时间做限制,感兴趣的可以自行了解。

System

  • adb root
    获取 root 权限。
  • adb sideload
  • adb shell ps
    打印进程状态。
  • adb shell top
    展现上层 CPU 进程信息。
  • adb shell getprop
    获取 Android 系统服务属性
  • adb shell setprop
    设置服务属性。