# README
fa = fast adb
fa
is a command line tool that wraps adb
in order to extend it with extra features and commands that make working with Android easier.
Features
- show device selection when multi device connected
- screenshot
- install support http url
- support launch after install apk
- support
fa devices --json
- support
fa shell
- colorful logcat and filter with package name
- install apk and auto click confirm
- [.] check device health status
- show current app
- unlock device
- reset device state, clean up installed packages
- show wlan (ip,mac,signal), enable and disable it
- share device to public web
- install ipa support
Install
For mac
brew install codeskyblue/tap/fa
For windows and linux
download binary from releases
Usage
Show version
$ fa version
fa version v0.0.5 # just example
adb server version 0028
Show devices
- Remove header
List of devices attached
to make it easy parse
$ fa devices
3578298f device
Run adb command with device select
if multi device connected, fa
will give you list of devices to choose.
$ fa adb shell
@ select device
> 3aff8912 Smartion
vv12afvv Google Nexus 5
{selected 3aff8912}
shell $
-s
option and $ANDROID_SERIAL
is also supported, but if you known serial, maybe use adb
directly is better.
$ fa -s 3578298f adb shell pwd
/
$ ANDROID_SERIAL=3578298 fa adb shell pwd
/
Screenshot
only png
format now.
fa screenshot -o screenshot.png
Install APK
fa install ApiDemos-debug.apk # from local file
fa install http://example.org/demo.apk # from URL
fa install -l ApiDemos-debug.apk # launch after install
fa install -f ApiDemos-debug.apk # uninstall before install
Show debug info when install
$ fa -d install --force --launch https://github.com/appium/java-client/raw/master/src/test/java/io/appium/java_client/ApiDemos-debug.apk
Downloading ApiDemos-debug.apk...
2.94 MiB / 2.94 MiB [================================] 100.00% 282.47 KiB/s 10s
Download saved to ApiDemos-debug.apk
+ adb -s 0123456789ABCDEF uninstall io.appium.android.apis
+ adb -s 0123456789ABCDEF install ApiDemos-debug.apk
ApiDemos-debug.apk: 1 file pushed. 4.8 MB/s (3084877 bytes in 0.609s)
pkg: /data/local/tmp/ApiDemos-debug.apk
Success
Launch io.appium.android.apis ...
+ adb -s 0123456789ABCDEF shell am start -n io.appium.android.apis/.ApiDemos
Shell
Like adb shell
, run fa shell
will open a terminal
The difference is fa shell
will add /data/local/tmp
into $PATH
So if you have binary busybox
in /data/local/tmp
,
You can just run
$ fa shell busybox ls
# using adb shell you have to
$ adb shell /data/local/tmp/busybox ls
Pidcat (logcat)
Current implementation is wrapper of pidcat.py So use this feature, you need python installed.
$ fa help pidcat
USAGE:
fa pidcat [package-name ...]
OPTIONS:
--current filter logcat by current running app
--clear clear the entire log before running
--min-level value, -l value Minimum level to be displayed {V,D,I,W,E,F}
--tag value, -t value filter output by specified tag(s)
--ignore-tag value, -i value filter output by ignoring specified tag(s)
The pidcat is very beautiful.
Reference
Articles
- https://github.com/mzlogin/awesome-adb
- Facebook One World Project
- Facebook Device Lab
- Article reverse ssh tunnling https://www.howtoforge.com/reverse-ssh-tunneling
- openstf/adbkit
- ADB Source Code
- ADB Protocols OVERVIEW.TXT SERVICES.TXT SYNC.TXT
- JakeWharton/pidcat
Libs might be useful
- https://github.com/fatedier/frp
- https://golanglibs.com/search?q=tunnel
- https://github.com/koding/tunnel
- https://github.com/mmatczuk/go-http-tunnel
- https://github.com/inconshreveable/go-tunnel
LICENSE
# Functions
No description provided by the author
# Variables
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author