Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FB-ADB(1)			   Facebook			     FB-ADB(1)

NAME
       fb-adb -	Improved Android Debug Bridge

SYNOPSIS
       fbadb help [for-command]

       fbadb bash-completion

       fbadb logwrite [options]	message-parts...

       fbadb ctar [options] [paths...]

       fbadb readlink [options]	link

       fbadb rdex [options] dexfile classname [args...]

       fbadb ps-json [options]

       fbadb getprop [options] [properties...]

       fbadb logcat-json [options]

       fbadb finfo [options] [paths...]

       fbadb fcat [options] [files...]

       fbadb fget [options] remote [local]

       fbadb fput [options] local [remote]

       fbadb shell [options] [command [args...]]

       fbadb rcmd [options] command [args...]

       fbadb xcmd [options] program [args...]

       fbadb start-daemon [options]

       fbadb stop-daemon [options]

       See command-specific sections below for details.

DESCRIPTION
       fb-adb wraps adb	to provide enhanced shell, command execution, file
       transfer, system	diagnostic, and	other functionality.

       fb-adb shell (which can also be spelled fb-adb sh and fb-adb shellx)
       runs command and	its arguments through the device shell (which is
       usually mksh(1))	with all arguments shell-quoted. (command itself is
       unquoted, so it may contain shell constructs, e.g., globs.) fb-adb
       shell without arguments starts an interactive shell, making it slightly
       more efficient, especially when connecting to CPU-constrained devices.

       fb-adb rcmd is similar, except that it runs command directly without
       invoking	the shell and does not have a zero-argument form that starts
       an interactive shell.

       fb-adb rdex does	everything necessary to	execute	a jar file already on
       device as its own program.

       fb-adb help displays this documentation.

       See below for other useful commands, such as fb-adb finfo for
       describing the filesystem in JSON, fb-adb logcat-json for machine-
       readable	logcat,	fb-adb ps-json,	and fb-adb bash-completion.

       adb must	be on PATH.

ADVANTAGES OVER	ADB
       fb-adb

       o   provides bash tab completion	functions for everything

       o   is very fast: an AF_UNIX daemon allows us to	start at interactive
	   speeds

       o   is binary clean (no LF -> CRLF mangling),

       o   supports a variety of useful	utility	commands for running native
	   and Java code on device

       o   transmits and updates terminal window size via SIGWINCH,

       o   distinguishes standard output and standard error,

       o   properly muxes streams, each	with independent flow control,

       o   allows for ssh-like pty allocation control,

       o   propagates program exit status instead of always exiting with
	   status 0,

       o   properly escapes program arguments,

       o   kills remote	program	on local exit,

       o   provides a generic facility to elevate to root without re-escaping
	   command line	arguments,

       o   transparently supports alternate, faster transports for shell
	   connections,

       o   supports sending environment	variables to the child using dedicated
	   command-line	parameters and no shell	munging, and

       o   provides dedicated commands for filesystem access, logcat writing,
	   etc.	that are intended for use with scripts,

       o   is rapidly updated.

ADB OPTIONS
       -d, --device
	   Connect to a	device.	Identical to adb's -d option.

       -e, --emulator
	   Connect to an emulator. Identical to	adb's -e option.

       -sserial, --serial=serial
	   Connect to a	specific device. Identical to adb's -s option.

       -Hhostname, --hostname=hostname
	   Specifies the hostname of the adb server to which to	connect.
	   Identical to	adb's -H option.

       -Pport, --port=port
	   Specifies the port of the adb server	to which to connect. Identical
	   to adb's -P option.

TRANSPORT OPTIONS
       -Xtransport, --transport=transport
	   Connect over	the given transport. The default is shell.

	   shell means to run the fb-adb protocol over an "adb shell"
	   connection. This method is the most reliable.

	   unix	means to run the fb-adb	protocol over an AF_UNIX socket
	   connection forwarded	over ADB. This method may transfer data	faster
	   than	the shell transport, but it is experimental may	take slightly
	   longer to set up.

	   tcp:HOST,PORT means to use a	TCP socket to connect from the device
	   to the host.	fb-adb automatically manages making the	connection,
	   but it cannot automatically figure out on what network address the
	   device can reach the	host. You must tell it what address to bind
	   to: HOST and	PORT. HOST and PORT are	any strings accepted as	the
	   node	and service arguments, respectively, to	getaddr(3), and	can be
	   names or numbers.

	   Examples: "tcp:10.2.5.1,12345" and "tcp:myhost.example,gopher"

	   This	transport is typically much faster than	the others: it
	   bypasses adb	completely.

	   Note	that traffic to	devices	is unencrypted.

       --avoid-daemon
	   fb-adb normally automatically starts	a daemon on device to improve
	   connection setup performance. This option prevents fb-adb from
	   starting a daemon or	attempting to use one already started.

