应用管理和通信工具
本页介绍用于程序包管理vpm、生命周期操作vlcm和应用通信的命令行工具。通过设备shell访问这些工具。
# 对于物理设备(将<设备序列号>替换为您的实际设备序列号):
kepler device shell --device <设备序列号>
示例:kepler device shell --device ABC000XYZ
# 对于Vega虚拟设备:
kepler device shell --device VirtualDevice
程序包管理
vpm命令
管理设备上的程序包和组件。
vpm --help
程序包管理器工具
用法:
vpm list (packages | components) [—category=<类别>]... [—uri=<uri>]...
vpm info <id> [—package]
vpm install <程序包的路径> [—force] [—stub]
vpm uninstall <程序包ID>
vpm list
显示已安装的程序包、应用或组件。
命令:vpm list (packages | components) [--category=<类别>]... [--uri=<uri>]... )
参数:
-
packages - 列出所有已安装的程序包
-
components - 列出所有组件
-
--category-(可选)按组件类别筛选 -
--uri-(可选)按支持的统一资源标识符 (URI) 进行筛选
示例:
vpm list packages
// 输出
程序包ID:
com.amazondeveloper.test
vpm list components —category=com.amazondeveloper.category.games
// 输出
组件:
com.amazondeveloper.category.games
com.amazondeveloper.category.entertainment
vpm info
显示已安装程序包及其组件的清单信息。
命令:vpm info <id> [--package]
参数:
- id - 程序包ID或组件ID
--package-(可选)仅显示程序包信息,无论是否提供程序包ID或组件ID
程序包信息示例:
vpm info com.amazondeveloper.test
// 输出
id: com.amazondeveloper.test
title:Test Amazon Developer Package
组件特定信息示例:
vpm info com.amazondeveloper.test.interactive
// 输出
id: com.amazondeveloper.test.interactive
type: interactive
categories: com.amazon.category.samplepkg.component.examples
launch type: default
vpm install
从设备的文件系统安装应用程序包 (.vpkg) 文件。
要使用此命令,请将文件推送到设备上的特定文件夹,然后运行vpm install。使用vpm install的前提是,文件必须采用.vpkg格式并存在于设备上。vpm install命令不支持通过网络安装程序包。
命令:vpm install <程序包的路径> [--force]
参数:
- path-to-package - .vpkg文件的完整路径
--force-(可选)不考虑冲突强制进行安装
示例:
vpm install /tmp/test_x86_64.vpkg
// 输出
Installing/Updating '/tmp/test_x86_64.vpkg' ...success
您也可以使用kepler device install-app来进行安装,或者使用kepler run-kepler来安装和运行应用。
vpm uninstall
从系统中移除已安装的程序包。
命令:vpm uninstall <程序包ID>
参数:
- package-id - 要移除的程序包的ID
示例:
vpm uninstall com.amazondeveloper.test
// 输出
Uninstalling 'com.amazondeveloper.test' ...success
生命周期管理
vlcm命令
管理正在运行的程序的生命周期。
vlcm --help
生命周期管理器工具
用法:
vlcm terminate-app (--pkg-id <程序包ID> | --pid <进程ID>) [--force]
vlcm launch-app <URL> [--new-container | --singleton]
vlcm list
显示所有正在运行的组件的状态。(注意:界面显示内容均为英文。此处中文译文仅供参考。)
vlcm list
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.lcm.stem.generic.main S 3377 15 IDLE PERMANENT DEFAULT framework.slice/service <none>
* application - 组件ID,在manifest.toml中定义
* type - 服务 (S)、交互式 (I) 或任务 (T) 也在 manifest.toml中定义
* pid - 进程ID
* id - 实例ID
* state - 生命周期状态
* visible - 组件正在前台运行
* not_visible - 组件正在后台运行
* paused - 组件正在后台运行
* ready - 组件在后台运行,可供前台使用
* idle - 组件在后台运行,不可用于前台
* stopped - 组件已终止
* lifespan - 当前生命周期持续时间设置(可以在运行时更改)
* timeout - 当前的超时设置(可以在运行时更改)
* container - 应用程序进程容器(由系统管理)
* launch args - 使用启动URI传入的查询参数
vlcm terminate-app
关闭应用并要求package-id或process id (pid)。您可以使用vlcm list命令获取应用的进程ID。
示例:
vlcm terminate-app --pkg-id com.amazondeveloper.helloworld
# 成功
Stopping pkg: com.amazondeveloper.helloworld
# 失败
Stopping pkg: com.amazondeveloper.helloworld
无法停止应用
应用通信
vmsgr send(首选选项)
启动应用并使用URI发送消息,通过以下方式与Vega应用通信:
- 启动生命周期组件
- 发送广播消息
- 向特定应用发送单播消息
启动应用时,URI必须遵循支持的寻址方案之一。通过向URI添加查询参数,您可以为您的应用添加其他信息。
示例:
vmsgr send pkg://com.amazondeveloper.test.main?extra=true
# 成功: Message sent to component com.amazondeveloper.test.main
vmsgr send pkg://com.amazondeveloper.test.invalid
# 失败
Error: Failed to send message (-1): Component not found
vmsgr enforce-security
仅出于开发和测试目的,可对特定程序包启用安全强制执行。
命令:vmsgr enforce-security [选项]
示例:
vmsgr enforce-security --package com.amazondeveloper.test
有关详细信息,请参阅使用访问控制进行测试。
vlcm launch-app
使用其URI启动应用。与vmsgr send不同,vlcm launch-app选项仅启动应用。
vmsgr send模拟由程序触发的应用启动。命令:vlcm launch-app <uri>
参数:
- uri: 要启动的程序包URI(格式:pkg://component-id)
示例:
vlcm launch-app pkg://com.amazondeveloper.test.main?extra=true
# 成功:
CLI: Launch URI: pkg://com.amazondeveloper.test.main?extra=true
# 失败:
CLI: Failed to launch (-1): pkg://com.amazondeveloper.test.invalid
相关主题
Last updated: 2025年11月3日

