Google's Agent Development Kit hits 1.0 for Kotlin, with Android support
Compile-time tool schemas, human-in-the-loop flows and resumable sessions, for teams that build agents in Kotlin.
Google released version 1.0 of its Agent Development Kit for Kotlin on September 9, according to the Google developers blog . It’s a framework for building AI agents in idiomatic Kotlin, aimed at both server-side JVM apps and Android.
If your backend is Kotlin or you’re building agent features into an Android app, this is the first-party option from Google that doesn’t ask you to switch language.
What’s in it
The kit is built on Kotlin Multiplatform and stays agnostic about which model backend or session provider you use. Google lists these capabilities:
- Hierarchical multi-agent orchestration and task delegation
- Context compaction for long, multi-turn conversations
- Human-in-the-loop workflows with confirmation flows
- Sessions that survive a restart
- Skill-based toolsets with progressive disclosure
- First-party Java interoperability
On Android, there are extensions for Room, AppSearch and Firebase AI.
Tools as annotated functions
The piece that stands out for day-to-day work is how tools are defined. Instead of hand-writing a JSON schema, you annotate a function, and the schema is generated at compile time with Kotlin Symbol Processing (KSP). Google’s example, from an incident-response agent:
@Tool
suspend fun getServiceMetrics(
@Param("Target service or database cluster") serviceName: String,
@Param("Time window in minutes") windowMinutes: Int? = 15,
): ServiceMetrics
Google’s pitch is zero-reflection function calling, so the work happens when you build, not at runtime. That matters on Android, where reflection costs startup time and complicates code shrinking.
The @Param descriptions aren’t decoration. The model reads them when deciding how to call the tool, so write them like instructions: what the argument means and what a good value looks like.
Adding it
Two dependencies, the core library and the KSP processor:
implementation("com.google.adk:google-adk-kotlin-core:1.0.0")
ksp("com.google.adk:google-adk-kotlin-processor:1.0.0")
What to check before you commit
The announcement lists no limitations, which for a 1.0 release is a reason to read the docs and issue tracker, not a clean bill of health. A few things worth testing early.
Confirmation flows. If an agent can take actions, such as restarting a database cluster in Google’s example, check that the human-in-the-loop step is enforced in code and not left to the prompt.
Session resumability across restarts. Test it with an in-flight tool call, since that’s the case that usually breaks.
Model swaps. The framework claims to be backend-agnostic. Run the same agent against two models and see whether the tool calls still parse the same way.
Next step: pick one read-only tool in your service, annotate it, and see what the generated schema looks like before you give an agent anything that can change state.