as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
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: <vega_SDK_PATH>/bin/tools/vda.

If you added vega_SDK_PATH/bin to your path during Vega SDK installation, enter kepler 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

Copied to clipboard.

kepler exec vda -s <specific device>

Example:

Copied to clipboard.

kepler exec vda -s G071R20720350DT6 shell

Example output:

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

Vega Virtual Device

Copied to clipboard.

kepler exec vda -s emulator-<VVD port> shell

Example:

Copied to clipboard.

kepler 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.

kepler exec vda devices [ -l ]

Example:

Copied to clipboard.

kepler exec vda devices -l

Example output for a device:

kepler exec vda devices -l
List of devices attached
G071R20720350DT6       device usb:14131000

Example output for the Vega Virtual Device:

kepler exec vda devices -l
List of devices attached
G071R20720350DT6       device usb:14131000
emulator-5554          device

Help

To view the help file, use kepler exec vda help.

Copied to clipboard.

kepler exec vda help

Example output:

kepler exec vda help
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.

Copied to clipboard.

kepler exec vda kill-server

Start server

To start the server, use start-server.

Copied to clipboard.

kepler exec vda start-server

Example output:

kepler exec vda start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

Push

To copy a file/dir to your device, use the push command. Add -p to display the transfer progress.

Copied to clipboard.

kepler exec vda push [-p] <local> <remote>

Example:

Copied to clipboard.

kepler exec vda push Echo.png /data/

Example output:

kepler exec vda push Echo.png /tmp/
2283 KB/s (6109 bytes in 0.002s) vda shell ls /data/Echo*
/data/Echo.png

Pull

To copy a file/dir from your device, use pull. Add -p to display the transfer progress, and -a to display timestamp and mode.

Copied to clipboard.

kepler exec vda pull [-p] [-a] <remote> [<local>]

Example:

Copied to clipboard.

kepler exec vda pull -p /data/Echo.png

Example output:

kepler 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.

kepler exec vda version

Example output:

kepler exec vda version
VDA version 1.0.0

Wait for device

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

Copied to clipboard.

kepler exec vda wait-for-device

Example output:

kepler exec vda devices
List of devices attached

kepler exec vda wait-for-device
kepler exec vda devices
List of devices attached
G071R20720350DT6    device

Reboot

Use the reboot command to reboot your device. One option is to boot into the bootloader.

Copied to clipboard.

kepler exec vda reboot

The system displays the transition from unknown to device.

Boot into the bootloader

Copied to clipboard.

kepler exec vda reboot [bootloader]

Example output:

kepler exec vda reboot
kepler exec vda status-window #should see transition from unknown to device

Boot into the bootloader (alternate command)

Copied to clipboard.

kepler exec vda reboot-bootloader

Example output:

kepler exec vda reboot-bootloader #should see transition from unknown to device

The device enters bootloader state.

VDA shell commands

Invoke the shell

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

Copied to clipboard.

kepler exec vda shell

Example output:

firetvstick-fa0ef0f89ff2d145:/#

Other shell commands

Copied to clipboard.

kepler exec vda shell <command>

Example:

Copied to clipboard.

kepler exec vda shell ls /data

Example output:

30fps_480x960  30fps_960x480  960x480.png  Echo.png  basicjstest_armv7.vpkg  dcm  lcd_logmgr  misc  mixer_meta  securedStorageLocation

Package manager

To invoke the package manager, use vpm.

Copied to clipboard.

kepler exec vda shell vpm <subcommands>

Example:

Copied to clipboard.

kepler exec vda shell vpm install /tmp/basicjstest_armv7.vpkg

Example output:

kepler exec vda shell vpm install /tmp/basicjstest_armv7.vpkg
Installing/Updating '/tmp/basicjstest_armv7.vpkg' ...success

Life-cycle manager

To invoke the life cycle manager, use vlcm.

Copied to clipboard.

kepler exec vda shell vlcm <subcommands>

Example:

Copied to clipboard.

kepler exec vda shell vlcm list

Example output:

kepler exec vda shell vlcm list
application                             type      pid     id    state       lifespan       timeout container                               launch args
com.amazon.otad.main                     S         703     1     READY       PERMANENT     DEFAULT framework.slice/service

Launch component shell

Each app launches single or multiple components.

To get a list of components:

Copied to clipboard.

kepler exec vda shell vlcm list

To run a component interactively, use:

Copied to clipboard.

kepler exec vda shell -c <Component-id> 	

Example output:

- 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.

kepler exec vda shell -c <Component-id> <command> 

Example output:

kepler 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.

kepler exec vda shell ace_memusage

Example output:

kepler exec vda shell ace_memusage
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

Top

To display CPU usage interactively, use top.

Copied to clipboard.

kepler exec vda shell top

Example output:

kepler exec vda shell top
top - 18:07:03 up 1 min,  0 users,  load average: 3.89, 1.42, 0.51
Tasks: 227 total,   1 running, 226 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.4 us,  7.2 sy,  0.0 ni, 90.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1740.7 total,   1057.4 free,    229.2 used,    454.1 buff/cache
MiB Swap:    425.0 total,    425.0 free,      0.0 used.   1440.5 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 4644 root      20   0    5204   2436   1952 R  15.8   0.1   0:00.08 top
 :

systemctl

To control and query systemd init, use systemctl. The systemctl command represents the system control commands.

kepler exec vda shell systemctl <subcommands>

</div>

Example:

Copied to clipboard.

kepler exec vda shell systemctl list-units

Example output:

kepler exec vda shell systemctl list-units #should see list of systemd services

gwsi-tool-screenshooter

To capture and save screenshots in PNG format, use:

Copied to clipboard.

kepler exec vda shell gwsi-tool-screenshooter <file.png>

Example:

Copied to clipboard.

kepler exec vda shell gwsi-tool-screenshooter /temp/test.png

Example output:

kepler exec vda shell gwsi-tool-screenshooter /tmp/test.png
kepler exec vda pull /temp/test.png
ls test.png
test.png

Device logs

To print device logs to the screen, use loggingctl log:

Copied to clipboard.

kepler exec vda shell loggingctl log <subcommands>

Example:

Copied to clipboard.

kepler exec vda shell loggingctl log -o short-precise -f

Example output:

kepler exec vda shell loggingctl log -o short-precise -f
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)
<continous log output>

Last updated: Sep 30, 2025