Google published a post on the Android Developers Blog on September 28, 2026 describing how developers can build autonomous, cloud-hosted agent workflows for Android apps using the Agent Development Kit (ADK) together with the AG-UI and A2UI protocols. The post, written by Jolanda Verhoef, Senior Developer Relations Engineer in Android Developer Relations, is the fifth part of Google's "Build intelligent Android apps" series.
What Google is describing
The post argues that some tasks, such as booking a complete holiday itinerary, are too complex for a single device session, and that running such multi-step processes directly on a phone risks losing progress if the app is closed.
Google's proposed pattern is a custom self-hosted backend that executes booking agents in the background while the Android app connects to the session, visualizes progress and requests user input only when necessary. According to the post, the advantages include background execution, complex multi-agent orchestration with a coordinator agent delegating to subagents, and client-agnostic UI rendering that lets the layout change without releasing a new client version.
Google says it added a Booking Assistant to its Jetpacker sample app that coordinates flights, hotels, museums and restaurant reservations.
The protocol stack
Agents are defined with the Agent Development Kit, which Google says automatically tracks conversation context, routes messages between the user and the model, and executes registered tools when the model requests them. A sample agent in the post is instantiated with the model gemini-3.1-flash-lite and Python function tools, one of which uses require_confirmation=True.
AG-UI handles the transport. The post describes it as "a bidirectional transport layer protocol that standardizes message types between agents and UI clients", with the server emitting Server-Sent Events and an Android Kotlin SDK mapping payloads to type-safe client events such as TextMessageStartEvent and TextMessageContentEvent.
A2UI covers the interface itself: Google says it lets agents describe UI components to render on the client dynamically, with the client declaring a catalog of supported components and the server sending JSON specifying layout and properties. An example payload uses version v0.9 and an InteractiveOptionPicker component. On the server, the A2uiSchemaManager compiles component JSON schemas and layout instructions into the system prompt so the model generates valid payloads.
New Compose libraries
To render component trees natively, the post points developers to what it calls the new Jetpack Compose A2UI Renderer library. The listed Gradle dependencies are androidx.a2ui:a2ui-model, androidx.a2ui.compose:compose-runtime, androidx.a2ui.compose:compose-ui and androidx.compose.material3:material3-a2ui, each at version 1.0.0-alpha01.
Google says the A2uiSurface composable from material3-a2ui automatically handles reactive component state observation, Material 3 loading indicators, error fallbacks and animated transitions between updates. Developers who only need standard elements can use materialA2uiBasicCatalogV1(…) rather than writing custom components, according to the post.
Jetpacker itself implements custom InteractiveOptionPicker, SeatSelectionPicker and BookingStatus components, and Google says the full source code is available on GitHub.
What to do
- Use the Python implementation of the Agent Development Kit if you need A2UI support, according to Google.
- Add the androidx.a2ui, compose-runtime, compose-ui and material3-a2ui dependencies at 1.0.0-alpha01 to render A2UI component trees in Jetpack Compose.
- Keep the backend and mobile client on the same catalog definition ID; Google says that if you add or modify properties on the backend catalog you must increase the version number and update the matching Kotlin component class to prevent parsing errors.
- If your agent only uses standard elements such as text, cards, buttons, rows, columns, checkboxes and date-time pickers, use materialA2uiBasicCatalogV1(…) instead of writing custom components.
- Review the Jetpacker sample source code on GitHub for a full implementation of the booking assistant.
Key facts and where they come from
- The post covers building autonomous in-app agentic workflows that run in the cloud.
In this post, you will learn how to build autonomous in-app agentic workflows running in the cloud.
- Google describes AG-UI as a bidirectional transport protocol standardizing agent-client message types.
AG-UI is a bidirectional transport layer protocol that standardizes message types between agents and UI clients.
- A2UI lets the agent describe UI components for the client to render dynamically.
A2UI allows agents to describe the UI components to render on the client dynamically.
- Google points developers to a new Jetpack Compose A2UI Renderer library.
To render these component trees natively on Android, use the new Jetpack Compose A2UI Renderer library.
- The A2UI Android dependencies listed are at version 1.0.0-alpha01.
implementation("androidx.a2ui:a2ui-model:1.0.0-alpha01")
- The sample flight agent is configured with the gemini-3.1-flash-lite model.
model="gemini-3.1-flash-lite",
- Google recommends the Python version of ADK because it supports A2UI.
ADK supports many different coding languages. For now, use the Python version as it includes support for A2UI
- material3-a2ui offers ready-made Material 3 component implementations.
material3-a2ui also provides materialA2uiBasicCatalogV1(…), giving you ready-to-use Material 3 implementations without writing any custom components.
