adb,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。
它是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 adb 命令以图形化的形式实现了,但是了解一下还是有必要的。
把常用的 adb 指令汇总了一下,如下:
adb devices # 显示当前连接的 adb 设备,会打印设备的序列号及其对应的状态
adb shell # 进入 Android 系统的 shell 模式
adb -s [系列号] shell # 指定机器进入它的 shell 模式,在 PC 连接多台 Android 设备时常会用到
adb root # 切换到 root 用户
adb remount # 重新挂载,需要在 root 后执行,执行后可写 system 分区
adb logcat -c # 清除 log 缓存
adb logcat # 打印机器 log 日志
adb logcat > [PC本地文件名] # 读取机器的 log 并将 log 保存到指定的 PC 文件中
adb install [APK路径]:
adb install -r [APK路径]:
adb uninstall [应用包名]:
adb pull [android端文件名] [PC本地路径]
adb push [PC端文件名] [android 端路径]
adb shell wm size # 查看屏幕分辨率
adb shell am start -n [包名]/[Activity名] # 启动指定的 Activity,这里 Activity名是包括包名在内的
adb shell am startservice [包名]/[Service名] # 启动指定的 Service,这里 Service也包括包名
adb shell am broadcast -a [广播action] # 发送指定 action 的广播
adb shell pm list packages # 显示设备里面所有应用的包名
adb shell service list # 显示当前运行的系统服务
adb shell dumpsys activity top # 显示当前最前端的 Activity
adb shell cat /proc/cpuinfo # 显示设备的CPU信息
adb shell cat /proc/meminfo # 显示设备的内存使用情况
adb shell screencap [文件名] # 屏幕截图并保存到对应的文件
adb shell screenrecord [文件名] # 屏幕录屏并保存到对应的文件
adb shell input text [字符串] # 将字符串输入到当前获取焦点的输入框
adb shell input tap [x坐标] [y坐标] # 模拟触摸屏幕指定坐标
adb shell input swipe [起始x坐标] [起始y坐标] [目标x坐标] [目标y坐标] [耗时] # 模拟滑动屏幕事件
adb shell input keyevent [keycode] # 模拟点击实体按键
大多数 Android 设备只有一个 USB 口,有时调试外设的时候,需要通过 USB 跟 Android 设备相连,此时就没有办法连接 PC 抓 log 了,这样会给调试带来很大的麻烦。
使用 wifi 的方式无线连接 adb,可以完美解决这个问题:
1、通过 adb shell netcfg 可查看设备 IP 地址(假设为 1.1.1.1)
2、PC 通过 ping 设备 IP 地址可查看是否在同一网段(ping 1.1.1.1)
3、执行连接:adb connect 1.1.1.1
4、如果提示失败,则用 adb tcpip 模式重启 adb:adb tcpip 5555
5、再重新连接设备 IP
然后,连接成功后就可以开始愉快地调试啦~