· 7 min read Posted by Nacho Carrión
Agentic Development on Android
Introduction
With AI and agentic development becoming more and more present in modern mobile development, it can feel like everything is changing faster than our workflows can adapt. While AI can allow us to build entire features in a fraction of the time, we are now facing a different set of challenges. At Android Dev Summit last week, Google shared how it is focusing on improving its tooling and helping developers adapt to the new era of agent-assisted development.
Current challenges
Today’s challenges are no longer just how long it will take to build a new feature, how much test coverage we have, or how long it takes to fix a bug in production. In this new agentic era we find other challenges:
- How can we get the most of our agents while still use the tools we all love
- How to review the code the AI has generated and truly own that feature
- How to adapt our test suite so we can be confident that new features don’t break what is already in production and it adapts to modern agentic features.
- How to adapt our apps for users who rely on AI agents in their daily lives
Tooling
The tools we used before the agentic era are not completely adapted to this new programming paradigm. We identified different challenges we should tackle related to the tools we use:
Improved tooling for our agents
Nowadays one of the challenges is how can we get the most out of our agents but still use the tools we all love. For this, Google included, starting on Android Studio Rabbit 2, the option to choose your preferred coding agent, such as Claude, Codex, Antigravity, and a long list of ACP-compliant agents, directly on Android Studio. This lets us keep working with our favorite agent from within Android Studio. Until now we were locked to use another IDEs or just use CLIs if we wanted to keep using Android Studio, and still we didn’t have access to all the features from Android Studio on our agents. Now being able to run our agents inside Android Studio make it possible to give the agents access to all the features from Android Studio and we keep working on an IDE that we know and have used for many time.
If we still prefer using Antigravity, Claude Code or Codex, Google just announced an improved Android Plugin for Antigravity and also official plugins for Claude Code and Codex.
Agents running and debugging our Apps
Another limitation has been the capability of our agents to run or debug our apps directly on a emulator. It was quite limited until Google released Android CLI, this tool gives complete access to our agents to the emulator. One of the highlights on the Android Dev Summit was the announce of Android Device Streaming, which makes it possible to test devices remotely, powered by Firebase, just using Android CLI. Profiling was also announced as a new feature inside Android CLI. With it our agents have the tools to improve the performance of our apps.
All the highlights from the Android Dev Summit related with Android CLI show how Google identified the importance of this type of tooling for mobile developers and are committed to improving it. Our experience with the Android CLI since it was released has been great and it’s worth including in your agentic workflows.
Agents and the code quality
It has taken time for models to build up context in mobile development, which has made adopting agentic workflows more challenging. That’s something from Google have identified and they focused on including new Android SKILLS in the Android CLI to cover most of the modern Android development topics. Like Navigation3, migrations from XML to Compose, Upgrades to AGP 9, edge-to-edge and so on. All these SKILLS focus on good practices and using the recommended libraries and frameworks. At Android Dev Summit the announced updates to a lot of their previous SKILLS but also new ones covering over 20 of the most important Android areas, giving our agents the needed guidance to accomplish the tasks we ask them, with an overall better code quality.
Agentic experiences
Adding an agent to our apps or even connecting our apps with an external agent was really complicated with the libraries and APIs we had access to. We found that some of the new APIs from Google make building new and better agentic experiences on Android a lot easier.
Android MCP
The AppFunctions Jetpack library lets us expose our apps’ functionality to AI agents on our devices, allowing agents such as Gemini to use our apps to complete tasks users have asked them to do. This opens up a whole new range of possibilities for our apps to better serve users who rely on AI agents in their daily lives. At the time of writing it is in Beta, but Google is clearly focusing heavily on this kind of tooling, and we have no doubt it will reach stable soon.
Native UX for our agents
The new A2UI Jetpack Compose library implements the open A2UI protocol, allowing AI agents to dynamically generate content as native interfaces using JSON. The A2UI Compose library translates the JSON sent by the AI agent into native UI built with Compose. This way, our agents’ responses aren’t limited to simple blocks of text, we give them the tools to create attractive, user-facing interfaces with the performance of native UI. This shows how important a native UX remains in the era of AI agents.
Agentic testing
Today, testing frameworks such as Espresso or UI Automator aren’t suited to testing autonomous agents. This means we need to look for new, non-deterministic ways to test these new agentic features. One approach Google already includes in the Android CLI is the ability to run AI-driven tests, called Journeys. Journeys run tests written in natural language in XML files, which tell the AI agent what actions to perform and what it should verify on screen. At Touchlab, we believe this new way of running AI-driven tests could eventually replace traditional E2E tests based on Espresso or UI Automator, and that it also lets us be more agnostic about how something was implemented and truly test the feature itself. Even so, we expect other tools to appear that address the limitations we currently face when testing agents in our apps.
Other highlights on Agentic development
- Android Intelligence System, with this new system, Android users get prompted and proactive assistance across the Android ecosystem of devices. You can sign up for the Connected Apps Platform and share your app’s services to Android users using Gemini AI agent.
- On-device agents with Gemini Nano 4 using ML Kit APIs. Google announced the expansion of the ML Kit prompt API, including support for Gemini Nano 4 and features like function auto-execution, conversation history, automatic guardrails among other features.
- AppState brings Compose reactive model outside the UI layer, we can now use Compose-first approaches to handle state and reactive data. I still need to see how this turns out, I might be a bit reluctant to leak Compose into my domain or data layers, but can be interesting to see new use cases for this technology.
- Navigation 3 updates like 1.2 bringing deep links support and better predictive back handling.
- New updates in the XR ecosystem. Google announced the launch of XREAL AURA, the first wired XR glasses. Also several important XR libraries and tools reached stable state.
Conclusion
At Touchlab, we’ve run into these same challenges ourselves while working as AI-Native Mobile developers. With the new tools Google is releasing, our workflows have already improved greatly and we’re excited to see where they go next.
In upcoming posts, we’ll take a closer look at the most important additions covered here, with hands-on examples of how we’re using them in our day-to-day work.