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