熟悉安卓测试的,很少有对 ADB 不熟悉的。然而即使 ADB 用的久了,却也仍感觉对 ADB 很陌生,你需要记住很多很多的用法,才能把 ADB 玩转。
曾有人将许许多多的命令收集起来,放在了 GitHub 上 Awesome ADB,后来又见到 Facebook 推出了fb-adb 这个项目,为了让 adb 更好用一点。无数的人前赴后继,我也想再推波助澜一下,直到 ADB 官方能够支持的好一点。于是就有了 FA 这个项目。为了能让 ADB 更好用一些。
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
--launch
,可以在完成安装成功的时候,自动启动应用。--force
,可以再安装前提前卸载掉应用,避免覆盖安装失败的问题。以前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 通信了。然后会有更多的功能加进来。