背景

熟悉安卓测试的,很少有对 ADB 不熟悉的。然而即使 ADB 用的久了,却也仍感觉对 ADB 很陌生,你需要记住很多很多的用法,才能把 ADB 玩转。
曾有人将许许多多的命令收集起来,放在了 GitHub 上 Awesome ADB,后来又见到 Facebook 推出了fb-adb 这个项目,为了让 adb 更好用一点。无数的人前赴后继,我也想再推波助澜一下,直到 ADB 官方能够支持的好一点。于是就有了 FA 这个项目。为了能让 ADB 更好用一些。

FA 介绍

FA 的全称 FastADB,希望 ADB 能用的更顺一点。项目地址 https://github.com/codeskyblue/fa 因为是 Go 语言写的,Windows 和 Mac 都可以直接用编译出来的二进制。(目前版本 v0.1.0)

Mac 安装

目前 Mac 的安装最简单,一条命令 brew install codeskyblue/tap/fa 就安装上了。

Win 安装

需要从https://github.com/codeskyblue/fa/releases下载,安装放到 PATH 的目录下。

增加的一些方便使用的功能。如下

有多个设备的时候可以使用上下键选择

$ fa adb shell
@ select device
  > 3aff8912  Smartion
    vv12afvv  Google Nexus 5
{selected 3aff8912}
shell $

使用方法只是在原来的上面加上的 fa

截图

原来的 adb 并没有什么截图命令,所以这里提供了一个方便的方法。

$ fa screenshot -o screenshot.png
$ fa screenshot # 默认保存为 screenshot.png
$ fa screenshot -o screenshot.png --open # 保存图片,并打开

安装应用

这里为了方便,及支持本地 APK 文件的安装,也支持直接 URL 做参数。

$ fa install ApiDemos-debug.apk
$ fa install https://github.com/appium/java-client/raw/master/src/test/java/io/appium/java_client/ApiDemos-debug.apk

adb devices

以前adb devices命令的命令输出,这个样子

$ adb devices
List of devices attached
3578298f        device

用其他语言解析的时候,经常要写的比较麻烦。

所以fa devices 提供的--json参数,方便其他语言解析。

$ fa devices --json
[
  {
    "serial": "3578298f",
    "status": "device"
  }
]

后续

因为现在我对 ADB 协议还不是很熟悉,现在还有一些命令离不开这个 adb.exe,估计以后慢慢完善了,就直接通过 adb 协议跟 adb server 通信了。然后会有更多的功能加进来。


↙↙↙阅读原文可查看相关链接,并与作者交流