A2UI Compose
Jetpack Compose Agent-to-UI (A2UI) 渲染器提供 A2UI 协议的实现,使 AI 智能体能够生成丰富的交互式界面,这些界面可渲染原生 Compose 组件,而无需执行任意代码。
| 最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
|---|---|---|---|---|
| 2026 年 9 月 23 日 | - | - | - | 1.0.0-alpha01 |
声明依赖项
如需添加 A2UI Compose 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle 文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.a2ui.compose:compose-runtime:1.0.0-alpha01" implementation "androidx.a2ui.compose:compose-ui:1.0.0-alpha01" androidTestImplementation "androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.a2ui.compose:compose-runtime:1.0.0-alpha01") implementation("androidx.a2ui.compose:compose-ui:1.0.0-alpha01") androidTestImplementation("androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
版本 1.0
版本 1.0.0-alpha01
2026 年 9 月 23 日
发布了 androidx.a2ui.compose:compose-runtime:1.0.0-alpha01、androidx.a2ui.compose:compose-ui:1.0.0-alpha01 和 androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01。版本 1.0.0-alpha01 中包含这些提交内容。
新功能
Jetpack Compose Agent-to-UI (A2UI) 渲染器提供 A2UI 协议的实现,使 AI 智能体能够生成丰富的交互式界面,这些界面可渲染原生 Compose 组件,而无需执行任意代码。此库将 A2UI 协议消息映射到 Compose 原语,同时基于 Compose 快照状态系统提供精细的反应性。该库还提供用于创建自定义组件和目录的 API。
API 变更
- 将
A2uiBasicCatalogV1.CatalogId从.../v0_9_1/...更新为.../v0_9/...,以符合规范的 A2UI 协议规范。(Idcc20) - 更新了
A2uiBasicCatalogV中组件的顺序,以完全符合基本目录规范。(I23093、b/547851648) - 向
A2uiBasicCatalogV1下的所有相关组件接口添加了ChecksProperty,并通过传递给每个组件的TypedContent的参数使属性值可用。(I9f393、b/547851648) - 添加了
A2uiBasicCatalogV1.ChoicePicker和MaterialA2uiBasicCatalogV1Defaults.choicePicker。(I875a6、b/547851648) - 添加了
A2uiBasicCatalogV1.Modal和MaterialA2uiBasicCatalogV1Defaults.modal。(Icd553、b/547851648) - 重命名了
A2uiBasicCatalogV1中的属性,以遵循 Pascal 命名风格。(I91512、b/547851648) - 向
A2uiBasicCatalogV1下的所有组件接口添加了AccessibilityProperty,并通过传递给每个组件的TypedContent的参数使属性值可用。(I76b80、b/547851648) - 添加了
A2uiBasicCatalogV1.TextField和MaterialA2uiBasicCatalogV1Defaults.textField。(Ifdaec、b/547851648) - 添加了
A2uiBasicCatalogV1.Video和MaterialA2uiBasicCatalogV1Defaults.video。(I8595c、b/547851648) - 添加了
A2uiBasicCatalogV1.AudioPlayer和MaterialA2uiBasicCatalogV1Defaults.audioPlayer。(Ida509、b/547851648) - 在
a2ui-model和a2ui-engine中添加了对format和条件if-then架构关键字的支持,并更新了A2uiBasicCatalogV1.DateTimeInput最小和最大属性架构。(I556d5、b/553193771) - 添加了
A2uiBasicCatalogV1.Slider和MaterialA2uiBasicCatalogV1Defaults.slider。(Ieb72d、b/547851648) - 添加了
A2uiBasicCatalogV1.CheckBox和MaterialA2uiBasicCatalogV1Defaults.checkBox。(I84525、b/547851648) - 添加了
A2uiBasicCatalogV1.Divider和MaterialA2uiBasicCatalogV1Defaults.divider。(I91208、b/547851648) - 添加了
A2uiBasicCatalogV1.Tabs和MaterialA2uiBasicCatalogV1Defaults.tabs。(Ic33d3、b/547851648) - 添加了
A2uiBasicCatalogV1.List和MaterialA2uiBasicCatalogV1Defaults.list。(I89f73、b/547851648) - 添加了
A2uiBasicCatalogV1.Icon和MaterialA2uiBasicCatalogV1Defaults.icon。(I65524、b/547851648) - 添加了
ProvideActionInterceptor,用于拦截子组件的操作。(I6ae69、b/552486965) - 在
A2uiClientCapabilities和A2uiCoreCatalog中添加了对内嵌目录广告架构的支持。(I973cf、b/537714970) - 添加了
A2uiBasicCatalogV1.Image和MaterialA2uiBasicCatalogV1Defaults.image。(I673b3、b/547851648) - 添加了
A2uiBasicCatalogV1.Button和MaterialA2uiBasicCatalogV1Defaults.button。(I5215f、b/547851648) - 添加了
A2uiBasicCatalogV1.Row/A2uiBasicCatalogV1.Column和MaterialA2uiBasicCatalogV1Defaults.row/MaterialA2uiBasicCatalogV1Defaults.column。(Ibcbe7、b/547851648) - 向枚举、数字和布尔值
A2uiProperty类型添加了default参数。(Id509e、b/547851648) - 添加了
A2uiBasicCatalogV1.Card和MaterialA2uiBasicCatalogV1Defaults.card。(Icf604、b/547851648) - 向
A2uiProperty.nested和A2uiProperty.nestedList添加了isAdditionalPropertiesAllowed和additionalPropertiesSchema参数。(I72836、b/547815898) - 向列表
A2uiProperty类型添加了minItems和maxItems参数。(I716d3、b/547798330) - 添加了
A2uiProperty.enum、A2uiProperty.custom和A2uiProperty.dynamicCustom属性类型。(I0647d、b/545522395) - 将
observeA2uiComponentState中的A2uiCoreSurfaceModel替换为A2uiSurfaceModel,以确保androidx.a2ui.compose.runtime中的公共 API 不会公开androidx.a2ui.engine中的类型。(Ic45e2、b/544705890) - 添加了
A2uiTestSurface可组合项,用于单独装载和测试 A2UI 界面和组件。(I03c8a、b/527415570) A2uiSchema现在支持每个子类中的关键字,而不是为oneOf、allOf、anyOf、not、const、default和enum提供专用子类。(I6a6f8)- 为 Compose A2UI 渲染器添加了测试 API。(I59c9f、b/527415570)
- 添加了
A2uiReadinessEvaluator及相关 API。(Ib37d3、b/527415547、b/524122705) - 添加了
A2uiComponentCollection、A2uiFunctionCollection和A2uiCoreComponentDefinitionCollection,并更新了目录 API 以使用新的集合。(I96438、b/527415547) - 添加了
A2uiMessageParser工厂函数。(I8596a、b/524122705) - 添加了
A2uiRuntimeCatalog标记接口,以及androidx.a2ui.compose.ui中的用于定义组件和目录的 API。(Ibea7a、b/527415547、b/524122705) - 已将
androidx.compose.runtime:runtime-a2ui移至androidx.a2ui.compose:compose-runtime。(Ifc7cf、b/524122705)
bug 修复
androidx.lifecycle:lifecycle-runtime依赖项已更新为 2.10.0。如果要在 AGP 9.5.0-alpha04 版或更高版本中运行捆绑的生命周期运行时 lint 检查,则必须使用此版本。(Id18ea、b/556807521)compileSdk针对已更新到 37.1 的 Compose 库。 这需要为使用 Compose 的所有应用和库传递性地更新compileSdk。(I05b0f)- 已将
A2UI Basic Catalog V1中的默认Column水平对齐方式更新为Alignment.Start。Ia1c6db - 已将
A2UI Basic Catalog V1中的默认Row垂直对齐方式更新为Alignment.Top。If0bca4