清单 [components] 部分
[components] 部分声明程序包中的应用组件,包括interactive、service和task组件。
应用组件体现了单一用户的工作流程和交互,可以随时启动以保留单个实例或创建新实例。可以创建每个组件的多个实例,其中每个组件保留自己的状态并独立过渡到其各生命周期状态。
大多数应用程序包具有至少一个应用组件,或者它们可能是仅限库的程序包,不包含任何组件。在适用的情况下,应用程序包中的每个组件均在此部分下声明。请注意,清单中可能会声明相同类型的多个组件。
[components]
[[components.interactive]]
# interactive组件配置(定义为0个或更多个)
[[components.service]] # 将此类型组件定义为0个或更多个
# service组件配置(定义为0个或更多个)
[[components.task]] # 将此类型组件定义为0个或更多个
# task组件配置(定义为0个或更多个)
[[components.interactive]]
必需
interactive类型代表一种为最终用户提供interactive组件。此类组件显示图形内容并响应用户输入,例如键盘。您必须在categories部分加入com.amazon.category.main,才能启动应用或提交到亚马逊应用商店。
字段
- id(字符串,必需): 组件的唯一标识符。按照惯例,此项表示为- <程序包ID>.<组件名称>。标识符字符串必须遵循- 程序包ID的规则:- 允许的字符:大写字母A-Z、小写字母a-z、数字0-9、点.以及下划线_。
- 使用反向DNS表示法:<程序包ID>.<组件名称>,其中每个段以字母开头。
 
- 允许的字符:大写字母
- categories(字符串数组,功能集成所必需): 应用程序包中不同组件的类别分类列表。类别字符串以- com.amazon.category.<类别名称>表示,其中类别名称是Vega系统中定义的组件类别的预定义列表。类别的允许值为 -- com.amazon.category.main: 将组件声明为应用程序包的默认交互式组件。Vega系统在根据- package-id或产品- ASIN启动应用时,依靠此类别来查找默认组件。清单只能将一个interactive组件声明为主组件,并且是确保应用从主页启动器或亚马逊应用商店应用成功启动所必需的。
- com.amazon.category.caf: 将组件声明为与Alexa语音服务交互的功能代理。
- com.amazon.category.kepler.media: 将组件声明为Vega媒体操作的目标。
- com.amazon.category.launcher: 将组件声明为设备的启动器应用。此类别为系统应用程序而保留,对于任何其他应用都不适用。
 - categories = [ "com.amazon.category.main" ]
- launch-type(字符串,可选): 描述系统用来管理其生命周期的组件的启动行为。允许的值为:- new-instance: 在现有应用程序进程容器中创建一个新实例,并共享相同的内存空间。如果未定义- launch-type,则默认使用此项。
- new-container: 在新进程容器中创建新实例,而不是与现有实例共享进程。因此,每个组件实例都被隔离。
- singleton: 仅创建应用组件的一个运行实例,新调用始终引用现有实例。此同一实例仍保留在后台堆栈中。
- 
        singleton-per-display: 在多显示器场景中,每个显示器都会创建一个应用组件的运行实例。同一显示器上的新启动项是指该显示器的现有实例。如果是单一显示器,则singleton-per-display的行为与singletonlaunch-type相同。launch-type = "singleton"
 
- 
    timeout-secs(数字,可选): 前台组件实例处于不活动状态的超时值,以秒为单位。指定的值必须是正整数。如果未提供,则将超时值设置为系统默认值。如果超时,不活动前台组件被发送到后台,并根据使用寿命将后台堆栈中的下一个组件移至前台。timeout-secs = 30
