VDA Reference
The VDA command line utility lets you install, test, and debug your Vega app. VDA is a binary located in the Vega SDK at: <vega_SDK_PATH>/bin/tools/vda.
If you added vega_SDK_PATH/bin to your path during Vega SDK installation, enter vega exec vda at the command prompt to start VDA.
To set up your Fire TV Stick with VDA, see Set Up Your Fire TV Stick. VDA works with the Vega Virtual Device (simulator) without additional setup.
VDA global options
Use these VDA global options, and local and shell commands to install, test, and debug your Vega app.
Serial override
To direct commands to your device or emulator with a specific serial number or qualifier, use -s. This option overrides the VDA_SERIAL environment variable.
Device
vega exec vda -s <specific device>
Example:
vega exec vda -s G071R20720350DT6 shell
Example output:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Vega Virtual Device
vega exec vda -s emulator-<VVD port> shell
Example:
vega exec vda -s emulator-5554 shell
Example output:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
VDA local commands
Devices
To list all connected devices, use devices. Add -l to list the device qualifiers.
vega exec vda devices [ -l ]
Example:
vega exec vda devices -l
Example output for a device:
List of devices attached
G071R20720350DT6 device usb:14131000
Example output for the Vega Virtual Device:
List of devices attached
emulator-5554 device
Help
To view the help file, use vega exec vda help.
vega exec vda help
Example output:
VDA version 1.0.0
-a - directs vda to listen on all interfaces for a connection
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s <specific device> - directs command to the device or emulator with the given
serial number or qualifier. Overrides VDA_SERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the VDA_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
-H - Name of vda server host (default: localhost)
-P - Port of vda server (default: 5037)
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devices.
Kill server
To stop the server, use kill-server.
vega exec vda kill-server
vega exec vda kill-server produces no output.Start server
To start the server, use start-server.
vega exec vda start-server
Example output:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Push
To copy a file or directory to your device, use the push command. Add -p to display the transfer progress.
vega exec vda push [-p] <local> <remote>
Example:
vega exec vda push Echo.png /tmp/
Example output:
$ vega exec vda push Echo.png /tmp/
2283 KB/s (6109 bytes in 0.002s)
$ vega exec vda shell ls /tmp/Echo*
/tmp/Echo.png
Pull
To copy a file or directory from your device, use pull. Add -p to display the transfer progress, and -a to display timestamp and mode.
vega exec vda pull [-p] [-a] <remote> [<local>]
Example:
vega exec vda pull -p /tmp/Echo.png
Example output:
$ vega exec vda pull -p /tmp/Echo.png
Transferring: 6109/6109 (100%)
370 KB/s (6109 bytes in 0.016s)
$ ls Echo*
Echo.png
Version
To view your VDA version, use vda version.
vega exec vda version
Example output:
VDA version 1.0.0
Wait for device
To block activity until your device comes online, use wait-for-device. This helps when scripting.
vega exec vda wait-for-device
Example output:
$ vega exec vda devices
List of devices attached
$ vega exec vda wait-for-device
$ vega exec vda devices
List of devices attached
G071R20720350DT6 device
Reboot
Use the reboot command to reboot your device.
vega exec vda reboot
Example output:
$ vega exec vda reboot
$ vega exec vda wait-for-device
$ vega exec vda devices
List of devices attached
G071R20720350DT6 device
VDA shell commands
vega exec vda shell <command> -h for help, along with a list of options for any shell command.Invoke the shell
The vega exec vda shell command runs a remote shell interactively, and has a number of options available.
vega exec vda shell
Example output:
##################################################
##### Welcome to Developer Mode Shell #####
##################################################
sh(com.amazon.dev.shell):/$
Other shell commands
vega exec vda shell <command>
Example:
vega exec vda shell whoami
Example output:
app_user
App management and communication tools
You can access these tools through the VDA shell:
vega exec vda shell vpm <subcommands>
vega exec vda shell vlcm <subcommands>
vega exec vda shell vmsgr <subcommands>
See App Management and Communication Tools for detailed vpm, vlcm, and vmsgr commands.
Launch component shell
Each app launches single or multiple components.
To get a list of components:
vega exec vda shell vlcm list
To run a component interactively, use:
vega exec vda shell -c <Component-id>
Example output:
vega exec vda shell -c com.amazon.otad.main
##################################################
##### Welcome to Developer Mode Shell #####
##################################################
sh(com.amazon.otad):/$
To run a command in the component shell, use:
vega exec vda shell -c <Component-id> <command>
Example:
vega exec vda shell -c com.amazon.otad.main df -h /tmp
Example output:
vega exec vda shell -c com.amazon.otad.main df -h /tmp
Filesystem Size Used Avail Use% Mounted on
none 64M 0 64M 0% /tmp
High level memory
To find the high-level memory footprint of all processes in the system, use ace-memusage.
vega exec vda shell ace_memusage
Example output:
PID User Cmdline Swap Uss Pss Rss Vss
1 root /sbin/init 0 1128 2669 8184 28904
401 root /lib/systemd/systemd-journald 0 2560 3150 7116 19692
423 root /lib/systemd/systemd-udevd 0 2432 2694 6220 18956
Total System Memory:
Total Free Buffers Cached Shmem Slab Available
1782444 1088312 142808 278528 10880 79024 1479176
Done
gwsi-tool-screenshooter
To capture and save screenshots in PNG format, use:
vega exec vda shell gwsi-tool-screenshooter <file.png>
Example:
$ vega exec vda shell gwsi-tool-screenshooter /tmp/test.png
$ vega exec vda pull /tmp/test.png
$ ls test.png
test.png
Device logs
To print device logs to the screen, use loggingctl log:
vega exec vda shell loggingctl log <subcommands>
Example:
vega exec vda shell loggingctl log -o short-precise -f
Example output:
Jun 05 18:10:37.484732 firetvstick-fa0ef0f89ff2d145 idle-manager[3268]: I idle-service:[IdleManagerService.cpp:107] transitionTo: 0->2
Jun 05 18:10:37.484831 firetvstick-fa0ef0f89ff2d145 idle-manager[3268]: I idle-service:[ScreensaverLauncher.cpp:71] Launching pkg://com.amazon.screensaver
Jun 05 18:10:37.485561 firetvstick-fa0ef0f89ff2d145 lcm_service[2151]: I lcm-ipc-server:[LcmServer.cpp:182] Received request: launch app for result (1) from (uid:101, gid:101, pid:3268, security_ctx:System)
<continuous log output>
Related topics
Last updated: Jan 06, 2026

