as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

Vega应用清单文件概述

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

了解有关VPT工具的更多信息


Last updated: 2025年9月30日