- lifespan(字符串,可选): 组件实例的使用寿命策略,用于确定在前台的现有组件实例超时或终止后是否必须将组件恢复至前台。系统从后台堆栈选择一个应用组件,该组件的使用寿命长于或等于最后一个在前台运行的组件的使用寿命。允许的使用寿命值为:- permanent: 组件实例仅根据用户的明确操作终止。如果未定义使用寿命,则默认使用此项。
- long: 组件实例可以长时间运行(超过几分钟到几个小时)。
- short: 组件实例运行几秒钟到几分钟。
- 
        transient: 组件实例在很短的时间内在屏幕上获得焦点,但很快就会将焦点返回到前一个实例。lifespan = "permanent"
 
- 
    runtime-module(字符串,可选): 组件运行所需的运行时模块。系统使用此项在实例化组件之前将所需的库预加载到进程中。如果未定义,则为组件设置原生运行时。Vega系统上目前可用的运行时模块是/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0或/com.amazon.kepler.runtime.keplerscript_2@IKeplerScript。runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"详细了解设置 运行时模块。
[[components.service]]
可选
service类型代表一种在后台执行操作且不向最终用户提供可交互界面的组件。
字段
- id(字符串,必需): 组件的唯一标识符。按照惯例,此项表示为- <程序包ID>.<组件名称>。标识符字符串必须遵循- 程序包ID的规则:- 允许的字符:大写字母A-Z、小写字母a-z、数字0-9、点.以及下划线_。
- 使用反向DNS表示法:<程序包ID>.<组件名称>,其中每个段以字母开头。
 
- 允许的字符:大写字母
- categories(字符串数组,功能集成所必需): 应用程序包中不同组件的类别分类列表。类别字符串以- com.amazon.category.<类别名称>表示,其中类别名称是Vega系统中定义的组件类别的预定义列表。类别的允许值为:- 
        com.amazon.category.kepler.media: 将组件声明为Vega媒体操作的目标。categories = [ "com.amazon.category.kepler.media" ]
 
- 
        
- launch-type(字符串,可选): 描述系统用来管理其生命周期的组件的启动行为。允许的值为:- singleton: 此组件的所有客户端应用程序进程都将使用此组件的单个实例。如果未定义- launch-type,则默认使用此项。
- 
        singleton-per-application: 将为每个客户端应用程序包分配此组件的新实例。launch-type = "singleton-per-application"
 
- 
    runtime-module(字符串,可选): 组件运行所需的运行时模块。系统使用此项在实例化组件之前将所需的库预加载到进程中。如果未定义,则为组件设置原生运行时。Kepler系统上目前可用的运行时模块是/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0和/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0。将这些模块用于使用KeplerScript 2.0框架 (React Native 0.72) 开发的组件。如果您的任务/服务组件不与任何交互式组件共享进程,则应使用无头运行时模块。runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"详细了解设置 运行时模块。
[[components.task]]
可选
task类型代表在后台执行有限时间长度工作的组件类型。
字段
- id(字符串,必需): 组件的唯一标识符。按照惯例,此项表示为- <程序包ID>.<组件名称>。标识符字符串必须遵循- 程序包ID的规则:- 允许的字符:大写字母A-Z、小写字母a-z、数字0-9、点.以及下划线_。
- 使用反向DNS表示法:<程序包ID>.<组件名称>,其中每个段以字母开头。
 
- 允许的字符:大写字母
- categories(字符串数组,功能集成所必需): 应用程序包中不同组件的类别分类列表。类别字符串以- com.amazon.category.<类别名称>表示,其中类别名称是Vega系统中定义的组件类别的预定义列表。类别的允许值为:- com.amazon.category.kepler.media: 将组件声明为Vega媒体操作的目标。
 
- 
    runtime-module(字符串,可选): 组件运行所需的运行时模块。系统使用此项在实例化组件之前将所需的库预加载到进程中。如果未定义,则为组件设置原生运行时。Vega系统上目前可用的运行时模块是/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0和/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0。将这些模块用于使用KeplerScript 2.0框架 (React Native 0.72) 开发的组件。如果您的任务/服务组件不与任何交互式组件共享进程,则应使用无头运行时模块。runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"详细了解设置 运行时模块。
Last updated: 2025年9月30日

