as

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

在应用清单中设置运行时模块

在应用清单中设置运行时模块

运行时模块是应用架构中的关键组件,它定义了应用组件的执行环境。它决定如何解释和执行您的代码,从而影响性能、内存使用和功能。

运行时模块是必不可少的,因为它们:

  • 确保应用的组件与底层系统之间的兼容性。
  • 根据组件类型(交互式、任务或服务)优化资源使用。
  • 启用适当的进程管理和组件隔离。

定义运行时模块的指南

在应用清单中定义运行时模块时,请遵循以下指南。

components的interactive

对于交互式组件,请使用以下运行时模块之一:

  • /com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0
  • /com.amazon.kepler.runtime.keplerscript_2@IKeplerScript(新惯例,可能会导致验证器警告)

清单条目示例

已复制到剪贴板。

[components]
[[components.interactive]]
runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"

任务或服务组件

对于任务或服务组件,如果任务或服务与交互式组件共享相同的进程,则可以使用与交互式组件相同的运行时模块。

清单条目示例

已复制到剪贴板。

[[components.interactive]]
id = "<应用程序包名称>.main"
runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0" 
launch-type = "singleton"

[[components.service]]
id = "<应用程序包名称>.service"
runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"
launch-type = "singleton"

如果您的任务或服务组件与交互式组件不共享同一进程,请使用其中一个headless运行时。它们的内存占用量较小。

/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0

清单条目示例

已复制到剪贴板。

[[components.service]]
id = "<应用程序包名称>.service"
runtime-module = "/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0"
launch-type = "singleton"

进程组一致性

同一进程组中的组件必须使用相同的runtime-module

版本一致性

对于清单中的所有运行时模块,请务必使用相同的KeplerScript版本(由@符号后的数字表示)。例如,您不能在同一个清单中混合版本2和版本1的运行时模块。

验证警告和错误

如果您不遵循上面所列指南,则在使用VPT验证应用清单时会收到警告或错误消息。

以下消息显示了您可能从VPT收到的警告和错误示例。

示例1: 进程组中的运行时模块不一致

已复制到剪贴板。

manifest.toml:32:5 error: [processes.group] Inconsistent runtime modules in process group.Found multiple runtime modules: '/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0' (com.amazon.samplepkg.component.a), '/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0' (com.amazon.samplepkg.component.b, com.amazon.samplepkg.component.c)
  help: All components in a process group must have the same runtime module if declared

示例2: 运行时模块版本不一致

已复制到剪贴板。

manifest.toml:10:6 error: [components.runtime-module] Inconsistent runtime module versions found: 'IKeplerScript_1_0' (com.amazon.samplepkg.component.main), 'IKeplerScript_2_0' (com.amazon.samplepkg.component.main2, com.amazon.samplepkg.component.main3)
  help: All runtime modules declared must use the same version

Last updated: 2025年9月30日