USER OPTIONS
       -r, --root
	   Attempt to become root.

       -uuser, --user=user
	   Attempt to become user. user	is an identifier that run-as on	the
	   device understands, e.g., "com.facebook.wakizashi".

	   Note	that some devices have broken run-as implementations: on these
	   devices, run-as will	not recognize a	package	never even though
	   "fb-adb rcmd	am list	packages" indicates that the package is	on the
	   device.

CWD OPTIONS
       -Cdir, --chdir=dir
	   Change to dir on device.

SHELL CONTROL OPTIONS
       -D, --no-ctty
	   Do not give the remote child	a controlling terminal.	Normally, fb-
	   adb connects	a remote child to a controlling	terminal so that when
	   the a fb-adb	disconnects, the child receives	a SIGHUP. With this
	   option set, the child instead sees its standard streams closed, but
	   is not sent any signal.

       -t, --force-tty
	   Normally, if	a command is supplied, fb-adb gives the	remote child
	   pipes for its standard streams. This	option instructs fb-adb	to
	   instead use a pseudoterminal	for each standard stream connected to
	   a terminal on the client. If	repeated, -t makes fb-adb give the
	   child a pseudoterminal even for streams for which the fb-adb	client
	   does	not have a terminal.

       -T, --disable-tty
	   Never give the child	ttys for standard input, standard output, or
	   standard error. Use pipes instead, even if fb-adb itself is
	   connected to	a tty.

       -Eexename, --exename=exename
	   Execute exename as the remote child program instead of command.
	   command is argv[0] in any case. If starting an interactive shell,
	   use command instead of the default shell executable.

       -Yenvvar, --setenv=envvar
	   Set envvar in the environment of the	child. envvar must a string of
	   the form "NAME=VALUE". If the -Y option is given multiple times, we
	   set multiple	environment variables.

	   fb-adb applies the -Y, -F, and -K environment operations in the
	   order they appear on	the command line.

       -F, --clearenv
	   Clear all environment variables set so far, both ones inherited
	   from	the environment	and ones previously specified with --setenv.

       -Kenvvar, --unsetenv=envvar
	   Unset the environment variable envvar.

FILE TRANSFER OPTIONS
       --write-mode=write-mode
	   Control how we write	files on whatever machine receives them.

	   In atomic mode, we write to a uniquely-named	temporary file in the
	   same	directory as the target	file, then rename the temporary	file
	   on top of the destination file after	fully writing it. This way, no
	   program can observe an incompletely-written file under the
	   destination filename.

	   In inplace mode, we write directly to the target file, first
	   truncating it.

	   By default, we use atomic mode, except that we use inplace when the
	   destination file has	a link count greater than one (in which	case
	   atomic mode would break the hard link), when	the destination	is not
	   a regular file, or when we do not have write	access to the
	   destination file's parent directory.	The write-mode option
	   overrides this heuristic.

       --sync
	   Use fsync(2)	to make	sure written files reach stable	storage	before
	   indicating success.

       -p, --preserve
	   Preserve modification times and UGO permission bits.	(We don't try
	   to preserve ownership, this UIDs aren't the same across different
	   systems.)

       --mode=octal-ugo
	   Set an explicit permissions on the written file, overriding both
	   the default umask and permissions from the --preserve option.

HELP COMMAND
       fbadb help [for-command]

       Display help.

       for-command
	   Command for which to	display	help. If omitted, display help for all
	   commands.

BASH-COMPLETION	COMMAND
       fbadb bash-completion

       Write bash completion functions for fb-adb to stdout. Use like this:

	 eval "$(fb-adb	bash-completion)"

LOGWRITE COMMAND
       fbadb logwrite [-der] [-ttag] [--tag=tag] [-xpriority]
       [--priority=priority] [-d] [--device] [-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] message-parts...

       Write to	logcat on device.

       message-parts...
	   The log message to write. All message arguments are joined with a
	   single space	character between them.	The combined message is	then
	   logged.

       -ttag, --tag=tag
	   Log mesage with the given tag instead of the	default, "fb-adb-
	   logwrite".

       -xpriority, --priority=priority
	   Log message with the	given priority instead of the default,
	   "informational".

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	and --user
       options are described above.

