Vega应用清单文件概述
Vega应用程序包必须包含一个名为manifest.toml的配置文件,此文件位于程序包的根目录下。此文件描述了有关程序包的基本信息,例如:
- 程序包及其组件的标识符,例如交互、服务和任务及其启动信息。
- Vega系统和程序包所依赖的其他已安装应用的功能,例如模块、服务和消息。
- 访问Vega系统和其他已安装应用的某些功能所需的权限。
Vega系统和开发工具使用这些信息来安装、执行和管理应用。
清单文件
Vega应用清单以TOML配置文件格式进行定义,并利用TOML表 [] 和一系列TOML [[]] 表格式来声明多个部分,以对信息进行分组。
schema-version = 1
[package]
# 基本程序包详情
[components]
# 应用程序组件生命周期配置
[tasks]
# 任务配置
[needs]
# 必需的依赖项
[wants]
# 可选的依赖项
[message]
# 程序包定义的消息
[offers]
# 程序包提供的功能
[processes]
# 对要在进程中运行的组件进行分组
[[extras]]
# 程序包的自定义元数据
schema-version
必需
schema-version用于指定清单文件中所用的架构版本。在添加任何其他信息之前,每个清单都必须声明这一点。
schema-version = 1
目前,Vega清单架构的版本为1,因此该值必须始终为1。
[package]
必需
[package] 部分声明了程序包的基本详情,例如唯一标识符、标题和图标。
[package]
id = "com.foo.bar"
title = "Foo Bar"
icon = "@image/foo_icon.png"
详细了解package部分。
[components]
必需
[components] 部分声明了捆绑到此应用程序包中的组件,包括交互、服务和任务组件。
[components]
[[components.interactive]]
id = "com.foo.bar.interactive"
categories = ["com.amazon.category.main"]
launch-type = "singleton"
详细了解components部分。
[tasks]
可选
[tasks] 部分声明了小型例行活动,这些例行活动可在应用程序包生命周期内发生特定事件时运行。目前,Vega系统支持可在应用安装后和首次启动之前运行此类任务的install事件。
[tasks]
[[tasks.work]]
component-id = "com.foo.bar.onInstallOrUpdateTask"
mode = "install"
详细了解tasks部分。
[needs]
可选
[needs] 部分声明了对于应用在Vega设备上运行来说属于必需的功能。此信息有助于Vega程序包管理器和亚马逊应用商店确保应用安装在支持的设备上。仔细声明应用对所需设备目标的needs。
[needs]
[[needs.module]]
id = "/com.amazon.camera.module@ICamera"
[[needs.privilege]]
id = "com.amazon.media.secureplayback"
详细了解needs部分。
[wants]
可选
[wants] 部分声明了对于应用在Vega设备上运行来说属于可选的功能。如果此列表中的某项功能在设备上不可用,请在应用代码中妥善处理回退问题。您可以选择needs和wants的组合,以最大限度地扩大设备覆盖范围,同时在功能更强大的设备上提供增强功能。
[wants]
[[wants.service]]
id = "com.amazon.inputmethod.service"
[[wants.privilege]]
id = "com.amazon.camera.privilege.access"
详细了解wants部分。
[message]
可选
[message]部分声明了适用于Vega Messaging消息URI的访问控制规则。
[[message]]
uri = "samplepkg://play"
sender-privileges = [com.amazon.security.example1]
receiver-privileges = [com.amazon.security.example2]
详细了解message部分。
[offers]
可选
[offers] 部分声明了该程序包为系统上的其他应用提供的功能,例如模块、服务和交互。
[offers]
[[offers.service]]
id = "com.amazon.keplervideoapp.interface.provider"
[[offers.interaction]]
id = "com.amazondeveloper.keplervideoapp.main"
详细了解offers部分。
[processes]
可选
[processes] 部分声明了应在启动时共享进程的组件组。
[processes]
[[processes.group]]
component-ids = [
"com.foo.bar.interactive",
"com.foo.bar.service"
]
[[processes.group]]
component-ids = [
"com.foo.bar.another_service",
]
详细了解processes部分。
[[extras]]
可选
[[extras]] 部分声明了一组键值对,以包括与程序包相关的自定义元数据。
[[extras]]
key = "foo"
value = "bar"
详细了解extras部分。
清单验证
为确保您的manifest.toml文件格式正确且包含有效的配置,您可以使用VPT工具(应用打包工具)。此工具包含在Vega SDK中,在SDK安装期间会自动添加到系统的PATH中。
要验证您的清单文件,请运行以下命令。将<清单路径>替换为清单文件的绝对路径。
kepler exec vpt validate /<清单的路径>/manifest.toml
Last updated: 2025年9月30日

