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
命令:
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 连接线的限制!
操作步骤:
- 将 Android 设备与将运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。
- 将设备与电脑通过 USB 线连接。
应确保连接成功(可运行
adb devices
- 让设备在 5555 端口监听 TCP/IP 连接:
adb tcpip 5555
- 断开 USB 连接。
- 找到设备的 IP 地址。
一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到。 - 通过 IP 地址连接设备。
adb connect <device-ip-address>
这里的 <device-ip-address>
- 确认连接状态。
adb devices
adb connect <device-ip-address>
adb kill-server
adb disconnect <device-ip-address>
[serialNumber] [state]
offline
device
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 | 包含已卸载应用 |
| 包名包含 |
所有应用
命令:
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
adb install <apk file>
adb install
参数 | 含义 |
-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
adb shell dumpsys battery
12.屏幕分辨率
adb shell wm size
adb shell wm density
adb shell dumpsys window displays
adb shell dumpsys iphonesubinfo
adb shell getprop ro.build.version.release
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
21.录制屏幕
录制屏幕以 mp4 格式保存到 /sdcard:
adb shell screenrecord /sdcard/filename.mp4
需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。
22.使用 Monkey 进行压力测试
Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。
简单用法:
adb shell monkey -p <packagename> -v 800
表示向 <packagename>
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