Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support

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 $HOME/vega/sdk/vega-sdk/main/{SDK version}/bin/tools/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 VEGA_SERIAL environment variable.

Device (USB)

Copied to clipboard.

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 *

Device (TCP/IP)

When a device is connected through TCP/IP, use the <ip>:<port> identifier shown in the vega exec vda devices output:

Copied to clipboard.

vega exec vda -s <ip>:<port> shell

Example:

vega exec vda -s 192.168.1.100:5555 shell

Example output:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *

Vega Virtual Device

Copied to clipboard.

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.

Copied to clipboard.

vega exec vda devices [ -l ]

Example:

vega exec vda devices -l

Example output for a device connected through USB:

List of devices attached
G071R20720350DT6       device usb:14131000

Example output for a device connected through TCP/IP:

List of devices attached
192.168.1.100:5555     device

Example output for the Vega Virtual Device:

List of devices attached
emulator-5554          device

Get serial number

To print the Device Serial Number (DSN), use get-serialno. For network-connected devices, this command returns the actual DSN rather than the <ip>:<port> identifier.

Copied to clipboard.

vega exec vda get-serialno

Example output for a USB-connected device:

G071R20720350DT6

Example output for a TCP/IP-connected device:

GT533M06507401WA

TCP/IP mode

To switch a USB-connected device to TCP/IP mode, use tcpip with a port number. The device restarts its VDA daemon to listen on the specified port. Use port 5555 or any port greater than 1024.

Copied to clipboard.

vega exec vda tcpip <port>

Example:

vega exec vda tcpip 5555

Example output:

restarting in TCP mode port: 5555

After switching to TCP/IP mode, disconnect the USB cable and use connect to establish a wireless connection. For the full setup workflow, see Configure VDA Over TCP/IP.

USB mode

To return a device to USB mode, use usb. Reconnect the USB cable before running this command.

Copied to clipboard.

vega exec vda usb

Connect

To connect to a device through TCP/IP, use connect. The device must already be configured for TCP/IP mode (see Configure VDA Over TCP/IP).

Copied to clipboard.

vega exec vda connect <host>[:<port>]

Port 5555 is used by default if you don't specify a port number.

Example:

vega exec vda connect 192.168.1.100:5555

Example output:

connected to 192.168.1.100:5555

Disconnect

To disconnect from a TCP/IP-connected device, use disconnect. If you run this command without arguments, VDA disconnects from all TCP/IP devices.

Copied to clipboard.

vega exec vda disconnect [<host>[:<port>]]

Example:

vega exec vda disconnect 192.168.1.100:5555

Example output:

disconnected 192.168.1.100:5555

To disconnect all TCP/IP devices at once, run the command without arguments:

vega exec vda disconnect

Example output:

disconnected everything

Help

To view the help file, use vega exec vda --help.

Copied to clipboard.

vega exec vda --help

Example output:

Vega Device Adapter
Usage: vda [OPTIONS] [SUBCOMMAND]

Options:
  -V,--version                Display program version information and exit
  -h,--help                   Show this help message
  --one-device TEXT           only allowed with 'start-server'
  -a Excludes: -d             listen on all network interfaces, not just localhost
  -d Excludes: -a -e          use USB device (error if multiple devices connected)
  -e Excludes: -d             use TCP/IP device (error if multiple TCP/IP devices available)
  -s SERIAL (Env:VEGA_SERIAL) use device with given serial (overrides $VEGA_SERIAL)
  -t ID:POSITIVE              use device with given transport id
  -H TEXT (Env:VEGA_VDA_SERVER_ADDRESS) Excludes: -L
                              name of vda server host [default=localhost]
  -P INT:INT in [1 - 65534] (Env:VEGA_VDA_SERVER_PORT) Excludes: -L
                              port of vda server [default=5037]
  -L SOCKET (Env:VDA_SERVER_SOCKET) Excludes: -H -P
                              listen on given socket for vda server [default=tcp:localhost:5037]
  --exit-on-write-error       exit if stdout is closed

Kill server

To stop the server, use kill-server.

Copied to clipboard.

vega exec vda kill-server

Start server

To start the server, use start-server.

Copied to clipboard.

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.

Copied to clipboard.

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.

Copied to clipboard.

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.

Copied to clipboard.

vega exec vda version

Example output:

Vega Device Adapter version 2.12+0a5eee73
Server Version 41
Platform Version 34.0.4

Wait for device

To block activity until your device comes online, use wait-for-device. This helps when scripting.

Copied to clipboard.

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

To reboot your device, use reboot.

Copied to clipboard.

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

Invoke the shell

The vega exec vda shell command runs a remote shell interactively, and has a number of options available.

Copied to clipboard.

vega exec vda shell

Example output:

##################################################
#####     Welcome to Developer Mode Shell    #####
##################################################
sh(com.amazon.dev.shell):/$

Other shell commands

Copied to clipboard.

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:

Copied to clipboard.

   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 one or more components.

To get a list of components:

Copied to clipboard.

vega exec vda shell vlcm list

Example output:

application                                type      pid     id    state       lifespan       timeout container                               launch args
com.amazon.lcm.stem.webview.main           S         2719    1     IDLE        PERMANENT      DEFAULT framework.slice/service                 <none>
com.amazon.lcm.stem.apl.main               S         2725    2     IDLE        PERMANENT      DEFAULT framework.slice/service                 <none>
com.amazon.otad.main                       I         3901    18    NOT_VISIBLE PERMANENT      DEFAULT app.slice/app                           <none>

Use the value from the application column as the <Component-id> argument in the commands below.

To run a component interactively, use:

Copied to clipboard.

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:

Copied to clipboard.

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.

Copied to clipboard.

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:

Copied to clipboard.

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:

Copied to clipboard.

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>

Last updated: Jul 30, 2026