CTAR COMMAND
       fbadb ctar [-fder] [-f] [--ignore-errors] [--exclude=glob-pattern]
       [--exclude-regex=eregex]	[--include=glob-pattern]
       [--include-regex=eregex]	[-d] [--device]	[-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir] [paths...]

       The fb-adb ctar command produces	a tar file from	the given path
       arguments.

       paths...
	   Names of a file or directories to include in	the tar	archive.

       -f, --ignore-errors
	   The --ignore-errors option tells fb-adb ctar	to silently omit from
	   the archive files that could	not be opened.

       --exclude=glob-pattern
	   Exclude from	the archive any	file whose basename matches glob-
	   pattern, a shell-style glob pattern.	Multiple --exclude,
	   --exclude-regex, --include, and --include-regex options may be
	   given.

       --exclude-regex=eregex
	   Exclude from	the archive any	file whose full	path (as constructed
	   from	an entry in paths matches exclude-regex, a POSIX-style regular
	   expression. Multiple	--exclude, --exclude-regex, --include, and
	   --include-regex options may be given.

       --include=glob-pattern
	   Include in the archive only files whose basenames matches glob-
	   pattern, a shell-style glob pattern.	Multiple --exclude,
	   --exclude-regex, --include, and --include-regex options may be
	   given.

       --include-regex=eregex
	   Include in the archive only files whose full	path (as constructed
	   from	an entry in paths) matches exclude-regex, a POSIX-style
	   regular expression. Multiple	--exclude, --exclude-regex, --include,
	   and --include-regex options may be given.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       and --chdir options are described above.

READLINK COMMAND
       fbadb readlink [-der] [-d] [--device] [-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir] link

       Read the	target of a symbolic link on device. This command is useful
       when a device lacks the readlink(1) command. readlink prints the	given
       link's target to	standard output	(with no trailing newline) or fails.

       link
	   The name of the symbolic link to read.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       and --chdir options are described above.

RDEX COMMAND
       fbadb rdex [-derDtTF] [-d] [--device] [-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir] [-D]
       [--no-ctty] [-t]	[--force-tty] [-T] [--disable-tty] [-Eexename]
       [--exename=exename] [-Yenvvar] [--setenv=envvar]	[-F] [--clearenv]
       [-Kenvvar] [--unsetenv=envvar] dexfile classname	[args...]

       Run a dex file using the	remote machine's VM. Automatically compiles
       the dex file to an odex or oat file.

       dexfile
	   Name	of the dex-containing jar file file to run.

       classname
	   Name	of the class file to run.

       args...
	   Arguments to	send to	dexfile.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       --chdir,	-D, --no-ctty, -t, --force-tty,	-T, --disable-tty, -E,
       --exename, -Y, --setenv,	-F, --clearenv,	-K, and	--unsetenv options are
       described above.

PS-JSON	COMMAND
       fbadb ps-json [-de] [-d]	[--device] [-e]	[--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]

       Output the machine's process list in JSON.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	and --avoid-daemon options are described
       above.

GETPROP	COMMAND
       fbadb getprop [-0der] [-fformat-string] [--format=format-string]
       [-Fformat-string] [--format-not-found=format-string] [-0] [--null] [-d]
       [--device] [-e] [--emulator] [-sserial] [--serial=serial] [-Hhostname]
       [--hostname=hostname] [-Pport] [--port=port] [-Xtransport]
       [--transport=transport] [--avoid-daemon]	[-r] [--root] [-uuser]
       [--user=user] [properties...]

       Read zero, more,	or all system properties from a	device and describe
       them in JSON. Standard output is	a JSON object with one field per
       property, the property name being the string value of the property. If
       any requested property is not found, emit null in the JSON output and
       exit with status	code 4.	(Ordinarily, we	exit with status code 1	on
       error.)

       properties...
	   Names of properties to read.	If omitted, print all properties.

       -fformat-string,	--format=format-string
	   Provide a format string for printing	property values. In this
	   format string, fb-adb getprop substitutes %n	with the property name
	   and substitutes %v with the property	value. A newline is printed
	   after each property unless -0 is supplied; in that case, a NUL
	   separates each property. To output a	literal	"%", write "%%". Only
	   properties that are found are output	this way.

       -Fformat-string,	--format-not-found=format-string
	   Provide a format string for printing	property values	not found. In
	   this	format string, fb-adb getprop substitutes %n with the name of
	   the property	not found. A newline is	printed	after each property
	   unless -0 is	supplied; in that case,	a NUL separates	each property.
	   To output a literal "%", write "%%".

       -0, --null
	   When	using -f for formatting	instead	of emitting JSON, separate
	   properties with a NUL byte instead of with a	newline.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	and --user
       options are described above.

LOGCAT-JSON COMMAND
       fbadb logcat-json [-der]	[--time-format=strftime-format-string] [--gmt]
       [-d] [--device] [-e] [--emulator] [-sserial] [--serial=serial]
       [-Hhostname] [--hostname=hostname] [-Pport] [--port=port] [-Xtransport]
       [--transport=transport] [--avoid-daemon]	[-r] [--root] [-uuser]
       [--user=user]

       Write logcat records as JSON, one JSON-formatted	log record per line.
       We always use line buffering; combining this mode with jq(1) is
       recommended for readability.

       --time-format=strftime-format-string
	   Specify how to format time in log records. Defaults to RFC822 time.

       --gmt
	   Print time in GMT, not local	time.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	and --user
       options are described above.

FINFO COMMAND
       fbadb finfo [-der] [-iinfo] [--info=info] [-d] [--device] [-e]
       [--emulator] [-sserial] [--serial=serial] [-Hhostname]
       [--hostname=hostname] [-Pport] [--port=port] [-Xtransport]
       [--transport=transport] [--avoid-daemon]	[-r] [--root] [-uuser]
       [--user=user] [-Cdir] [--chdir=dir] [paths...]

       Print information in JSON format	about paths on device. The output is a
       JSON array with one entry for each of the given paths.

       paths...
	   The paths to	query on device.

       -iinfo, --info=info
	   Comma-separated list	of pieces of information to retrieve from each
	   of the paths	given.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       and --chdir options are described above.

FCAT COMMAND
       fbadb fcat [-der] [-d] [--device] [-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir] [files...]

       Write the contents of zero or more device files to standard output.

       files...
	   Names of files to write.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       and --chdir options are described above.

FGET COMMAND
       fbadb fget [-derp] [-d] [--device] [-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir]
       [--write-mode=write-mode] [--sync] [-p] [--preserve] [--mode=octal-ugo]
       remote [local]

       Retrieve	a file from device. Note that there is no recursive option: to
       retrieve	multiple files,	use the	fb-adb ctar command to stream a	tar
       file containing the files you want; you can pipe	the output of fb-adb
       ctar to your favorite tar program for unpacking.

       remote
	   Name	of the file on device.

       local
	   Name	of the file to write on	the host. If local is a	directory,
	   write to the	file "basename(remote)"	in this	directory. If local is
	   omitted, it defaults	to the current directory.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       --chdir,	--write-mode, --sync, -p, --preserve, and --mode options are
       described above.

FPUT COMMAND
       fbadb fput [-derp] [-d] [--device] [-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir]
       [--write-mode=write-mode] [--sync] [-p] [--preserve] [--mode=octal-ugo]
       local [remote]

       Store a file on device.

       local
	   Name	of the file on host. If	"-" (a single dash) read from standard
	   input.

       remote
	   Name	of the file to write on	the device. If remote is a directory,
	   write to the	file "basename(local)" in this directory. If remote is
	   omitted, it defaults	to "basename(local)" in	the default directory
	   for fb-adb rcmd (except if local is "-", in which case the command
	   fails as we have no basename.)

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       --chdir,	--write-mode, --sync, -p, --preserve, and --mode options are
       described above.

SHELL COMMAND
       fbadb shell [-derDtTF] [-d] [--device] [-e] [--emulator]	[-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir] [-D]
       [--no-ctty] [-t]	[--force-tty] [-T] [--disable-tty] [-Eexename]
       [--exename=exename] [-Yenvvar] [--setenv=envvar]	[-F] [--clearenv]
       [-Kenvvar] [--unsetenv=envvar] [command [args...]]

       Run a command on	device.	If command is not supplied, run	an interactive
       shell. Otherwise, run command on	device with the	given arguments.
       command is interpreted as a shell command and is	not quoted; the
       arguments are each quoted. This quoting system means that glob patterns
       in arguments will not be	expanded, while	glob patterns in command will
       be.

       command
	   Name	of the command to run: can be a	program	or shell builtin.

       args...
	   Arguments to	send to	the command.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       --chdir,	-D, --no-ctty, -t, --force-tty,	-T, --disable-tty, -E,
       --exename, -Y, --setenv,	-F, --clearenv,	-K, and	--unsetenv options are
       described above.

RCMD COMMAND
       fbadb rcmd [-derDtTF] [-d] [--device] [-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user] [-Cdir] [--chdir=dir] [-D]
       [--no-ctty] [-t]	[--force-tty] [-T] [--disable-tty] [-Eexename]
       [--exename=exename] [-Yenvvar] [--setenv=envvar]	[-F] [--clearenv]
       [-Kenvvar] [--unsetenv=envvar] command [args...]

       Run a command on	device.	Unlike fb-adb shell, this command does not
       invoke the shell. It instead runs command directly.

       command
	   Program to run on device. This argument will	become "argv[0]" and
	   is also the name of the executable to run if	one is not specified
	   with	--exename.

       args...
	   Arguments to	send to	the command.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       --chdir,	-D, --no-ctty, -t, --force-tty,	-T, --disable-tty, -E,
       --exename, -Y, --setenv,	-F, --clearenv,	-K, and	--unsetenv options are
       described above.

XCMD COMMAND
       fbadb xcmd [-derDtTF] [--candidate=executable] [--candidate-path=path]
       [-d] [--device] [-e] [--emulator] [-sserial] [--serial=serial]
       [-Hhostname] [--hostname=hostname] [-Pport] [--port=port] [-Xtransport]
       [--transport=transport] [--avoid-daemon]	[-r] [--root] [-uuser]
       [--user=user] [-Cdir] [--chdir=dir] [-D]	[--no-ctty] [-t] [--force-tty]
       [-T] [--disable-tty] [-Eexename]	[--exename=exename] [-Yenvvar]
       [--setenv=envvar] [-F] [--clearenv] [-Kenvvar] [--unsetenv=envvar]
       program [args...]

       Run a program on	device,	transferring it	to the device first if
       necessary.

       fb-adb xcmd makes it easy to run	arbitrary programs on Android devices
       without having to worry about getting them to devices first, making
       sure that specific builds are compatible	with specific devices, and
       other headaches.	fb-adb xcmd works by first identifying candidate
       binaries	matching the command argument, making sure that	binary exists
       on the system, then running it.

       fb-adb xcmd finds candidates first by considering all the explicitly
       passed --candidate options, then	searching for program in all the
       directories given in FB_ADB_XCMD_PATH. The first	file matching the
       architecture of the device is the one we	use.

       program
	   Name	of the program to run; it must not contain a slash.

       args...
	   Arguments to	send to	the program.

       --candidate=executable
	   Candidate to	consider for execution.	executable is a	filename; it
	   is considered as an xcmd execution candidate	before entries found
	   in the candidate path. --candidate can be given multiple times;
	   each	supplied executable is considered in order.

       --candidate-path=path
	   Colon-separated list	of paths to search for xcmd binaries; if
	   supplied, overrides the value of the	FB_ADB_XCMD_PATH environment
	   variable.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	--user,	-C,
       --chdir,	-D, --no-ctty, -t, --force-tty,	-T, --disable-tty, -E,
       --exename, -Y, --setenv,	-F, --clearenv,	-K, and	--unsetenv options are
       described above.

START-DAEMON COMMAND
       fbadb start-daemon [-der] [--replace] [-d] [--device] [-e] [--emulator]
       [-sserial] [--serial=serial] [-Hhostname] [--hostname=hostname]
       [-Pport]	[--port=port] [-Xtransport] [--transport=transport]
       [--avoid-daemon]	[-r] [--root] [-uuser] [--user=user]

       Start an	fb-adb daemon on the device. fb-adb will connect to this
       daemon the next time it needs to	run a command. Each user has a daemon,
       so the --user option controls which daemon to start.

       --replace
	   Kill	any existing fb-adb daemon for this user before	starting a new
	   daemon. Without this	option,	we reuse an already-started daemon as
	   long	as its version matches our own.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	and --user
       options are described above.

STOP-DAEMON COMMAND
       fbadb stop-daemon [-der]	[-d] [--device]	[-e] [--emulator] [-sserial]
       [--serial=serial] [-Hhostname] [--hostname=hostname] [-Pport]
       [--port=port] [-Xtransport] [--transport=transport] [--avoid-daemon]
       [-r] [--root] [-uuser] [--user=user]

       Stop the	most recently started fb-adb daemon. Each user has a daemon,
       so the --user option controls which daemon to kill.

       The -d, --device, -e, --emulator, -s, --serial, -H, --hostname, -P,
       --port, -X, --transport,	--avoid-daemon,	-r, --root, -u,	and --user
       options are described above.

ENVIRONMENT VARIABLES
       FB_ADB_XCMD_PATH
	   Colon-separated list	of directories in which	to search for xcmd
	   commands; see the discussion	of fb-adb xcmd above.

       ADB_SHELL_OLD_BEHAVIOR
	   When	set, fb-adb does not override any adb commands,	exposing only
	   new names for new commands. Using this option, fb-adb can replace
	   adb (perhaps	on PATH) with no compatibility risk.

       FB_ADB_DEBUG
	   This	variable controls how fb-adb writes debug messages. If it is
	   "1",	fb-adb writes debug messages to	standard error.	If it is a
	   string that begins with ">",	fb-adb writes debug messages to	the
	   file	whose names begins after the ">" (like a shell redirection).
	   If it is a string that begins with ">>", fb-adb appends to that
	   file	instead	of overwriting it. This	environment variable only has
	   an effect when fb-adb is compiled with the --enable-checking
	   option.

       FB_ADB_REMOTE_DEBUG
	   This	option,	set on the host	system,	becomes	the value of
	   FB_ADB_DEBUG	on the target system.

       FB_ADB_REMOTE_WRAPPER
	   This	option,	set on the host	system,	provides a program that	wraps
	   the execution of the	stub on	the remote system. This	environment
	   variable has	an effect only when the	program	is configured with
	   --enable-checking. An example: "FB_ADB_REMOTE_WRAPPER='strace
	   -o/data/local/tmp/foo'"

       FB_ADB_NO_COMPRESSION
	   This	option,	set on the host	system,	tells fb-adb to	avoid its
	   usual LZ4 stream compression. LZ4 is	fast enough that there are no
	   practical disadvantages to disabling	it, so this option is
	   primarily useful for	debugging.

       FB_ADB_TRANSPORT
	   This	environment variable provides the default value	of the
	   --transport option.

       FB_ADB_COLOR
	   fb-adb normally tries to print help messages	in color when sending
	   help	text to	a color-capable	terminal or color-capable pager. If
	   FB_ADB_COLOR	is set to 1, force color output. If FB_ADB_COLOR is 0,
	   never output	color. (We consider any	value of PAGER equal to	"less"
	   or starting with "less " to be color-capable.)

       PAGER
	   fb-adb normally tries to display help text in a pager given by the
	   PAGER environment variable. If PAGER	is the empty string or fails,
	   skip	the pager and emit help	text directly.

EXAMPLES
       Capture a screenshot from device	and write it locally
	     fb-adb rcmd screencap -p >	screenshot-$(timestamp).png

       Dump database.db	of the com.example.foo app
	     fb-adb rcmd -u com.example.foo sqlite3 databases/database.db .d

       Open remote shell as the	user com.example.foo
	     fb-adb shell -u com.example.foo

       Retrieve	all PNG	files in your application's data directory
	     # The default directory with --user is the	data directory
	     # pv provides a pretty progress indicator
	     fb-adb ctar -u com.example.foo --include=*.png . |	pv -W >	pngs.tar

SEE ALSO
       Run adb help to see adb's own list of commands. Argument	passing	works
       roughly like ssh(1)'s.

fb-adb 1.99.99-4		  2017-06-15			     FB-ADB(1)

NAME | SYNOPSIS | DESCRIPTION | ADVANTAGES OVER ADB | ADB OPTIONS | TRANSPORT OPTIONS | USER OPTIONS | CWD OPTIONS | SHELL CONTROL OPTIONS | FILE TRANSFER OPTIONS | HELP COMMAND | BASH-COMPLETION COMMAND | LOGWRITE COMMAND | CTAR COMMAND | READLINK COMMAND | RDEX COMMAND | PS-JSON COMMAND | GETPROP COMMAND | LOGCAT-JSON COMMAND | FINFO COMMAND | FCAT COMMAND | FGET COMMAND | FPUT COMMAND | SHELL COMMAND | RCMD COMMAND | XCMD COMMAND | START-DAEMON COMMAND | STOP-DAEMON COMMAND | ENVIRONMENT VARIABLES | EXAMPLES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fb-adb&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help